diff options
Diffstat (limited to 'tuer-rfid/statemachine.dot')
-rw-r--r-- | tuer-rfid/statemachine.dot | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tuer-rfid/statemachine.dot b/tuer-rfid/statemachine.dot new file mode 100644 index 0000000..d581de8 --- /dev/null +++ b/tuer-rfid/statemachine.dot @@ -0,0 +1,45 @@ +digraph G { + reset [shape=box]; + toggle [shape=diamond]; + btn_toggle [shape=diamond]; + cmd_toggle [shape=diamond]; + card [shape=diamond]; + card ->toggle; + btn_toggle ->toggle; + cmd_toggle ->toggle; + all_states [shape=box]; + opened [shape=box]; + closed [shape=box]; + opening [shape=box]; + closing [shape=box]; + timeout_after_open [shape=box]; + timeout_after_close [shape=box]; + manual_movement [shape=box]; + error [shape=box]; + reset -> closed [label="limit_closed"]; + reset -> closing [label="limit_none"]; + reset -> opened [label="limit_opened"]; + error -> closed [label="limit_closed"]; + error -> opened [label="limit_opened"]; + error -> manual_movement [label="limit_none"]; + manual_movement -> opening [label="cmd_open"]; + manual_movement -> closing [label="cmd_close"]; + manual_movement -> closing [label="toggle"]; + opened -> closing [label="cmd_close"]; + opened -> closing [label="toggle"]; + closed -> opening [label="cmd_open"]; + closed -> opening [label="toggle"]; + opening -> opened [label="open_fin"]; + closing -> closed [label="close_fin"]; + closing -> timeout_after_close [label="timeout"]; + opening -> timeout_after_open [label="timeout"]; + timeout_after_open -> closing [label="cmd_close"]; + timeout_after_open -> closing [label="toggle"]; + timeout_after_open -> opened [label="limit_open"]; + timeout_after_open -> closed [label="limit_close"]; + timeout_after_close -> opening [label="cmd_open"]; + timeout_after_close -> opening [label="toggle"]; + timeout_after_close -> opened [label="limit_open"]; + timeout_after_close -> closed [label="limit_close"]; + all_states -> error [label="limit_both"]; +} |