projects
/
svn42.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ajar-state: boolean vs. byte
[svn42.git]
/
firmware
/
tuer.pde
diff --git
a/firmware/tuer.pde
b/firmware/tuer.pde
index
cd4b576
..
3813e00
100644
(file)
--- a/
firmware/tuer.pde
+++ b/
firmware/tuer.pde
@@
-21,6
+21,9
@@
byte next_led = 0;
#define LIMIT_CLOSED_PIN 19 // A5: limit switch for close
#define AJAR_PIN 14 // input pin for reed relais (door ajar/shut)
#define LIMIT_CLOSED_PIN 19 // A5: limit switch for close
#define AJAR_PIN 14 // input pin for reed relais (door ajar/shut)
+#define SHUT 0
+#define AJAR 1
+byte ajar_last_state = SHUT;
#define MANUAL_OPEN_PIN 12 // keys for manual open and close
#define MANUAL_CLOSE_PIN 13 //
#define MANUAL_OPEN_PIN 12 // keys for manual open and close
#define MANUAL_CLOSE_PIN 13 //
@@
-79,18
+82,19
@@
boolean is_closed()
//**********//
//**********//
-void init_ajar()
+byte get_ajar_status()
{
{
- pinMode(AJAR_PIN, INPUT); // set pin to input
- digitalWrite(AJAR_PIN, HIGH); // turn on pullup resistors
+ if(digitalRead(AJAR_PIN) == LOW)
+ return SHUT;
+
+ return AJAR;
}
}
-boolean get_ajar_status() // shut = true, ajar = false
+void init_ajar()
{
{
- if(digitalRead(AJAR_PIN))
- return false;
-
- return true;
+ pinMode(AJAR_PIN, INPUT); // set pin to input
+ digitalWrite(AJAR_PIN, HIGH); // turn on pullup resistors
+ ajar_last_state = get_ajar_status();
}
//**********//
}
//**********//
@@
-388,7
+392,7
@@
ISR(TIMER1_COMPA_vect)
else if(is_closed())
Serial.print("closed");
Serial.print(", idle");
else if(is_closed())
Serial.print("closed");
Serial.print(", idle");
- if(get_ajar_status())
+ if(get_ajar_status() == SHUT)
Serial.println(", shut");
else
Serial.println(", ajar");
Serial.println(", shut");
else
Serial.println(", ajar");
@@
-521,7
+525,7
@@
void print_status()
case WAIT: Serial.print(", waiting"); break;
default: Serial.print(", <undefined state>"); break;
}
case WAIT: Serial.print(", waiting"); break;
default: Serial.print(", <undefined state>"); break;
}
- if(get_ajar_status())
+ if(get_ajar_status() == SHUT)
Serial.println(", shut");
else
Serial.println(", ajar");
Serial.println(", shut");
else
Serial.println(", ajar");
@@
-611,7
+615,7
@@
void loop()
Serial.println("close forced manually");
start_close();
}
Serial.println("close forced manually");
start_close();
}
- if (current_state == IDLE) {
+ if(current_state == IDLE) {
if(is_opened()) {
leds_green();
PORTD = LEDS_ON;
if(is_opened()) {
leds_green();
PORTD = LEDS_ON;
@@
-621,4
+625,10
@@
void loop()
PORTD = LEDS_ON;
}
}
PORTD = LEDS_ON;
}
}
+ byte a = get_ajar_status();
+ if(a != ajar_last_state)
+ {
+ print_status();
+ ajar_last_state = a;
+ }
}
}