summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/hola.fsm
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/hola.fsm')
-rw-r--r--digital/io/src/hola.fsm59
1 files changed, 59 insertions, 0 deletions
diff --git a/digital/io/src/hola.fsm b/digital/io/src/hola.fsm
new file mode 100644
index 00000000..ca219491
--- /dev/null
+++ b/digital/io/src/hola.fsm
@@ -0,0 +1,59 @@
+# Hola FSM
+hola
+ entertain people
+
+States:
+ *HOLA_IDLE
+ waiting start
+ HOLA_WAIT_HOLA
+ wait hola signal
+ HOLA_WAIT_JACK_IN
+ wait until the jack is inserted for the first time
+ HOLA_WAIT_JACK_OUT
+ wait until the jack is removed to initialise robot
+ HOLA_ROUNDS
+ moving clamps in rounds
+ HOLA_UP
+ moving clamp up
+ HOLA_CENTER
+ HOLA_CLAP_CLOSE
+ HOLA_CLAP_OPEN
+
+Events:
+ hola_start
+ start hola
+
+HOLA_IDLE:
+ start -> HOLA_WAIT_HOLA
+
+HOLA_WAIT_HOLA:
+ hola_start -> HOLA_WAIT_JACK_IN
+
+HOLA_WAIT_JACK_IN:
+ jack_inserted_into_bot -> HOLA_WAIT_JACK_OUT
+
+HOLA_WAIT_JACK_OUT:
+ jack_removed_from_bot -> HOLA_ROUNDS
+
+HOLA_ROUNDS:
+ asserv_last_cmd_ack: no_timeout -> .
+ move clamp rounds
+ asserv_last_cmd_ack: timeout -> HOLA_UP
+ move up
+ rotate
+
+HOLA_UP:
+ bot_move_succeed -> HOLA_CENTER
+ rotate to center
+
+HOLA_CENTER:
+ bot_move_succeed -> HOLA_CLAP_CLOSE
+ close clamp
+
+HOLA_CLAP_CLOSE:
+ clamp_succeed -> HOLA_CLAP_OPEN
+ open clamp
+
+HOLA_CLAP_OPEN:
+ clamp_succeed -> HOLA_CLAP_CLOSE
+ close clamp