From cea173f0fa8d1c84ed7a0f5f31edb5e5ff627103 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 9 Nov 2015 02:06:53 +0100 Subject: [PATCH] added: only signal authentication failed if denied 3 times in a row --- bitlair_doorduino/bitlair_doorduino.ino | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/bitlair_doorduino/bitlair_doorduino.ino b/bitlair_doorduino/bitlair_doorduino.ino index 4e504bd..d58e1c0 100644 --- a/bitlair_doorduino/bitlair_doorduino.ino +++ b/bitlair_doorduino/bitlair_doorduino.ino @@ -459,6 +459,7 @@ void ToggleLock() void loop() { uint8_t addr[ADDRSIZE]; + uint32_t deniedcount = 0; for(;;) { @@ -495,16 +496,26 @@ void loop() SetLEDState(LEDState_Authorized); Serial.print("iButton authenticated\n"); ToggleLock(); + deniedcount = 0; } else { - Serial.print("iButton not authenticated\n"); - SetLEDState(LEDState_Busy); - digitalWrite(PIN_HORN, HIGH); - DelayLEDs(500); - digitalWrite(PIN_HORN, LOW); + deniedcount++; + if (deniedcount == 3) + { + Serial.print("iButton not authenticated\n"); + SetLEDState(LEDState_Busy); + digitalWrite(PIN_HORN, HIGH); + DelayLEDs(500); + digitalWrite(PIN_HORN, LOW); + deniedcount = 0; + } } } + else + { + deniedcount = 0; + } ProcessLEDs(); }