From 01edd575d8e1ca690886dd1548d0e38f5b44cffc Mon Sep 17 00:00:00 2001 From: Lexzach <53662039+Lexzach@users.noreply.github.com> Date: Mon, 3 Oct 2022 23:05:16 -0400 Subject: [PATCH] failsafe mode, user defined smoke detector verification --- facp/src/main.cpp | 554 +++++++++++------- instructions/antigneous_tech_instructions.odt | Bin 903965 -> 907462 bytes 2 files changed, 340 insertions(+), 214 deletions(-) diff --git a/facp/src/main.cpp b/facp/src/main.cpp index 30d99d7..4e3e3ff 100644 --- a/facp/src/main.cpp +++ b/facp/src/main.cpp @@ -5,10 +5,11 @@ unsigned long systemClock; //-----------------SYSTEM CLOCK [VERY IMPORTANT] unsigned long lastPulse; //-------------------LAST void loop() PULSE +bool failsafeMode = false; // If panel fails to boot, you can enter a reduced-feature down panel that is guaranteed to work -char *firmwareRev = "1.2"; //VERSION +char *firmwareRev = "v1.3"; //VERSION int EEPROMVersion = 1; //version control to rewrite eeprom after update -int EEPROMBuild = 2; +int EEPROMBuild = 3; //----------------------------------------------------------------------------- RUNTIME VARIABLES @@ -77,8 +78,9 @@ bool preAlarm = false; //use pre-alarm? bool smokeDetectorVerification = false; //should smoke detectors activate first stage bool smokeDetectorCurrentlyInVerification = false; //Is a smoke detector currently in verification? bool audibleSilence = true; -int smokeDetectorVerificationTime = 60000; //how long to wait before toggling smoke detectors back on +int smokeDetectorTimeout = 60000; //how long to wait before toggling smoke detectors back on int smokeDetectorPostRestartTimer = 0; //variable to keep track of the 60 seconds post-power up that the panel watches the smoke detector +int smokeDetectorPostRestartVerificationTime = 120000; //time in ms that the smoke detector should be monitored int smokeDetectorTimer = 0; //timer to keep track of the current smoke detector timeout progress int firstStageTime = 300000; //time in minutes that first stage should last int firstStageTimer = 0; //timer to keep track of current first stage @@ -172,6 +174,8 @@ void resetEEPROM() { EEPROM.write(27,0); //write current version and build Serial.println("Disabled keyless silence"); + EEPROM.write(28,24); //write current version and build + Serial.println("Set smoke detector verification to 120 seconds"); EEPROM.write(50, EEPROMVersion); //write current version and build EEPROM.write(51, EEPROMBuild); Serial.println("Wrote EEPROM version and build"); @@ -208,6 +212,10 @@ void setup() { Serial.println("Booting..."); //----------------------------------------------------------------------------- SETUP PINS + pinMode(resetButtonPin, INPUT); //reset switch + if (digitalRead(resetButtonPin) == HIGH){ + failsafeMode = true; + } pinMode(hornRelay, OUTPUT); //horn pinMode(strobeRelay, OUTPUT); //strobe pinMode(smokeDetectorRelay, OUTPUT); //smoke relay @@ -215,7 +223,6 @@ void setup() { pinMode(silenceLed, OUTPUT); //silence LED pinMode(alarmLed, OUTPUT); //alarm LED pinMode(keySwitchPin, INPUT); //key switch - pinMode(resetButtonPin, INPUT); //reset switch pinMode(silenceButtonPin, INPUT); //silence switch pinMode(drillButtonPin, INPUT); //drill switch @@ -241,7 +248,7 @@ void setup() { lcd.backlight(); //----------------------------------------------------------------------------- EEPROM RESET BUTTONS - if (digitalRead(resetButtonPin)==HIGH and digitalRead(silenceButtonPin)==HIGH and digitalRead(drillButtonPin)==HIGH){ //reset EEPROM if all buttons are pressed + if (digitalRead(resetButtonPin)==HIGH and digitalRead(silenceButtonPin)==HIGH and digitalRead(drillButtonPin)==HIGH and failsafeMode == false){ //reset EEPROM if all buttons are pressed for(int i=5; i!=0; i--){ lcd.clear(); lcd.setCursor(0,0); @@ -270,16 +277,15 @@ void setup() { } //----------------------------------------------------------------------------- EEPROM RESET BUTTONS - if (digitalRead(silenceButtonPin)==HIGH){ - debug = true; - } + // if (digitalRead(silenceButtonPin)==HIGH){ //debug code + // debug = true; + // } lcd.clear(); lcd.setCursor(4,0); lcd.print("BOOTING..."); lcd.setCursor(0,1); lcd.print("IO"); - delay(100); Serial.println("Configured all pins"); @@ -287,13 +293,12 @@ void setup() { //EEPROM.commit(); Serial.println("Verifying EEPROM configuration integrity..."); - //----------------------------------------------------------------------------- EEPROM INTEGRETY - if (EEPROM.read(0) != 76 or EEPROM.read(6) != 104 or EEPROM.read(7) > 5 or EEPROM.read(8) > 1 or EEPROM.read(50) != EEPROMVersion or EEPROM.read(51) != EEPROMBuild){ + if ((EEPROM.read(0) != 76 or EEPROM.read(6) != 104 or EEPROM.read(7) > 5 or EEPROM.read(8) > 1 or EEPROM.read(50) != EEPROMVersion or EEPROM.read(51) != EEPROMBuild) and failsafeMode == false){ //completely skip eeprom verification if booting into failsafe Serial.println("EEPROM verification failed."); lcd.clear(); lcd.setCursor(0,0); - if (EEPROM.read(50) != EEPROMVersion or EEPROM.read(51) != EEPROMBuild){ + if (EEPROM.read(50) != EEPROMVersion or EEPROM.read(51) != EEPROMBuild){ //display error 2 if the firmware is different lcd.print("ERROR 2"); } else { lcd.print("ERROR 1"); @@ -304,8 +309,7 @@ void setup() { delay(1); } if(digitalRead(resetButtonPin) == HIGH){ - Serial.println("Resetting..."); - ESP.restart(); + failsafeMode = true; // ----- ENTER FAILSAFE MODE } else if (digitalRead(drillButtonPin) == HIGH){ resetEEPROM(); } @@ -313,102 +317,120 @@ void setup() { Serial.println("EEPROM integrity verified"); } //----------------------------------------------------------------------------- EEPROM INTEGRETY - lcd.clear(); - lcd.setCursor(4,0); - lcd.print("BOOTING..."); - lcd.setCursor(0,1); - lcd.print("IO-SLFTST"); - delay(100); + if (failsafeMode == false){ //continue loading if failsafe mode is not enabled + lcd.clear(); + lcd.setCursor(4,0); + lcd.print("BOOTING..."); + lcd.setCursor(0,1); + lcd.print("IO-SLFTST"); - Serial.println("Current EEPROM dump:"); //dump EEPROM into serial monitor - for (int i=0; i<=1024; i++){ - Serial.print(i); - Serial.print(":"); - Serial.print(EEPROM.read(i)); - Serial.print(" "); - } - Serial.println(); - - //CONFIG LOADING ROUTINE - Serial.println("Loading config from EEPROM..."); - codeWheel = EEPROM.read(7); //codeWheel setting address - if (EEPROM.read(8) == 1){ - keyRequired = true; - } else { - keyRequired = false; - } -//----------------------------- Panel security variable - - if (keyRequired){ - keyRequiredVisual = true; - } else { - keyRequiredVisual = false; - } -//----------------------------- Panel security variable - if (EEPROM.read(9) == 1){ - isVerification = true; - } else { - isVerification = false; - } - if (EEPROM.read(73) == 1){ - eolResistor = true; - } else { - eolResistor = false; - } - if (EEPROM.read(74) == 1){ - preAlarm = true; - } else { - preAlarm = false; - } - if (EEPROM.read(76) == 1){ - smokeDetectorVerification = true; - } else { - smokeDetectorVerification = false; - } - if (EEPROM.read(79) == 1){ - audibleSilence = true; - } else { - audibleSilence = false; - } - if (EEPROM.read(27) == 1){ - keylessSilence = true; - } else { - keylessSilence = false; - } - smokeDetectorVerificationTime = EEPROM.read(77)*5000; - firstStageTime = EEPROM.read(75)*60000; - verificationTime = EEPROM.read(10)*100; - //resistorLenience = EEPROM.read(72)*4; DEPRECATED - panelHomescreen = EEPROM.read(78); - lcdTimeout = EEPROM.read(80)*15000; - int x=0; - for (int i=11; i<=26; i++){ //read panel name - if (EEPROM.read(i) != 0){ - panelName = panelName + (char)EEPROM.read(i); - panelNameList[x] = EEPROM.read(i); - x++; + Serial.println("Current EEPROM dump:"); //dump EEPROM into serial monitor + for (int i=0; i<=1024; i++){ + Serial.print(i); + Serial.print(":"); + Serial.print(EEPROM.read(i)); + Serial.print(" "); } - } - lcd.clear(); - lcd.setCursor(4,0); - lcd.print("BOOTING..."); - lcd.setCursor(0,1); - lcd.print("IO-SLFTST-CONFIG"); - delay(100); - Serial.println("Config loaded"); - digitalWrite(readyLed, HIGH); //power on ready LED on startup - readyLedStatus = true; - updateLockStatus = true; - if (digitalRead(keySwitchPin) == HIGH and keyRequired == true){ //check the key status on startup - keyInserted = true; + Serial.println(); + + //CONFIG LOADING ROUTINE + Serial.println("Loading config from EEPROM..."); + codeWheel = EEPROM.read(7); //codeWheel setting address + if (EEPROM.read(8) == 1){ + keyRequired = true; + } else { + keyRequired = false; + } + //----------------------------- Panel security variable + + if (keyRequired){ + keyRequiredVisual = true; + } else { + keyRequiredVisual = false; + } + //----------------------------- Panel security variable + if (EEPROM.read(9) == 1){ + isVerification = true; + } else { + isVerification = false; + } + if (EEPROM.read(73) == 1){ + eolResistor = true; + } else { + eolResistor = false; + } + if (EEPROM.read(74) == 1){ + preAlarm = true; + } else { + preAlarm = false; + } + if (EEPROM.read(76) == 1){ + smokeDetectorVerification = true; + } else { + smokeDetectorVerification = false; + } + if (EEPROM.read(79) == 1){ + audibleSilence = true; + } else { + audibleSilence = false; + } + if (EEPROM.read(27) == 1){ + keylessSilence = true; + } else { + keylessSilence = false; + } + smokeDetectorTimeout = EEPROM.read(77)*5000; + smokeDetectorPostRestartVerificationTime = EEPROM.read(28)*5000; + firstStageTime = EEPROM.read(75)*60000; + verificationTime = EEPROM.read(10)*100; + //resistorLenience = EEPROM.read(72)*4; DEPRECATED + panelHomescreen = EEPROM.read(78); + lcdTimeout = EEPROM.read(80)*15000; + int x=0; + for (int i=11; i<=26; i++){ //read panel name + if (EEPROM.read(i) != 0){ + panelName = panelName + (char)EEPROM.read(i); + panelNameList[x] = EEPROM.read(i); + x++; + } + } + lcd.clear(); + lcd.setCursor(4,0); + lcd.print("BOOTING..."); + lcd.setCursor(0,1); + lcd.print("IO-SLFTST-CONFIG"); + delay(100); + Serial.println("Config loaded"); + digitalWrite(readyLed, HIGH); //power on ready LED on startup + readyLedStatus = true; + updateLockStatus = true; + if (digitalRead(keySwitchPin) == HIGH and keyRequired == true){ //check the key status on startup + keyInserted = true; + } else { + keyInserted = false; + } + digitalWrite(silenceLed, LOW); + digitalWrite(alarmLed, LOW); + digitalWrite(smokeDetectorRelay, LOW); //turn on smoke relay + Serial.println("-=- STARTUP COMPLETE -=-"); } else { - keyInserted = false; + Serial.println("-=- ENTERING FAILSAFE MODE -=-"); + lcd.clear(); + lcd.setCursor(0,0); + lcd.print("ENTERING"); + lcd.setCursor(0,1); + lcd.print("FAILSAFE..."); + delay(3000); + lcd.clear(); + lcd.setCursor(0,0); + lcd.print("FAILSAFE MODE"); + lcd.setCursor(0,1); + lcd.print("SYSTEM NORMAL"); + digitalWrite(readyLed, HIGH); + readyLedStatus = true; + digitalWrite(smokeDetectorRelay, LOW); //turn on smoke relay } - digitalWrite(silenceLed, LOW); - digitalWrite(alarmLed, LOW); - digitalWrite(smokeDetectorRelay, LOW); //turn on smoke relay lastPulse = millis(); //start last pulse - Serial.println("-=- STARTUP COMPLETE -=-"); } @@ -489,15 +511,15 @@ void checkKey(){ //----------------------------------------------------------------------------- CHECK ACTIVATION DEVICES [!THIS CODE MUST WORK!] void checkDevices(){ if (walkTest == false){ - if ((analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0) and horn != true and silenced==false){ + if (possibleAlarm == false and fullAlarm == false and (analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0)){ //reading a single zero flags as a possible alarm possibleAlarm = true; } - if (possibleAlarm == true and horn != true and strobe != true and silenced==false){ - if (verification >= verificationTime or isVerification == false){ - if (analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0){ - if (smokeDetectorVerification == false or smokeDetectorCurrentlyInVerification == true){ // ----------------------------------- SMOKE DETECTOR VERIFICATION - if (analogRead(zone1Pin) == 0 and analogRead(zone2Pin) == 0){ + if (possibleAlarm == true and fullAlarm == false){ //only execute if the panel flags a possible alarm and there isn't currently a full alarm + if (verification >= verificationTime or isVerification == false){ //execute the following code if verification surpasses the configured verification time OR verification is disabled + if (analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0){ //check once again if any zeros are read + if (smokeDetectorVerification == false or smokeDetectorCurrentlyInVerification == true){ //if smoke detector verification is disabled, or a smoke detector has tripped *after* verification, activate NACs + if (analogRead(zone1Pin) == 0 and analogRead(zone2Pin) == 0){ //read the pins once more to check which zone is in alarm zoneAlarm = 3; //both } else if (analogRead(zone2Pin) == 0){ zoneAlarm = 2; //z2 @@ -505,12 +527,12 @@ void checkDevices(){ zoneAlarm = 1; //z1 } activateNAC(); - possibleAlarm = false; + possibleAlarm = false; //dismiss the possible alarm after activating the NACs verification = 0; - } else if (smokeDetectorVerification == true and smokeDetectorCurrentlyInVerification == false){ - smokeDetectorOn(false); - delay(100); - if (analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0){ // if the alarm signal persists after turning off the smoke detectors, activate the nacs + } else if (smokeDetectorVerification == true and smokeDetectorCurrentlyInVerification == false){ //if smoke detector verifcaion is turned on, run this instead + smokeDetectorOn(false); //turn off the smoke detector relay + delay(100); //wait for 100 ms + if (analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0){ // if the alarm signal persists after turning off the smoke detectors, it is a pull station, activate the nacs if (analogRead(zone1Pin) == 0 and analogRead(zone2Pin) == 0){ zoneAlarm = 3; //both } else if (analogRead(zone2Pin) == 0){ @@ -518,21 +540,21 @@ void checkDevices(){ } else { zoneAlarm = 1; //z1 } - smokeDetectorOn(true); activateNAC(); + smokeDetectorOn(true); //re-enable the smoke detector relay after determining that a pull station was pulled. possibleAlarm = false; verification = 0; - } else { + } else { //if the signal *does not* persists after disabling the smoke detector relay, it was a smoke detector, run verification. smokeDetectorPostRestartTimer = 0; - smokeDetectorCurrentlyInVerification = true; //--------------------------FIGURE OUT HOW TO DO THE SECOND PART OF SMOKE DET VERIFICATION - smokeDetectorTimer = 0; - currentScreen = -1; - digitalWrite(alarmLed, HIGH); + smokeDetectorCurrentlyInVerification = true; //tell the smokeDetector() function to run code + smokeDetectorTimer = 0; //reset the smoke detector timer + currentScreen = -1; //update the screen to allow the displaying of smoke detector verification + digitalWrite(alarmLed, HIGH); //LED indicator possibleAlarm = false; verification = 0; } } - } else { + } else { //if no zeros are read after verification, dismiss possible alarm possibleAlarm = false; verification = 0; } @@ -590,7 +612,7 @@ void checkDevices(){ } if ((analogRead(zone1Pin) == 4095 or analogRead(zone2Pin) == 4095) and eolResistor == true) { - if (troubleTimer >= 10){ + if (troubleTimer >= 1000){ trouble = true; troubleType=1; if (analogRead(zone1Pin) == 4095 and analogRead(zone2Pin) == 4095){ @@ -730,7 +752,7 @@ void alarm(){ strobeOn(false); } if (horn == true){ - if (preAlarm == false or secondStage == true){ + if (preAlarm == false or secondStage == true){ //yes, preAlarm == false is redundant but in the case that second stage == false, but pre-alarm is off, the full alarm will still sound if (codeWheel == 0){ if (codeWheelTimer == 0){ //---------- temporal code 3 @@ -971,7 +993,7 @@ void config(){ char *mainTesting[] = {"Walk Test","Silent Wlk Test","Strobe Test"}; //menu 1 char *mainSettings[] = {"Fire Alarm","Panel"}; //menu 2 char *mainSettingsFireAlarmSettings[] = {"Coding","Verification","Pre-Alarm","Audible Sil.:","No-Key Sil.:"}; //menu 3 - char *mainSettingsVerificationSettings[] = {"Verification:","V.Time:","Det.Verif:","Det.V.Time:"}; //menu 4 + char *mainSettingsVerificationSettings[] = {"Verification:","V.Time:","Det.Verif.:","Det.Timeout:","Det.Verif.:"}; //menu 4 char *mainSettingsFireAlarmSettingsCoding[] = {"Temporal Three","Marchtime","4-4","Continuous","California","Slow Marchtime"}; //menu 5 char *mainSettingsFireAlarmSettingsPreAlarmSettings[] = {"Pre-Alarm:","Stage1 Time:"}; //menu 6 char *mainPanelSettings[] = {"Panel Name","Panel Security","LCD Dim:","Factory Reset","About"}; //menu 8 @@ -1136,7 +1158,7 @@ void config(){ } else if (cursorPosition == 2) { cursorPosition = 3; configTop = (String)mainSettingsFireAlarmSettings[3]+audibleSilence; - if (keyRequired == true){ + if (keyRequiredVisual == true){ configBottom = (String)mainSettingsFireAlarmSettings[4]+keylessSilence; } else { configBottom = (String)mainSettingsFireAlarmSettings[4]+"off"; @@ -1147,7 +1169,7 @@ void config(){ configBottom.replace("0","$"); } else if (cursorPosition == 3){ cursorPosition = 4; - if (keyRequired == true){ + if (keyRequiredVisual == true){ configTop = (String)mainSettingsFireAlarmSettings[4]+keylessSilence; } else { configTop = (String)mainSettingsFireAlarmSettings[4]+"off"; @@ -1212,7 +1234,7 @@ void config(){ } EEPROM.commit(); configTop = (String)mainSettingsFireAlarmSettings[3]+audibleSilence; - if (keyRequired == true){ + if (keyRequiredVisual == true){ configBottom = (String)mainSettingsFireAlarmSettings[4]+keylessSilence; } else { configBottom = (String)mainSettingsFireAlarmSettings[4]+"off"; @@ -1221,7 +1243,7 @@ void config(){ configTop.replace("0","$"); configBottom.replace("1","*"); configBottom.replace("0","$"); - } else if (cursorPosition == 4 and keyRequired == true){ + } else if (cursorPosition == 4 and keyRequiredVisual == true){ if (keylessSilence == true){ keylessSilence = false; EEPROM.write(27,0); @@ -1530,10 +1552,10 @@ void config(){ cursorPosition = 2; configTop = (String)mainSettingsVerificationSettings[2] + smokeDetectorVerification; if (smokeDetectorVerification == true){ - if (smokeDetectorVerificationTime<60000){ - configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/1000) + "s"; + if (smokeDetectorTimeout<60000){ + configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/1000) + "s"; } else { - configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/60000) + "m"; + configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/60000) + "m"; } } else { configBottom = (String)mainSettingsVerificationSettings[3] + "off"; @@ -1543,18 +1565,38 @@ void config(){ } else if (cursorPosition == 2) { cursorPosition = 3; if (smokeDetectorVerification == true){ - if (smokeDetectorVerificationTime<60000){ - configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/1000) + "s"; + if (smokeDetectorTimeout<60000){ + configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/1000) + "s"; } else { - configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/60000) + "m"; + configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/60000) + "m"; } } else { configTop = (String)mainSettingsVerificationSettings[3] + "off"; } + if (smokeDetectorVerification == true){ + if (smokeDetectorPostRestartVerificationTime<60000){ + configBottom = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/1000) + "s"; + } else { + configBottom = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/60000) + "m"; + } + } else { + configBottom = (String)mainSettingsVerificationSettings[4] + "off"; + } + } else if (cursorPosition == 3) { + cursorPosition = 4; + if (smokeDetectorVerification == true){ + if (smokeDetectorPostRestartVerificationTime<60000){ + configTop = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/1000) + "s"; + } else { + configTop = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/60000) + "m"; + } + } else { + configTop = (String)mainSettingsVerificationSettings[4] + "off"; + } configBottom = (String)mainSettingsVerificationSettings[0] + isVerification; configBottom.replace("1","*"); configBottom.replace("0","$"); - } else if (cursorPosition == 3) { + } else if (cursorPosition == 4) { cursorPosition = 0; configTop = (String)mainSettingsVerificationSettings[0] + isVerification; if (isVerification == false){ @@ -1624,7 +1666,7 @@ void config(){ } else { EEPROM.write(76,0); //disable pre-alarm smokeDetectorVerification = false; - smokeDetectorOn(true); //re-enable smoke detectors in the case that one turned off because it was in verification + smokeDetectorOn(true); //re-enable smoke detectors in the case that smoke detectors are currently in timeout digitalWrite(alarmLed, LOW); smokeDetectorCurrentlyInVerification=false; smokeDetectorPostRestartTimer=0; @@ -1633,10 +1675,10 @@ void config(){ EEPROM.commit(); configTop = (String)mainSettingsVerificationSettings[2] + smokeDetectorVerification; if (smokeDetectorVerification == true){ - if (smokeDetectorVerificationTime<60000){ - configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/1000) + "s"; + if (smokeDetectorTimeout<60000){ + configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/1000) + "s"; } else { - configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/60000) + "m"; + configBottom = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/60000) + "m"; } } else { configBottom = (String)mainSettingsVerificationSettings[3] + "off"; @@ -1644,48 +1686,83 @@ void config(){ configTop.replace("1","*"); configTop.replace("0","$"); } else if (cursorPosition == 3 and smokeDetectorVerification == true) { - if (smokeDetectorVerificationTime == 5000){ + if (smokeDetectorTimeout == 5000){ EEPROM.write(77,2); - smokeDetectorVerificationTime = 10000; - } else if (smokeDetectorVerificationTime == 10000){ + smokeDetectorTimeout = 10000; + } else if (smokeDetectorTimeout == 10000){ EEPROM.write(77,3); - smokeDetectorVerificationTime = 15000; - } else if (smokeDetectorVerificationTime == 15000){ + smokeDetectorTimeout = 15000; + } else if (smokeDetectorTimeout == 15000){ EEPROM.write(77,4); - smokeDetectorVerificationTime = 20000; - } else if (smokeDetectorVerificationTime == 20000){ + smokeDetectorTimeout = 20000; + } else if (smokeDetectorTimeout == 20000){ EEPROM.write(77,6); - smokeDetectorVerificationTime = 30000; - } else if (smokeDetectorVerificationTime == 30000){ + smokeDetectorTimeout = 30000; + } else if (smokeDetectorTimeout == 30000){ EEPROM.write(77,9); - smokeDetectorVerificationTime = 45000; - } else if (smokeDetectorVerificationTime == 45000){ - EEPROM.write(77,18); - smokeDetectorVerificationTime = 60000; - } else if (smokeDetectorVerificationTime == 60000){ + smokeDetectorTimeout = 45000; + } else if (smokeDetectorTimeout == 45000){ + EEPROM.write(77,12); + smokeDetectorTimeout = 60000; + } else if (smokeDetectorTimeout == 60000){ EEPROM.write(77,24); - smokeDetectorVerificationTime = 120000; - } else if (smokeDetectorVerificationTime == 120000){ + smokeDetectorTimeout = 120000; + } else if (smokeDetectorTimeout == 120000){ EEPROM.write(77,60); - smokeDetectorVerificationTime = 300000; - } else if (smokeDetectorVerificationTime == 300000){ + smokeDetectorTimeout = 300000; + } else if (smokeDetectorTimeout == 300000){ EEPROM.write(77,120); - smokeDetectorVerificationTime = 600000; - } else if (smokeDetectorVerificationTime == 600000){ + smokeDetectorTimeout = 600000; + } else if (smokeDetectorTimeout == 600000){ EEPROM.write(77,1); - smokeDetectorVerificationTime = 5000; + smokeDetectorTimeout = 5000; } EEPROM.commit(); - if (smokeDetectorVerificationTime<60000){ - configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/1000) + "s"; + if (smokeDetectorTimeout<60000){ + configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/1000) + "s"; } else { - configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorVerificationTime/60000) + "m"; + configTop = (String)mainSettingsVerificationSettings[3] + (smokeDetectorTimeout/60000) + "m"; } - configBottom = (String)mainSettingsVerificationSettings[0]+isVerification; + if (smokeDetectorVerification == true){ + if (smokeDetectorPostRestartVerificationTime<60000){ + configBottom = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/1000) + "s"; + } else { + configBottom = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/60000) + "m"; + } + } else { + configBottom = (String)mainSettingsVerificationSettings[4] + "off"; + } + } else if (cursorPosition == 4 and smokeDetectorVerification == true) { + if (smokeDetectorPostRestartVerificationTime == 60000){ + EEPROM.write(28,24); + smokeDetectorPostRestartVerificationTime = 120000; + } else if (smokeDetectorPostRestartVerificationTime == 120000){ + EEPROM.write(28,36); + smokeDetectorPostRestartVerificationTime = 180000; + } else if (smokeDetectorPostRestartVerificationTime == 180000){ + EEPROM.write(28,48); + smokeDetectorPostRestartVerificationTime = 240000; + } else if (smokeDetectorPostRestartVerificationTime == 240000){ + EEPROM.write(28,60); + smokeDetectorPostRestartVerificationTime = 300000; + } else if (smokeDetectorPostRestartVerificationTime == 300000){ + EEPROM.write(28,60); + smokeDetectorPostRestartVerificationTime = 600000; + } else if (smokeDetectorPostRestartVerificationTime == 600000){ + EEPROM.write(28,12); + smokeDetectorPostRestartVerificationTime = 60000; + } + EEPROM.commit(); + if (smokeDetectorPostRestartVerificationTime<60000){ + configTop = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/1000) + "s"; + } else { + configTop = (String)mainSettingsVerificationSettings[4] + (smokeDetectorPostRestartVerificationTime/60000) + "m"; + } + configBottom = (String)mainSettingsVerificationSettings[0] + isVerification; configBottom.replace("1","*"); configBottom.replace("0","$"); } - } + } //----------------------------------------------------------------------------- SETTINGS > FIRE ALARM > VERIFICATION //----------------------------------------------------------------------------- SETTINGS > PANEL > PANEL SECURITY @@ -1916,7 +1993,7 @@ void lcdBacklight(){ } else if (backlightOn == true) { lcdTimeoutTimer++; } - if (drillPressed == true or silencePressed == true or resetPressed == true or fullAlarm == true or trouble == true or (keyInserted == true and keyRequired == true)){ + if (drillPressed == true or silencePressed == true or resetPressed == true or fullAlarm == true or trouble == true or (keyInserted == true and keyRequired == true) or smokeDetectorCurrentlyInVerification == true){ lcdTimeoutTimer = 0; if (backlightOn == false){ lcd.backlight(); @@ -1927,12 +2004,12 @@ void lcdBacklight(){ } void smokeDetector(){ - if (smokeDetectorTimer >= smokeDetectorVerificationTime){ - smokeDetectorOn(true); - if (smokeDetectorPostRestartTimer >= 60000){ - smokeDetectorCurrentlyInVerification = false; - currentScreen = -1; - digitalWrite(alarmLed, LOW); + if (smokeDetectorTimer >= smokeDetectorTimeout){ //wait until the configured smoke timeout time has elapsed + smokeDetectorOn(true); //re-enable the smoke relay + if (smokeDetectorPostRestartTimer >= smokeDetectorPostRestartVerificationTime){ //wait for 120 seconds, during this time, smokeDetectorCurrentlyInVerification will be true, so any activating device will cause a full alarm + smokeDetectorCurrentlyInVerification = false; //stop smoke detector verification, causing the smoke detectors to require double activation again + currentScreen = -1; //update screen + digitalWrite(alarmLed, LOW); //disable LED smokeDetectorTimer = 0; } else { smokeDetectorPostRestartTimer++; @@ -1942,59 +2019,108 @@ void smokeDetector(){ } } +void failsafe(){ //--------------------------------------------- FAILSAFE MODE IN CASE PANEL CANT BOOT NORMALLY + if ((analogRead(zone1Pin) == 0 or analogRead(zone2Pin) == 0) and fullAlarm == false){ + fullAlarm = true; + silenced = false; + digitalWrite(alarmLed, HIGH); + digitalWrite(hornRelay, LOW); + digitalWrite(strobeRelay, LOW); + lcd.clear(); + lcd.setCursor(0,0); + lcd.print("FAILSAFE MODE"); + lcd.setCursor(0,1); + lcd.print("FIRE ALARM"); + } + if (digitalRead(silenceButtonPin) == HIGH and silenced == false and fullAlarm == true){ + silenced = true; + digitalWrite(hornRelay, HIGH); + digitalWrite(silenceLed,HIGH); + digitalWrite(alarmLed,LOW); + lcd.clear(); + lcd.setCursor(0,0); + lcd.print("FAILSAFE MODE"); + lcd.setCursor(0,1); + lcd.print("SILENCED"); + } + if (digitalRead(resetButtonPin) == HIGH){ + digitalWrite(smokeDetectorRelay, HIGH); + digitalWrite(hornRelay, HIGH); + digitalWrite(silenceLed,LOW); + digitalWrite(alarmLed,LOW); + digitalWrite(readyLed,LOW); + ESP.restart(); + } + if (troubleLedTimer >= 2000){ + if (readyLedStatus == true){ + digitalWrite(readyLed, LOW); + readyLedStatus = false; + } else { + digitalWrite(readyLed, HIGH); + readyLedStatus = true; + } + troubleLedTimer = 0; + } else { + troubleLedTimer++; + } +} + + void loop() { systemClock = millis(); //-------------------- SYSTEM CLOCK if (systemClock-lastPulse >= 1){ + if (failsafeMode == false){ + lcdBacklight(); //------------------------------------------------------ CHECK LCD BACKLIGHT - lcdBacklight(); //------------------------------------------------------ CHECK LCD BACKLIGHT + checkDevices(); //------------------------------------------------------ CHECK ACTIVATING DEVICES + + troubleCheck(); //------------------------------------------------------ TROUBLE CHECK - checkDevices(); //------------------------------------------------------ CHECK ACTIVATING DEVICES - - troubleCheck(); //------------------------------------------------------ TROUBLE CHECK + alarm(); //------------------------------------------------------------- ALARM CODEWHEEL - alarm(); //------------------------------------------------------------- ALARM CODEWHEEL + if (smokeDetectorCurrentlyInVerification == true and fullAlarm == false){ //if a smoke detector is in verification, execute this function + smokeDetector(); + } - if (smokeDetectorCurrentlyInVerification == true){ - smokeDetector(); - } - - if (keyCheckTimer >= 100){ - checkKey(); //---------------------------------------------------------- CHECK KEY - keyCheckTimer = 0; - } else { - keyCheckTimer++; - } - - if (buttonCheckTimer >= 20){ - if (configMenu==false){ - if ((keyInserted == true and keyRequired == true) or (keyRequired==false)){ - checkButtons(); //check if certain buttons are pressed - } else if (keylessSilence == true and fullAlarm == true and silenced == false){ - if (digitalRead(silenceButtonPin) == HIGH){ - digitalWrite(silenceLed, HIGH); - digitalWrite(alarmLed, LOW); - digitalWrite(readyLed, LOW); - readyLedStatus = false; - horn = false; - if (audibleSilence == false){ - strobe = false; + if (keyCheckTimer >= 100){ + checkKey(); //---------------------------------------------------------- CHECK KEY + keyCheckTimer = 0; + } else { + keyCheckTimer++; + } + + if (buttonCheckTimer >= 20){ + if (configMenu==false){ + if ((keyInserted == true and keyRequired == true) or (keyRequired==false)){ + checkButtons(); //check if certain buttons are pressed + } else if (keylessSilence == true and fullAlarm == true and silenced == false){ + if (digitalRead(silenceButtonPin) == HIGH){ + digitalWrite(silenceLed, HIGH); + digitalWrite(alarmLed, LOW); + digitalWrite(readyLed, LOW); + readyLedStatus = false; + horn = false; + if (audibleSilence == false){ + strobe = false; + } + silenced=true; + noTone(); } - silenced=true; - noTone(); + } + lcdUpdate(); //------------------------------------------------------ UPDATE LCD DISPLAY + + } else if (configMenu==true) { + if ((keyInserted == true and keyRequired == true) or (keyInserted==false and keyRequired==false)){ + config(); } } - lcdUpdate(); //------------------------------------------------------ UPDATE LCD DISPLAY - - } else if (configMenu==true) { - if ((keyInserted == true and keyRequired == true) or (keyInserted==false and keyRequired==false)){ - config(); - } + buttonCheckTimer = 0; + } else { + buttonCheckTimer++; } - buttonCheckTimer = 0; } else { - buttonCheckTimer++; + failsafe(); } - lastPulse = millis(); //update last pulse } } \ No newline at end of file diff --git a/instructions/antigneous_tech_instructions.odt b/instructions/antigneous_tech_instructions.odt index 6a535201a6a03c33bcb11f71d14d63e3f14d2dd0..fe6b1d7752c3eea321361acba91066c5365272ff 100644 GIT binary patch delta 55230 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%0DlR1euIHf4+EQ0gGr5Rfg}LYv5y!E;OjEz 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 delta 51780 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 z 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 DD=D1W