summaryrefslogtreecommitdiff
path: root/usb-i2c-sl018
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@wirdorange.org>2013-02-07 00:20:20 +0000
committerOthmar Gsenger <otti@wirdorange.org>2013-02-07 00:20:20 +0000
commita1139fad5fc011f8a604c6fa527163dded7ac645 (patch)
treea35b3dea0af47041c18d220da69489251fd79f53 /usb-i2c-sl018
parentfixed opening/closed limits (diff)
motor controll + bugfix
git-svn-id: https://svn.spreadspace.org/avr/trunk@159 aa12f405-d877-488e-9caf-2d797e2a1cc7
Diffstat (limited to 'usb-i2c-sl018')
-rw-r--r--usb-i2c-sl018/statemachine.c18
1 files 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);