summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
authorOlivier Lanneluc2013-04-27 00:11:52 +0200
committerNicolas Schodet2013-05-03 23:07:12 +0200
commitf88f77c4e9d24992a2b21c2e7378879c989f9578 (patch)
treef665a8fae3e514d465a96337d8a15f2a8faae0f1 /digital
parentdb5b710341a0780aadc432f590b78964c021942c (diff)
digital/io-hub/src/common-cc: add simulation path report
Diffstat (limited to 'digital')
-rw-r--r--digital/io-hub/src/common-cc/simu_report.host.cc10
-rw-r--r--digital/io-hub/src/common-cc/simu_report.host.hh3
2 files changed, 13 insertions, 0 deletions
diff --git a/digital/io-hub/src/common-cc/simu_report.host.cc b/digital/io-hub/src/common-cc/simu_report.host.cc
index 2a3f98fd..e28df533 100644
--- a/digital/io-hub/src/common-cc/simu_report.host.cc
+++ b/digital/io-hub/src/common-cc/simu_report.host.cc
@@ -28,6 +28,7 @@ SimuReport::SimuReport (ucoo::Host &host)
{
std::string instance (host.get_instance ());
pos_mtype_ = node_.reserve (instance + ":pos-report");
+ path_mtype_ = node_.reserve (instance + ":path");
}
void
@@ -40,3 +41,12 @@ SimuReport::pos (vect_t *pos, int pos_nb, uint8_t id)
node_.send (msg);
}
+void
+SimuReport::path (const vect_t *pos, int pos_nb)
+{
+ ucoo::mex::Msg msg (path_mtype_);
+ for (; pos_nb; pos++, pos_nb--)
+ msg.push ("hh") << pos->x << pos->y;
+ node_.send (msg);
+}
+
diff --git a/digital/io-hub/src/common-cc/simu_report.host.hh b/digital/io-hub/src/common-cc/simu_report.host.hh
index 8e8929ad..eaf50281 100644
--- a/digital/io-hub/src/common-cc/simu_report.host.hh
+++ b/digital/io-hub/src/common-cc/simu_report.host.hh
@@ -34,9 +34,12 @@ class SimuReport
SimuReport (ucoo::Host &host);
/// Report positions.
void pos (vect_t *pos, int pos_nb, uint8_t id);
+ /// Report path.
+ void path (const vect_t *pos, int pos_nb);
private:
ucoo::mex::Node &node_;
ucoo::mex::mtype_t pos_mtype_;
+ ucoo::mex::mtype_t path_mtype_;
};
#endif // simu_report_host_hh