summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/apbirthday/robot.cc
diff options
context:
space:
mode:
authorNicolas Schodet2013-04-05 23:43:18 +0200
committerNicolas Schodet2013-04-05 23:43:18 +0200
commit3d9a5e6ff6d98f9dc09b123918755f0f7711a6c7 (patch)
treedd5201cffa241cbe9fe5c43acd42d1d28e4ad4f4 /digital/io-hub/src/apbirthday/robot.cc
parentfa22e3f3204043504669f960ab3c33340f23b0d3 (diff)
digital/io-hub/src/apbirthday: use transient command for beacon
Also reorder beacon function calls in main loop.
Diffstat (limited to 'digital/io-hub/src/apbirthday/robot.cc')
-rw-r--r--digital/io-hub/src/apbirthday/robot.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/digital/io-hub/src/apbirthday/robot.cc b/digital/io-hub/src/apbirthday/robot.cc
index 4b822f1a..ca9d6a64 100644
--- a/digital/io-hub/src/apbirthday/robot.cc
+++ b/digital/io-hub/src/apbirthday/robot.cc
@@ -112,24 +112,21 @@ Robot::main_loop ()
// Wait until next cycle.
hardware.wait ();
// Update IO modules.
- if (zb_i2c_queue_.sync ())
- {
- Position robot_pos;
- asserv.get_position (robot_pos);
- beacon.send_position (robot_pos.v);
- }
- if (usdist_control_.update ())
- {
- Position robot_pos;
- asserv.get_position (robot_pos);
- radar_.update (robot_pos, obstacles);
- }
obstacles.update ();
pressure.update ();
jack.update ();
outputs_set_.update ();
// Handle communications.
bool sync = main_i2c_queue_.sync ();
+ zb_i2c_queue_.sync ();
+ Position robot_pos;
+ asserv.get_position (robot_pos);
+ beacon.send_position (robot_pos.v);
+ // Look for obstacles.
+ if (usdist_control_.update ())
+ {
+ radar_.update (robot_pos, obstacles);
+ }
// Handle events if synchronised.
if (sync && fsm_debug_state_ != FSM_DEBUG_STOP)
{