summaryrefslogtreecommitdiff
path: root/digital/io/src/filterbridge.fsm
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/filterbridge.fsm')
-rw-r--r--digital/io/src/filterbridge.fsm26
1 files changed, 9 insertions, 17 deletions
diff --git a/digital/io/src/filterbridge.fsm b/digital/io/src/filterbridge.fsm
index 324314b7..d1495abe 100644
--- a/digital/io/src/filterbridge.fsm
+++ b/digital/io/src/filterbridge.fsm
@@ -9,14 +9,12 @@ States:
waiting for a new puck
CLOSE_FIRST_DOOR
isolating the firt puck on the bridge
- WAIT_RGB_IDENT
+ WAIT_RGB_PROBE
waiting for RGB probe the first puck
EJECT_PUCK
eject a bad puck
RETURN_NORMAL_POS
move the bridge to his normal position
- BLAH
- useless states
OPEN_SECOND_DOOR
open and free the puck to the lift
CLOSE_SECOND_DOOR
@@ -31,20 +29,18 @@ Events:
a puck has been detected on bridge's position 2
first_door_closed
the first door is closed
- bad_color
- the RGB had probed the puck and it is bad
no_puck_on_pos2
there is no puck on position 2
bridge_in_position
bridge is in his normal position
- good_color
- the RGB had probed the puck and it is good (and ready to listening horrible lift music)
second_door_closed
you shall not pass to the lift
first_door_opened
bridge ready to test a new puck
puck_ejected
the ejection procedure is completed
+ color_probed
+ the result of the investigation will be revealed (suspens!!)
IDLE:
@@ -56,13 +52,13 @@ WAIT_A_PUCK:
close the first door after a puck is ready for filtering
CLOSE_FIRST_DOOR:
- first_door_closed -> WAIT_RGB_IDENT
+ first_door_closed -> WAIT_RGB_PROBE
get puck color
-WAIT_RGB_IDENT:
- bad_color -> EJECT_PUCK
+WAIT_RGB_PROBE:
+ color_probed: bad_color -> EJECT_PUCK
eject bad PUCK
- good_color -> OPEN_SECOND_DOOR
+ color_probed: good_color -> OPEN_SECOND_DOOR
put puck to the lift
EJECT_PUCK:
@@ -70,13 +66,9 @@ EJECT_PUCK:
put bridge on normal position after puck ejection
RETURN_NORMAL_POS:
- bridge_in_position -> BLAH
- ready for a new puck test (unless bad puck is here yet)
-
-BLAH:
- puck_on_pos2 -> EJECT_PUCK
+ bridge_in_position: puck_still_here -> EJECT_PUCK
re-eject this sticky puck, grml!
- no_puck_on_pos2 -> OPEN_FIRST_DOOR
+ bridge_in_position: no_puck_anymore -> OPEN_FIRST_DOOR
make bridge ready to test a new puck
OPEN_SECOND_DOOR: