From a1139fad5fc011f8a604c6fa527163dded7ac645 Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Thu, 7 Feb 2013 00:20:20 +0000 Subject: motor controll + bugfix git-svn-id: https://svn.spreadspace.org/avr/trunk@159 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- usb-i2c-sl018/statemachine.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/usb-i2c-sl018/statemachine.c b/usb-i2c-sl018/statemachine.c index 4ed9a11..037eee2 100644 --- a/usb-i2c-sl018/statemachine.c +++ b/usb-i2c-sl018/statemachine.c @@ -41,9 +41,15 @@ void change_state(state_t new_state) case reset: break; case closed: ledmatrix(red); break; - case closing: ledmatrix(red_moving); break; + case closing: + ledmatrix(red_moving); + start_stepper(dir_close); + break; case opened: ledmatrix(green); break; - case opening: ledmatrix(green_moving); break; + case opening: + ledmatrix(green_moving); + start_stepper(dir_open); + break; case timeout_after_open: ledmatrix(green_blink); break; case timeout_after_close: ledmatrix(red_blink); break; case error: ledmatrix(rg_blink); break; @@ -83,6 +89,14 @@ void statemachine_task_limits(void) case manual_movement: case timeout_after_open: case timeout_after_close: + switch(limits) { + case open: + return change_state(opened); + case close: + return change_state(closed); + default: + return; + } case closing: if(limits == close) return change_state(closed); -- cgit v1.2.3