summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/top.fsm
blob: f26468fc7b8caad662a5985e523aa4052e11f410 (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
# Top FSM.
top
  Main FSM calling other FSM.

States:
 IDLE
  waiting for the beginning of the top FSM
 WAIT_JACK_IN
  waiting for the jack to be inserted into the bot
 WAIT_JACK_OUT
  waiting for the jack to be removed from the bot
 GET_PUCK_FROM_THE_GROUND
  get some pucks from the ground
 GET_PUCK_FROM_DISTRIBUTOR
  get some pucks from the distributor


Events:
 start
  initialize the FSM
 move_fsm_finished
  when the move FSM returns
 jack_inserted_into_bot
  the jack is inserted into the bot
 jack_removed_from_bot
  the jack is removed from the bot
 state_timeout
  timeout in cycle count
 asserv_last_cmd_ack
  last command sent to the asserv board has been acquitted

IDLE:
 start -> WAIT_JACK_IN
  nothing to do.

WAIT_JACK_IN:
 jack_inserted_into_bot -> WAIT_JACK_OUT
  configure the asserv board.

WAIT_JACK_OUT:
 jack_removed_from_bot -> GET_PUCK_FROM_THE_GROUND
  the match start, start the chronometer