summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/hola.fsm
blob: ca21949170b1df8259edcac64b503be3af66df1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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