summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
+}