epic
This commit is contained in:
parent
4ec4efb1a9
commit
8e72e0e72e
5
facp/.vscode/settings.json
vendored
Normal file
5
facp/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"*.tcc": "cpp"
|
||||||
|
}
|
||||||
|
}
|
@ -4,11 +4,12 @@ Address allocation:
|
|||||||
8 | 0-1 - is a key required
|
8 | 0-1 - is a key required
|
||||||
9 | 0-1 - is there verification
|
9 | 0-1 - is there verification
|
||||||
10 | 1-255 - how long to do verification (value * 0.1 = actual verification time in seconds)
|
10 | 1-255 - how long to do verification (value * 0.1 = actual verification time in seconds)
|
||||||
11-71 | 65-90, 97-122, 45-57, 32 - System name
|
11-71 | 65-90, 45-57, 32, 39 - System name
|
||||||
72 | 0-4094 - EOL resistor lenience
|
72 | 0-4094 - EOL resistor lenience
|
||||||
73 | 0-1 - enable EOL resistor
|
73 | 0-1 - enable EOL resistor
|
||||||
74 | 0-1 - pre-alarm enabled
|
74 | 0-1 - pre-alarm enabled
|
||||||
75 | 1-10 - first-stage time
|
75 | 1-10 - first-stage time
|
||||||
76 | 0-1 - smoke detector pre-alarm
|
76 | 0-1 - smoke detector pre-alarm
|
||||||
77 | 1-5 - smoke detector timeout
|
77 | 1-5 - smoke detector timeout
|
||||||
78 | 0-1 - panel homescreen
|
78 | 0-1 - panel homescreen
|
||||||
|
79 | 0-1 - audible silence
|
@ -23,6 +23,9 @@ bool possibleAlarm = false; //panel receieved 0 from pull station ciruit and is
|
|||||||
bool definiteAlarm = false; //panel has investigated and determined that it was not a fluke
|
bool definiteAlarm = false; //panel has investigated and determined that it was not a fluke
|
||||||
bool walkTest = false; //is the system in walk test
|
bool walkTest = false; //is the system in walk test
|
||||||
bool silentWalkTest = false;
|
bool silentWalkTest = false;
|
||||||
|
int characters[] = {32,45,46,47,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90}; //characters allowed on name
|
||||||
|
int panelNameList[16];
|
||||||
|
int clearTimer = 0; //timer for keeping track of button holding for clearing character in the name editor
|
||||||
int verification = 0; //number to keep track of ms for verification
|
int verification = 0; //number to keep track of ms for verification
|
||||||
int drill = 0; //number to keep track of ms for drill
|
int drill = 0; //number to keep track of ms for drill
|
||||||
int troubleTimer = 0; //ms for trouble
|
int troubleTimer = 0; //ms for trouble
|
||||||
@ -48,6 +51,7 @@ bool isVerification = true; //is verification turned on
|
|||||||
bool eolResistor = true; //is the EOL resistor enabled
|
bool eolResistor = true; //is the EOL resistor enabled
|
||||||
bool preAlarm = false; //use pre-alarm?
|
bool preAlarm = false; //use pre-alarm?
|
||||||
bool smokeDetectorPreAlarm = false; //should smoke detectors activate first stage
|
bool smokeDetectorPreAlarm = false; //should smoke detectors activate first stage
|
||||||
|
bool audibleSilence = true;
|
||||||
int smokeDetectorTimeout = 5; //how long should smoke detector pre-alarm wait before cancelling the pre-alarm
|
int smokeDetectorTimeout = 5; //how long should smoke detector pre-alarm wait before cancelling the pre-alarm
|
||||||
int firstStageTime = 1; //time in minutes that first stage should last
|
int firstStageTime = 1; //time in minutes that first stage should last
|
||||||
int codeWheel = 0; //which alarm pattern to use, code-3 default
|
int codeWheel = 0; //which alarm pattern to use, code-3 default
|
||||||
@ -94,12 +98,12 @@ void setup() {
|
|||||||
EEPROM.begin(1025); //allocate memory address 0-1024 for EEPROM
|
EEPROM.begin(1025); //allocate memory address 0-1024 for EEPROM
|
||||||
Serial.println("Configured EEPROM for addresses 0-1024");
|
Serial.println("Configured EEPROM for addresses 0-1024");
|
||||||
|
|
||||||
EEPROM.write(0,255); //TESTING PURPOSES
|
// EEPROM.write(0,255); //TESTING PURPOSES
|
||||||
EEPROM.commit(); //TESTING PURPOSES
|
// EEPROM.commit(); //TESTING PURPOSES
|
||||||
|
|
||||||
Serial.println("Verifying EEPROM configuration integrity...");
|
Serial.println("Verifying EEPROM configuration integrity...");
|
||||||
|
|
||||||
if (EEPROM.read(0) != 76 or EEPROM.read(6) != 104 or EEPROM.read(7) > 3 or EEPROM.read(8) > 1){ //EEPROM verification, check essential-to-run components, listing all conditions that cannot exist in a correct EEPROM
|
if (EEPROM.read(0) != 76 or EEPROM.read(6) != 104 or EEPROM.read(7) > 5 or EEPROM.read(8) > 1){ //EEPROM verification, check essential-to-run components, listing all conditions that cannot exist in a correct EEPROM
|
||||||
Serial.println("EEPROM verification failed. Re-writing EEPROM");
|
Serial.println("EEPROM verification failed. Re-writing EEPROM");
|
||||||
for (int i=0; i<=1024; i++){ //write all 255's from 0-1024 address
|
for (int i=0; i<=1024; i++){ //write all 255's from 0-1024 address
|
||||||
EEPROM.write(i,255);
|
EEPROM.write(i,255);
|
||||||
@ -111,9 +115,9 @@ void setup() {
|
|||||||
EEPROM.write(9,1); //verification is turned on by default
|
EEPROM.write(9,1); //verification is turned on by default
|
||||||
EEPROM.write(10,25); //default verification time of 2.5 seconds
|
EEPROM.write(10,25); //default verification time of 2.5 seconds
|
||||||
|
|
||||||
//system name "[DEFAULT NAME]"
|
//system name "DEFAULT NAME"
|
||||||
EEPROM.write(11,91);EEPROM.write(12,68);EEPROM.write(13,69);EEPROM.write(14,70);EEPROM.write(15,65);EEPROM.write(16,85);EEPROM.write(17,76);EEPROM.write(18,84);EEPROM.write(19,32);EEPROM.write(20,78);EEPROM.write(21,65);EEPROM.write(22,77);EEPROM.write(23,69);EEPROM.write(24,93);
|
EEPROM.write(11,68);EEPROM.write(12,69);EEPROM.write(13,70);EEPROM.write(14,65);EEPROM.write(15,85);EEPROM.write(16,76);EEPROM.write(17,84);EEPROM.write(18,32);EEPROM.write(19,78);EEPROM.write(20,65);EEPROM.write(21,77);EEPROM.write(22,69);EEPROM.write(23,32);EEPROM.write(24,32);EEPROM.write(25,32);EEPROM.write(26,32);
|
||||||
for (int i=25; i<=71; i++){ //write all 0's from 25-71 address
|
for (int i=27; i<=71; i++){ //write all 0's from 23-71 address
|
||||||
EEPROM.write(i,0);
|
EEPROM.write(i,0);
|
||||||
}
|
}
|
||||||
EEPROM.write(72,125); //EOL lenience 500 by default
|
EEPROM.write(72,125); //EOL lenience 500 by default
|
||||||
@ -123,6 +127,7 @@ void setup() {
|
|||||||
EEPROM.write(76,0); //smoke detector pre-alarm is disable by default
|
EEPROM.write(76,0); //smoke detector pre-alarm is disable by default
|
||||||
EEPROM.write(77,5); //smoke detector timeout is five minutes by default
|
EEPROM.write(77,5); //smoke detector timeout is five minutes by default
|
||||||
EEPROM.write(78,0); //homescreen is panel name by default
|
EEPROM.write(78,0); //homescreen is panel name by default
|
||||||
|
EEPROM.write(79,1); //audible silence is enabled by default
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -166,17 +171,24 @@ void setup() {
|
|||||||
} else {
|
} else {
|
||||||
smokeDetectorPreAlarm = false;
|
smokeDetectorPreAlarm = false;
|
||||||
}
|
}
|
||||||
|
if (EEPROM.read(79) == 1){
|
||||||
|
audibleSilence = true;
|
||||||
|
} else {
|
||||||
|
audibleSilence = false;
|
||||||
|
}
|
||||||
smokeDetectorTimeout = EEPROM.read(77)*60000;
|
smokeDetectorTimeout = EEPROM.read(77)*60000;
|
||||||
firstStageTime = EEPROM.read(75)*60000;
|
firstStageTime = EEPROM.read(75)*60000;
|
||||||
verificationTime = EEPROM.read(10)*100;
|
verificationTime = EEPROM.read(10)*100;
|
||||||
resistorLenience = EEPROM.read(72)*4;
|
resistorLenience = EEPROM.read(72)*4;
|
||||||
panelHomescreen = EEPROM.read(78);
|
panelHomescreen = EEPROM.read(78);
|
||||||
|
int x=0;
|
||||||
for (int i=11; i<=71; i++){ //read panel name
|
for (int i=11; i<=71; i++){ //read panel name
|
||||||
if (EEPROM.read(i) != 0){
|
if (EEPROM.read(i) != 0){
|
||||||
panelName = panelName + (char)EEPROM.read(i);
|
panelName = panelName + (char)EEPROM.read(i);
|
||||||
}
|
panelNameList[x] = EEPROM.read(i);
|
||||||
|
x++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Serial.println("Config loaded");
|
Serial.println("Config loaded");
|
||||||
digitalWrite(27, HIGH); //power on ready LED on startup
|
digitalWrite(27, HIGH); //power on ready LED on startup
|
||||||
digitalWrite(26, LOW);
|
digitalWrite(26, LOW);
|
||||||
@ -217,7 +229,7 @@ void checkKey(){
|
|||||||
void checkDevices(){
|
void checkDevices(){
|
||||||
|
|
||||||
if (walkTest == 0){
|
if (walkTest == 0){
|
||||||
if (analogRead(15) == 0 and horn != true and silenced==false){
|
if (analogRead(15) <= resistorLenience and horn != true and silenced==false){
|
||||||
possibleAlarm = true;
|
possibleAlarm = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -333,6 +345,9 @@ void checkButtons(){
|
|||||||
digitalWrite(26, HIGH);
|
digitalWrite(26, HIGH);
|
||||||
digitalWrite(25, LOW);
|
digitalWrite(25, LOW);
|
||||||
horn = false;
|
horn = false;
|
||||||
|
if (audibleSilence == false){
|
||||||
|
strobe = false;
|
||||||
|
}
|
||||||
silenced=true;
|
silenced=true;
|
||||||
noTone();
|
noTone();
|
||||||
} else if (horn == false and strobe == false and trouble == true and silencePressed == false and troubleAck==false){
|
} else if (horn == false and strobe == false and trouble == true and silencePressed == false and troubleAck==false){
|
||||||
@ -545,17 +560,19 @@ void lcdUpdate(){
|
|||||||
}
|
}
|
||||||
void config(){
|
void config(){
|
||||||
char *main[] = {"Testing","Settings"}; //menu 0
|
char *main[] = {"Testing","Settings"}; //menu 0
|
||||||
char *mainTesting[] = {"Walk Test","Silent Wlk Test","Strobe Test","Auto Sys Test"}; //menu 1
|
char *mainTesting[] = {"Walk Test","Silent Wlk Test","Strobe Test"}; //menu 1
|
||||||
char *mainSettings[] = {"Fire Alarm","Panel"}; //menu 2
|
char *mainSettings[] = {"Fire Alarm","Panel"}; //menu 2
|
||||||
char *mainSettingsFireAlarmSettings[] = {"Coding: ","Verification","Pre-Alarm","Audible Silence: "}; //menu 3
|
char *mainSettingsFireAlarmSettings[] = {"Coding","Verification","Pre-Alarm","Audible Sil.: "}; //menu 3
|
||||||
char *mainSettingsVerificationSettings[] = {"Verification: ","Verification Time: "}; //menu 4
|
char *mainSettingsVerificationSettings[] = {"Verification: ","Verif. Time"}; //menu 4
|
||||||
char *mainSettingsFireAlarmSettingsCoding[] = {"Temporal Three","Marchtime","4-4","Continuous","California","Slower Marchtime"}; //menu 5
|
char *mainSettingsFireAlarmSettingsCoding[] = {"Temporal Three","Marchtime","4-4","Continuous","California","Slow Marchtime"}; //menu 5
|
||||||
char *mainSettingsFireAlarmSettingsPreAlarmSettings[] = {"Pre-Alarm: ","First Stage Time: ","Smoke Detector Pre-Alarm Settings"}; //menu 6
|
char *mainSettingsFireAlarmSettingsPreAlarmSettings[] = {"Pre-Alarm: ","stage 1: ","Detector PreAlrm"}; //menu 6
|
||||||
char *mainSettingsFireAlarmSettingsPreAlarmSettingsSmokeDetectorPreAlarmSettings[] = {"Smoke Detector Pre-Alarm: ","Smoke Detector Starts First Stage: ","Smoke Detector Timeout: "}; //menu 7
|
char *mainSettingsFireAlarmSettingsPreAlarmSettingsSmokeDetectorPreAlarmSettings[] = {"Det. PreAlrm: ","Det. 1st stge: ","Det. Tmeout: "}; //menu 7
|
||||||
char *mainPanelSettings[] = {"Panel Name","Panel Security: ","Homescreen","LCD Timeout: "}; //menu 8
|
char *mainPanelSettings[] = {"Panel Name","Panel Security","LCD Timeout: ","Factory Reset"}; //menu 8
|
||||||
char *mainPanelSettingsPanelSecurity[] = {"None","Keyswitch","Passcode"}; //menu 9
|
char *mainPanelSettingsPanelSecurity[] = {"None","Keyswitch","Passcode"}; //menu 9
|
||||||
char *mainPanelSettingsHomescreen[] = {"Panel Name", "Stats for Nerds"}; //menu 10
|
char *mainPanelSettingsPanelName[] = {"Enter Name:"}; //menu 10
|
||||||
char *mainPanelSettingsHomescreenStatsForNerds[] = {"Zone Input Voltages"}; //menu 11
|
|
||||||
|
// char *mainPanelSettingsHomescreen[] = {"Panel Name", "Stats for Nerds"}; //menu 10
|
||||||
|
// char *mainPanelSettingsHomescreenStatsForNerds[] = {"Zone Input Voltages"}; //menu 11
|
||||||
if (digitalRead(32) == HIGH){ //RESET BUTTON
|
if (digitalRead(32) == HIGH){ //RESET BUTTON
|
||||||
resetPressed = true;
|
resetPressed = true;
|
||||||
} else {
|
} else {
|
||||||
@ -574,7 +591,6 @@ void config(){
|
|||||||
drillPressed = false;
|
drillPressed = false;
|
||||||
drillStillPressed = false;
|
drillStillPressed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (configPage == 0){
|
if (configPage == 0){
|
||||||
if (resetPressed == true and resetStillPressed == false){
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
if (cursorPosition == 0){ //main screen
|
if (cursorPosition == 0){ //main screen
|
||||||
@ -612,12 +628,8 @@ void config(){
|
|||||||
} else if (cursorPosition == 1) {
|
} else if (cursorPosition == 1) {
|
||||||
cursorPosition = 2;
|
cursorPosition = 2;
|
||||||
configTop = (String)mainTesting[2];
|
configTop = (String)mainTesting[2];
|
||||||
configBottom = (String)mainTesting[3];
|
|
||||||
} else if (cursorPosition == 2) {
|
|
||||||
cursorPosition = 3;
|
|
||||||
configTop = (String)mainTesting[3];
|
|
||||||
configBottom = (String)mainTesting[0];
|
configBottom = (String)mainTesting[0];
|
||||||
} else if (cursorPosition == 3) {
|
} else if (cursorPosition == 2) {
|
||||||
cursorPosition = 0;
|
cursorPosition = 0;
|
||||||
configTop = (String)mainTesting[0];
|
configTop = (String)mainTesting[0];
|
||||||
configBottom = (String)mainTesting[1];
|
configBottom = (String)mainTesting[1];
|
||||||
@ -627,6 +639,7 @@ void config(){
|
|||||||
cursorPosition = 0;
|
cursorPosition = 0;
|
||||||
configTop = (String)main[0];
|
configTop = (String)main[0];
|
||||||
configBottom = (String)main[1];
|
configBottom = (String)main[1];
|
||||||
|
strobe = false;
|
||||||
} else if (drillPressed == true and drillStillPressed == false){
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
if (cursorPosition == 0){
|
if (cursorPosition == 0){
|
||||||
walkTest = true;
|
walkTest = true;
|
||||||
@ -645,13 +658,288 @@ void config(){
|
|||||||
} else if (cursorPosition == 2) {
|
} else if (cursorPosition == 2) {
|
||||||
if (strobe == false){
|
if (strobe == false){
|
||||||
strobe = true;
|
strobe = true;
|
||||||
|
configTop = (String)mainTesting[2]+" *";
|
||||||
} else {
|
} else {
|
||||||
strobe = false;
|
strobe = false;
|
||||||
|
configTop = (String)mainTesting[2];
|
||||||
}
|
}
|
||||||
} else if (cursorPosition == 3) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (configPage == 2){
|
||||||
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
|
if (cursorPosition == 0){ //main screen
|
||||||
|
cursorPosition = 1;
|
||||||
|
configTop = (String)mainSettings[1];
|
||||||
|
configBottom = (String)mainSettings[0];
|
||||||
|
} else if (cursorPosition == 1){
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettings[0];
|
||||||
|
configBottom = (String)mainSettings[1];
|
||||||
|
}
|
||||||
|
} else if (silencePressed == true and silenceStillPressed == false){
|
||||||
|
configPage = 0;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)main[0];
|
||||||
|
configBottom = (String)main[1];
|
||||||
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
configPage = 3; //change screen to facp settings
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[0];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[1];
|
||||||
|
} else if (cursorPosition == 1){
|
||||||
|
configPage = 8; //change screen to facp settings
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainPanelSettings[0];
|
||||||
|
configBottom = (String)mainPanelSettings[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (configPage == 3){
|
||||||
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
cursorPosition = 1;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[1];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[2];
|
||||||
|
} else if (cursorPosition == 1) {
|
||||||
|
cursorPosition = 2;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[2];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[3]+audibleSilence;
|
||||||
|
} else if (cursorPosition == 2) {
|
||||||
|
cursorPosition = 3;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[3]+audibleSilence;
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[0];
|
||||||
|
} else if (cursorPosition == 3) {
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[0];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[1];
|
||||||
|
}
|
||||||
|
} else if (silencePressed == true and silenceStillPressed == false){
|
||||||
|
configPage = 2;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettings[0];
|
||||||
|
configBottom = (String)mainSettings[1];
|
||||||
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
configPage = 5;
|
||||||
|
cursorPosition = 0;
|
||||||
|
|
||||||
|
if (codeWheel == 0){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[0] + "*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[0];
|
||||||
|
}
|
||||||
|
if (codeWheel == 1){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[1] + "*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[1];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 1) {
|
||||||
|
configPage = 4;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettingsVerificationSettings[0];
|
||||||
|
configBottom = (String)mainSettingsVerificationSettings[1];
|
||||||
|
} else if (cursorPosition == 2) {
|
||||||
|
configPage = 6;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsPreAlarmSettings[0];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsPreAlarmSettings[1];
|
||||||
|
} else if (cursorPosition == 3) {
|
||||||
|
if (audibleSilence == true){
|
||||||
|
audibleSilence = false;
|
||||||
|
EEPROM.write(79,0);
|
||||||
|
} else {
|
||||||
|
audibleSilence = true;
|
||||||
|
EEPROM.write(79,1);
|
||||||
|
}
|
||||||
|
EEPROM.commit();
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[3]+audibleSilence;
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (configPage == 8){
|
||||||
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
cursorPosition = 1;
|
||||||
|
configTop = (String)mainPanelSettings[1];
|
||||||
|
configBottom = (String)mainPanelSettings[2];
|
||||||
|
} else if (cursorPosition == 1) {
|
||||||
|
cursorPosition = 2;
|
||||||
|
configTop = (String)mainPanelSettings[2];
|
||||||
|
configBottom = (String)mainPanelSettings[3];
|
||||||
|
} else if (cursorPosition == 2) {
|
||||||
|
cursorPosition = 3;
|
||||||
|
configTop = (String)mainPanelSettings[3];
|
||||||
|
configBottom = (String)mainPanelSettings[0];
|
||||||
|
} else if (cursorPosition == 3) {
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainPanelSettings[0];
|
||||||
|
configBottom = (String)mainPanelSettings[1];
|
||||||
|
}
|
||||||
|
} else if (silencePressed == true and silenceStillPressed == false){
|
||||||
|
configPage = 2;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettings[0];
|
||||||
|
configBottom = (String)mainSettings[1];
|
||||||
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
configPage = 10;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = "Enter Name:";
|
||||||
|
configBottom = (String)panelName;
|
||||||
|
lcd.blink_on();
|
||||||
|
|
||||||
|
} else if (cursorPosition == 1) {
|
||||||
|
|
||||||
|
} else if (cursorPosition == 2) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (configPage == 10){
|
||||||
|
|
||||||
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
|
clearTimer = 0;
|
||||||
|
if (panelNameList[cursorPosition] == 90){
|
||||||
|
panelNameList[cursorPosition] = 32;
|
||||||
|
} else if (panelNameList[cursorPosition] == 32){
|
||||||
|
panelNameList[cursorPosition] = 39;
|
||||||
|
} else if (panelNameList[cursorPosition] == 39){
|
||||||
|
panelNameList[cursorPosition] = 45;
|
||||||
|
} else if (panelNameList[cursorPosition] == 57){
|
||||||
|
panelNameList[cursorPosition] = 65;
|
||||||
|
} else {
|
||||||
|
panelNameList[cursorPosition] = panelNameList[cursorPosition] + 1;
|
||||||
|
}
|
||||||
|
} else if (resetPressed==true and resetStillPressed==true) {
|
||||||
|
clearTimer++;
|
||||||
|
if (clearTimer >= 1000) {
|
||||||
|
panelNameList[cursorPosition] = 32;
|
||||||
|
}
|
||||||
|
} else if (silencePressed == true and silenceStillPressed == false){
|
||||||
|
int x=0;
|
||||||
|
for (int i=11; i<=26; i++){ //write new panel name
|
||||||
|
EEPROM.write(i,panelNameList[x]);
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
lcd.blink_off();
|
||||||
|
EEPROM.commit();
|
||||||
|
configPage = 8;
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainPanelSettings[0];
|
||||||
|
configBottom = (String)mainPanelSettings[1];
|
||||||
|
x=0;
|
||||||
|
panelName = "";
|
||||||
|
for (int i=11; i<=71; i++){ //read panel name
|
||||||
|
if (EEPROM.read(i) != 0){
|
||||||
|
panelName = panelName + (char)EEPROM.read(i);
|
||||||
|
panelNameList[x] = EEPROM.read(i);
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
|
currentConfigTop = "bruh";
|
||||||
|
if (cursorPosition != 15){
|
||||||
|
cursorPosition++;
|
||||||
|
} else {
|
||||||
|
cursorPosition = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (configPage == 10){ //make sure the panel doesn't re-render the text on the previous page when exiting
|
||||||
|
configBottom = "";
|
||||||
|
for (int i=0; i<=15; i++){ //generate name to print on lcd
|
||||||
|
configBottom = configBottom + (char)panelNameList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (configPage == 5){
|
||||||
|
if (resetPressed == true and resetStillPressed == false){
|
||||||
|
if (cursorPosition == 0){
|
||||||
|
cursorPosition = 1;
|
||||||
|
if (codeWheel == 1){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[1]+"*";
|
||||||
|
} else{
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[1];
|
||||||
|
}
|
||||||
|
if (codeWheel == 2){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[2]+"*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[2];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 1) {
|
||||||
|
cursorPosition = 2;
|
||||||
|
if (codeWheel == 2){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[2]+"*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[2];
|
||||||
|
}
|
||||||
|
if (codeWheel == 3){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[3]+"*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[3];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 2) {
|
||||||
|
cursorPosition = 3;
|
||||||
|
if (codeWheel == 3){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[3]+"*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[3];
|
||||||
|
}
|
||||||
|
if (codeWheel == 4){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[4]+"*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[4];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 3) {
|
||||||
|
cursorPosition = 4;
|
||||||
|
if (codeWheel == 4){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[4]+"*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[4];
|
||||||
|
}
|
||||||
|
if (codeWheel == 5){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[5]+"*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[5];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 4) {
|
||||||
|
cursorPosition = 5;
|
||||||
|
if (codeWheel == 5){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[5]+"*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[5];
|
||||||
|
}
|
||||||
|
if (codeWheel == 0){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[0]+"*";
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[0];
|
||||||
|
}
|
||||||
|
} else if (cursorPosition == 5) {
|
||||||
|
cursorPosition = 0;
|
||||||
|
if (codeWheel == 0){
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[0]+"*";
|
||||||
|
} else {
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[0];
|
||||||
|
}
|
||||||
|
if (codeWheel == 1){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[1]+"*";
|
||||||
|
} else{
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (silencePressed == true and silenceStillPressed == false){
|
||||||
|
configPage = 3; //change screen to facp settings
|
||||||
|
cursorPosition = 0;
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettings[0];
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettings[1];
|
||||||
|
} else if (drillPressed == true and drillStillPressed == false){
|
||||||
|
EEPROM.write(7,cursorPosition);
|
||||||
|
EEPROM.commit();
|
||||||
|
configTop = (String)mainSettingsFireAlarmSettingsCoding[cursorPosition]+"*";
|
||||||
|
if (cursorPosition == 5){
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[0];
|
||||||
|
} else {
|
||||||
|
configBottom = (String)mainSettingsFireAlarmSettingsCoding[cursorPosition+1];
|
||||||
|
}
|
||||||
|
codeWheel = EEPROM.read(7); //codeWheel setting address
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (resetPressed == true and resetStillPressed == false){
|
// if (resetPressed == true and resetStillPressed == false){
|
||||||
@ -670,9 +958,12 @@ void config(){
|
|||||||
lcd.print(configBottom);
|
lcd.print(configBottom);
|
||||||
currentConfigTop = configTop;
|
currentConfigTop = configTop;
|
||||||
currentConfigBottom = configBottom;
|
currentConfigBottom = configBottom;
|
||||||
|
if (configPage == 10){
|
||||||
|
lcd.setCursor(cursorPosition,1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (digitalRead(32) == HIGH){ //RESET BUTTON
|
if (digitalRead(32) == HIGH){ //RESET BUTTON
|
||||||
|
Loading…
x
Reference in New Issue
Block a user