summaryrefslogtreecommitdiff
path: root/usb-i2c-sl018
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@wirdorange.org>2013-02-06 22:40:13 +0000
committerOthmar Gsenger <otti@wirdorange.org>2013-02-06 22:40:13 +0000
commit45a7036901bb87e4229ea5f808ba18c168b6acee (patch)
tree568e01682ff563c1eaa3428e702b49b54300aee4 /usb-i2c-sl018
parentmoved ill-named usb-serial to lib/anyio (diff)
basic statemachine
git-svn-id: https://svn.spreadspace.org/avr/trunk@142 aa12f405-d877-488e-9caf-2d797e2a1cc7
Diffstat (limited to 'usb-i2c-sl018')
-rw-r--r--usb-i2c-sl018/statemachine.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/usb-i2c-sl018/statemachine.c b/usb-i2c-sl018/statemachine.c
index ac88ec5..a5d3003 100644
--- a/usb-i2c-sl018/statemachine.c
+++ b/usb-i2c-sl018/statemachine.c
@@ -24,9 +24,28 @@
#include "statemachine.h"
#include "stepper.h"
-enum {reset, closed, closing, open, opening, timeout_after_open, timeout_after_close, error, manual_movement} state = reset;
+typedef enum state_enum {reset, closed, closing, open, opening, timeout_after_open, timeout_after_close, error, manual_movement} state_t;
+state_t state = reset;
void statemachine_task(void)
{
}
+
+void change_state(state_t new_state)
+{
+ switch(new_state) {
+ case reset:
+ break;
+ case closed:
+ case closing:
+ case open:
+ case opening:
+ case timeout_after_open:
+ case timeout_after_close:
+ case error:
+ case manual_movement:
+ break;
+ }
+ state = new_state;
+}