From 45a7036901bb87e4229ea5f808ba18c168b6acee Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Wed, 6 Feb 2013 22:40:13 +0000 Subject: basic statemachine git-svn-id: https://svn.spreadspace.org/avr/trunk@142 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- usb-i2c-sl018/statemachine.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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; +} -- cgit v1.2.3