projects
/
svn42.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed log target
[svn42.git]
/
firmware
/
tuer.pde
diff --git
a/firmware/tuer.pde
b/firmware/tuer.pde
index
7b2b4a0
..
6c966a2
100644
(file)
--- a/
firmware/tuer.pde
+++ b/
firmware/tuer.pde
@@
-38,6
+38,7
@@
int debounce_cnt = 0;
#define CMD_OPEN 'o'
#define CMD_CLOSE 'c'
#define CMD_OPEN 'o'
#define CMD_CLOSE 'c'
+#define CMD_TOGGLE 't'
#define CMD_STATUS 's'
#define CMD_RESET 'r'
#define CMD_STATUS 's'
#define CMD_RESET 'r'
@@
-359,6
+360,12
@@
ISR(TIMER1_COMPA_vect)
stop_timer();
reset_stepper();
current_state = IDLE;
stop_timer();
reset_stepper();
current_state = IDLE;
+ Serial.print("Status: ");
+ if(is_opened())
+ Serial.print("opened");
+ else if(is_closed())
+ Serial.print("closed");
+ Serial.println(", idle");
return;
}
else if(current_state == ERROR) {
return;
}
else if(current_state == ERROR) {
@@
-548,16
+555,27
@@
void loop()
else
Serial.println("Error: Operation in progress");
}
else
Serial.println("Error: Operation in progress");
}
+ else if (command == CMD_TOGGLE) {
+ if(current_state == IDLE) {
+ if(is_closed())
+ start_open();
+ else
+ start_close();
+ Serial.println("Ok");
+ }
+ else
+ Serial.println("Error: Operation in progress");
+ }
else if (command == CMD_STATUS)
print_status();
else
Serial.println("Error: unknown command");
}
else if (command == CMD_STATUS)
print_status();
else
Serial.println("Error: unknown command");
}
- if(manual_open() && !is_opened() && current_state == IDLE) {
+ if(manual_open() && !is_opened() && (current_state == IDLE || current_state == ERROR)) {
Serial.println("open forced manually");
start_open();
}
Serial.println("open forced manually");
start_open();
}
- if(manual_close() && !is_closed() && current_state == IDLE) {
+ if(manual_close() && !is_closed() && (current_state == IDLE || current_state == ERROR)) {
Serial.println("close forced manually");
start_close();
}
Serial.println("close forced manually");
start_close();
}