diff options
Diffstat (limited to 'usb-i2c-sl018/statemachine.dot')
-rw-r--r-- | usb-i2c-sl018/statemachine.dot | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/usb-i2c-sl018/statemachine.dot b/usb-i2c-sl018/statemachine.dot new file mode 100644 index 0000000..cff0df1 --- /dev/null +++ b/usb-i2c-sl018/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="limit_open"]; + closing -> closed [label="limit_close"]; + 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"]; +} |