#include <LiquidCrystal_I2C.h>
#define power 3
#define hand 4
#define chillerDissable 5
#define spare 6
#define FRbypass 7
#define ROflush 8
#define SV1 9
#define SV2 10
#define power_LED 11
#define hand_LED 12
#define chillerDissable_LED 13
#define spare_LED 14
#define FRbypass_LED 15
#define ROflush_LED 16
#define SV1_LED 17
#define SV2_LED 2
LiquidCrystal_I2C lcd(0x27, 20, 4);
int address = 100;
char data[64] = {0};
int y100;
int y200;
int y[16];
float z[10];
int packet1 = 21;
int packet2 = 22;
int packet3 = 23;
int packet4 = 24;
int packet5 = 25;
int packet6 = 26;
int packet7 = 27;
int packet8 = 28;
int comRelease = 29;
int commandStart = 30;
int commandStop = 40;
int commandATO = 41;
int commandAWC = 42;
int timecodeSec = 55;
int commandConfig = 56;
int commandDefault = 57;
int commandEStop = 91;
int typeIdent = 900;
int page;
int paragraph;
int sentence;
int verb;
int noun;
void setup() {
page = 0;
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(power, INPUT_PULLUP);
pinMode(hand, INPUT_PULLUP);
pinMode(chillerDissable, INPUT_PULLUP);
pinMode(spare, INPUT_PULLUP);
pinMode(FRbypass, INPUT_PULLUP);
pinMode(ROflush, INPUT_PULLUP);
pinMode(SV1, INPUT_PULLUP);
pinMode(SV2, INPUT_PULLUP);
pinMode(power_LED, OUTPUT);
pinMode(hand_LED, OUTPUT);
pinMode(chillerDissable_LED, OUTPUT);
pinMode(spare_LED, OUTPUT);
pinMode(FRbypass_LED, OUTPUT);
pinMode(ROflush_LED, OUTPUT);
pinMode(SV1_LED, OUTPUT);
pinMode(SV2_LED, OUTPUT);
lcd.setCursor(0,0);
lcd.print("Initializing");
digitalWrite(power_LED, HIGH);
delay(100);
digitalWrite(hand_LED, HIGH);
delay(100);
digitalWrite(chillerDissable_LED, HIGH);
delay(100);
digitalWrite(spare_LED, HIGH);
delay(100);
digitalWrite(FRbypass_LED, HIGH);
delay(100);
digitalWrite(ROflush_LED, HIGH);
delay(100);
digitalWrite(SV1_LED, HIGH);
delay(100);
digitalWrite(SV2_LED, HIGH);
delay(100);
digitalWrite(power_LED, LOW);
delay(100);
digitalWrite(hand_LED, LOW);
delay(100);
digitalWrite(chillerDissable_LED, LOW);
delay(100);
digitalWrite(spare_LED, LOW);
delay(100);
digitalWrite(FRbypass_LED, LOW);
delay(100);
digitalWrite(ROflush_LED, LOW);
delay(100);
digitalWrite(SV1_LED, LOW);
delay(100);
digitalWrite(SV2_LED, LOW);
delay(50);
lcd.clear();
for(int i = 1; i <= 15; i++) {
y[i] = 0;
}
for(int i = 1; i <= 9; i++) {
z[i] = 0;
}
lcd.setCursor(0,0);
lcd.print("Waiting");
while(page == 0) {
if(digitalRead(power) == HIGH) {
paragraph = 1;
seentence = 1;
}
else if(digitalRead(power) == LOW) {
paragraph = 2;
seentence = 1;
}
while(pargraph == 1) {
while(sentence == 1) {
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Power Off");
sentence = 2;
delay(1);
}
while(sentence == 2) {
}
}
while(paragraph == 2) {
while(sentence == 1) {
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Power On");
sentence = 2;
delay(1);
}
while(sentence == 2) {
}
}
}
}
void loop() {
getSerialData();
button();
}
void getSerialData() {
byte n = Serial.available();
if (n != 0) {
byte m = Serial.readBytesUntil('\n', data, 64);
data[m] = '\0'; //null-byte
y100 = atoi(strtok(data, ","));
y200 = atoi(strtok(NULL, ","));
if(y100 = address) {
if(y200 == 0) {
}
if(y200 == commandEStop) {
}
if(y200 == packet1) {
z[1] = atof(strtok(NULL, ","));
z[2] = atof(strtok(NULL, ","));
z[3] = atof(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet2);
}
if(y200 == packet2) {
z[4] = atof(strtok(NULL, ","));
z[5] = atof(strtok(NULL, ","));
z[6] = atof(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet3);
}
if(y200 == packet3) {
z[7] = atof(strtok(NULL, ","));
z[8] = atof(strtok(NULL, ","));
z[9] = atof(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet4);
}
if(y200 == packet4) {
y[1] = atoi(strtok(NULL, ","));
y[2] = atoi(strtok(NULL, ","));
y[3] = atoi(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet5);
}
if(y200 == packet5) {
y[4] = atoi(strtok(NULL, ","));
y[5] = atoi(strtok(NULL, ","));
y[6] = atoi(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet6);
}
if(y200 == packet6) {
y[7] = atoi(strtok(NULL, ","));
y[8] = atoi(strtok(NULL, ","));
y[9] = atoi(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet7);
}
if(y200 == packet7) {
y[10] = atoi(strtok(NULL, ","));
y[11] = atoi(strtok(NULL, ","));
y[12] = atoi(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(packet8);
}
if(y200 == packet8) {
y[13] = atoi(strtok(NULL, ","));
y[14] = atoi(strtok(NULL, ","));
y[15] = atoi(strtok(NULL, ","));
delay(200);
Serial.print(address);
Serial.print(",");
Serial.println(comRelease);
}
if(y200 == comRelease) {
for(int i = 1; i <= 15; i++) {
y[i] = 0;
}
for(int i = 1; i <= 9; i++) {
z[i] = 0;
}
}
}
else if(y100 != address) {
}
}
}
void button() {
}