Express range check differently
This commit is contained in:
parent
aaab790f81
commit
ad97be1295
1 changed files with 4 additions and 4 deletions
|
@ -20,7 +20,7 @@ void setup(){
|
||||||
|
|
||||||
const int DELAY_TIME = 1000;
|
const int DELAY_TIME = 1000;
|
||||||
const int MAX_COUNTER = 20;
|
const int MAX_COUNTER = 20;
|
||||||
const int LOWER_THRESHOLD = 3;
|
const int LOWER_THRESHOLD = 4;
|
||||||
const int UPPER_THRESHOLD = MAX_COUNTER - LOWER_THRESHOLD;
|
const int UPPER_THRESHOLD = MAX_COUNTER - LOWER_THRESHOLD;
|
||||||
const int CLOSED_DOOR = 1;
|
const int CLOSED_DOOR = 1;
|
||||||
const int OPEN_DOOR = 0;
|
const int OPEN_DOOR = 0;
|
||||||
|
@ -46,9 +46,9 @@ void update_measured_state_counter() {
|
||||||
void update_published_state() {
|
void update_published_state() {
|
||||||
// status check if we can switch the status.
|
// status check if we can switch the status.
|
||||||
// low pass prevents waggling a bit
|
// low pass prevents waggling a bit
|
||||||
if (measured_state_counter >= UPPER_THRESHOLD) {
|
if (measured_state_counter > UPPER_THRESHOLD) {
|
||||||
published_state = CLOSED_DOOR;
|
published_state = CLOSED_DOOR;
|
||||||
} else if (measured_state_counter <= LOWER_THRESHOLD) {
|
} else if (measured_state_counter < LOWER_THRESHOLD) {
|
||||||
published_state = OPEN_DOOR;
|
published_state = OPEN_DOOR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ void update_led_pins() {
|
||||||
digitalWrite(GREEN_LED_OUTPUT_PIN, HIGH);
|
digitalWrite(GREEN_LED_OUTPUT_PIN, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (measured_state_counter > LOWER_THRESHOLD && measured_state_counter < UPPER_THRESHOLD) {
|
if (measured_state_counter == constrain(measured_state_counter, LOWER_THRESHOLD, UPPER_THRESHOLD)) {
|
||||||
digitalWrite(YELLOW_LED_OUTPUT_PIN, HIGH);
|
digitalWrite(YELLOW_LED_OUTPUT_PIN, HIGH);
|
||||||
} else {
|
} else {
|
||||||
digitalWrite(YELLOW_LED_OUTPUT_PIN, LOW);
|
digitalWrite(YELLOW_LED_OUTPUT_PIN, LOW);
|
||||||
|
|
Reference in a new issue