summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/common-cc/asserv.cc
diff options
context:
space:
mode:
authorNicolas Schodet2013-04-08 22:14:52 +0200
committerNicolas Schodet2013-04-10 00:43:00 +0200
commitbbd0d642484b2865b8290e70e5b7c4ba45a41856 (patch)
treed405f4fb211c6986da45213e6a643d3e7729aa36 /digital/io-hub/src/common-cc/asserv.cc
parentbcaf3117b0e0c7c4dc8bf5442637d2639a92989a (diff)
digital/io-hub/src/apbirthday: change Asserv::get_position syntax
Diffstat (limited to 'digital/io-hub/src/common-cc/asserv.cc')
-rw-r--r--digital/io-hub/src/common-cc/asserv.cc20
1 files changed, 8 insertions, 12 deletions
diff --git a/digital/io-hub/src/common-cc/asserv.cc b/digital/io-hub/src/common-cc/asserv.cc
index 505c2a6a..acffda99 100644
--- a/digital/io-hub/src/common-cc/asserv.cc
+++ b/digital/io-hub/src/common-cc/asserv.cc
@@ -29,10 +29,12 @@ Asserv::Asserv (I2cQueue &queue, float scale)
: I2cQueue::Slave (queue, 0x04, 10 + aux_nb * 2),
status_flag_ (0),
input_port_ (0),
- position_x_ (0), position_y_ (0), position_a_ (0),
last_moving_direction_ (DIRECTION_NONE),
scale_ (scale), scale_inv_ (1 / scale)
{
+ position_.v.x = 0;
+ position_.v.y = 0;
+ position_.a = 0;
}
void
@@ -40,23 +42,17 @@ Asserv::recv_status (const uint8_t *status)
{
status_flag_ = status[0];
input_port_ = status[1];
- position_x_ = ucoo::bytes_pack (0, status[2], status[3], status[4]);
- position_y_ = ucoo::bytes_pack (0, status[5], status[6], status[7]);
- position_a_ = ucoo::bytes_pack (status[8], status[9]);
+ position_.v.x = ucoo::bytes_pack (0, status[2], status[3], status[4])
+ * scale_;
+ position_.v.y = ucoo::bytes_pack (0, status[5], status[6], status[7])
+ * scale_;
+ position_.a = ucoo::bytes_pack (status[8], status[9]);
Direction d = get_moving_direction ();
if (d != DIRECTION_NONE)
last_moving_direction_ = d;
}
void
-Asserv::get_position (Position &position) const
-{
- position.v.x = position_x_ * scale_;
- position.v.y = position_y_ * scale_;
- position.a = position_a_;
-}
-
-void
Asserv::free ()
{
uint8_t buf[] = { 'w' };