summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-15 16:00:05 +0200
committerNicolas Schodet2012-05-15 16:05:05 +0200
commitb1959555b08160d906e8514ed2db1c6fd56a8582 (patch)
tree94607da6a00dde6469452b529a99d180666b63f0
parent6dc392367d3d7c647ad48c66d0a90ac97127a50f (diff)
digital/io-hub/src/guybrush: add global demo mode flag
-rw-r--r--digital/io-hub/src/guybrush/bottom_clamp.c2
-rw-r--r--digital/io-hub/src/guybrush/main.c3
-rw-r--r--digital/io-hub/src/guybrush/main.h2
-rw-r--r--digital/io-hub/src/guybrush/top.c2
4 files changed, 8 insertions, 1 deletions
diff --git a/digital/io-hub/src/guybrush/bottom_clamp.c b/digital/io-hub/src/guybrush/bottom_clamp.c
index f23d929d..0fb1e24b 100644
--- a/digital/io-hub/src/guybrush/bottom_clamp.c
+++ b/digital/io-hub/src/guybrush/bottom_clamp.c
@@ -304,7 +304,7 @@ FSM_TRANS (CLAMP_INIT_HIDE_CLAMP, lower_clamp_rotation_success,
demo_start,CLAMP_GOING_IDLE)
{
/*Looking if we are in demo mode or normal mode*/
- if (IO_GET(CONTACT_STRAT))
+ if (!main_demo)
return FSM_NEXT (CLAMP_INIT_HIDE_CLAMP,lower_clamp_rotation_success,normal_start);
else
return FSM_NEXT (CLAMP_INIT_HIDE_CLAMP,lower_clamp_rotation_success,demo_start);
diff --git a/digital/io-hub/src/guybrush/main.c b/digital/io-hub/src/guybrush/main.c
index 797d83f6..be551e9a 100644
--- a/digital/io-hub/src/guybrush/main.c
+++ b/digital/io-hub/src/guybrush/main.c
@@ -72,6 +72,9 @@ vect_t main_obstacles_pos[2];
/** Number of obstacles in main_obstacles_pos. */
uint8_t main_obstacles_nb;
+/** Global demo mode flag. */
+uint8_t main_demo;
+
/** FSM debug mode. */
enum
{
diff --git a/digital/io-hub/src/guybrush/main.h b/digital/io-hub/src/guybrush/main.h
index 1be4d3c7..e4af6747 100644
--- a/digital/io-hub/src/guybrush/main.h
+++ b/digital/io-hub/src/guybrush/main.h
@@ -27,6 +27,8 @@
extern vect_t main_obstacles_pos[2];
extern uint8_t main_obstacles_nb;
+extern uint8_t main_demo;
+
void main_set_drop_coin_pos(int);
#endif /* main_h */
diff --git a/digital/io-hub/src/guybrush/top.c b/digital/io-hub/src/guybrush/top.c
index ffd96767..28ca6dd0 100644
--- a/digital/io-hub/src/guybrush/top.c
+++ b/digital/io-hub/src/guybrush/top.c
@@ -32,6 +32,7 @@
#define FSM_NAME AI
#include "fsm.h"
+#include "main.h"
#include "move.h"
#include "chrono.h"
#include "contact.h"
@@ -203,6 +204,7 @@ top_decision (void)
FSM_TRANS (TOP_START, init_actuators, TOP_INIT_DOOR)
{
+ main_demo = !IO_GET (CONTACT_STRAT);
IO_SET (OUTPUT_DOOR_OPEN);
IO_CLR (OUTPUT_DOOR_CLOSE);
return FSM_NEXT (TOP_START, init_actuators);