summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@wirdorange.org>2013-02-06 19:33:44 +0000
committerOthmar Gsenger <otti@wirdorange.org>2013-02-06 19:33:44 +0000
commit7b3f19fdd6aa46c9c2f79022785f09954504b679 (patch)
tree05452d780360b45a946cef63a6e55fb60f706cfb
parentremoved dos linebreaks (diff)
added state machine graph
git-svn-id: https://svn.spreadspace.org/avr/trunk@132 aa12f405-d877-488e-9caf-2d797e2a1cc7
-rw-r--r--usb-i2c-sl018/statemachine.dot45
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"];
+}