summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-15 16:17:01 +0200
committerNicolas Schodet2012-05-15 20:46:42 +0200
commitb7aa3022e1db1e38f0ee9f7128547fdbc78e9ee0 (patch)
tree8201ac14e0af0165221fee3202ddc79d501d093d
parent0fab16113e29d0de600465f7514af16e6a8d69e7 (diff)
digital/io-hub/src/guybrush: disable US sensors when waiting for jack
-rw-r--r--digital/io-hub/src/guybrush/main.c6
-rw-r--r--digital/io-hub/src/guybrush/main.h1
-rw-r--r--digital/io-hub/src/guybrush/top.c1
3 files changed, 7 insertions, 1 deletions
diff --git a/digital/io-hub/src/guybrush/main.c b/digital/io-hub/src/guybrush/main.c
index be551e9a..63366c13 100644
--- a/digital/io-hub/src/guybrush/main.c
+++ b/digital/io-hub/src/guybrush/main.c
@@ -75,6 +75,10 @@ uint8_t main_obstacles_nb;
/** Global demo mode flag. */
uint8_t main_demo;
+/** Global US distance sensor activation flag. Warning: US sensors can not be
+ * deactivated once activated or you will get outdated values. */
+uint8_t main_usdist;
+
/** FSM debug mode. */
enum
{
@@ -242,7 +246,7 @@ main_loop (void)
proto_accept (uart0_getc ());
/* Update IO modules. */
contact_update ();
- if (usdist_update ())
+ if ((main_demo || main_usdist) && usdist_update ())
{
position_t robot_pos;
asserv_get_position (&robot_pos);
diff --git a/digital/io-hub/src/guybrush/main.h b/digital/io-hub/src/guybrush/main.h
index e4af6747..6da48587 100644
--- a/digital/io-hub/src/guybrush/main.h
+++ b/digital/io-hub/src/guybrush/main.h
@@ -28,6 +28,7 @@
extern vect_t main_obstacles_pos[2];
extern uint8_t main_obstacles_nb;
extern uint8_t main_demo;
+extern uint8_t main_usdist;
void main_set_drop_coin_pos(int);
diff --git a/digital/io-hub/src/guybrush/top.c b/digital/io-hub/src/guybrush/top.c
index 28ca6dd0..869721b3 100644
--- a/digital/io-hub/src/guybrush/top.c
+++ b/digital/io-hub/src/guybrush/top.c
@@ -223,6 +223,7 @@ FSM_TRANS (TOP_INIT, init_start_round,
unload, TOP_UNLOAD_GOING)
{
strat_init ();
+ main_usdist = 1;
RETURN_TOP_DECISION_SWITCH (TOP_INIT, init_start_round);
}