diff options
Diffstat (limited to 'usb-i2c-sl018/statemachine.c')
-rw-r--r-- | usb-i2c-sl018/statemachine.c | 21 |
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; +} |