diff --git a/README.md b/README.md index 6544188..49f5a96 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ +<<<<<<< HEAD +# WaterishOS-Revision3.0x +======= # WaterishOS-Revision2.0x - This is Waterish OS Revision 2 for Board v2 based on esp8266 \ No newline at end of file + This is Waterish OS Revision 2 for Board v2 based on esp8266 +>>>>>>> 4ea1442f6cc3a60cf380eb9710072af0624eefff diff --git a/WaterishOS-core3.0/WaterishOS-core3.0.ino b/WaterishOS-core3.0/WaterishOS-core3.0.ino index 9661500..99159a5 100644 --- a/WaterishOS-core3.0/WaterishOS-core3.0.ino +++ b/WaterishOS-core3.0/WaterishOS-core3.0.ino @@ -26,12 +26,9 @@ #include #include #include -#include Adafruit_MCP23017 mcp; -using namespace ace_button; long tslr = 0; WiFiClient espClient; -boolean allowbuttonint = true; PubSubClient client("siwatsystem.com", 1883, espClient); PubSubClientTools mqtt(client); ThreadController threadControl = ThreadController(); @@ -44,23 +41,18 @@ boolean lastsensorstate[12]; boolean firstrun = true; FlowMeter sensor1 = FlowMeter(12); FlowMeter sensor2 = FlowMeter(13); -boolean devcon = false; -int devconmenu = 0; volatile boolean awakenByInterrupt = false; LiquidCrystal_I2C lcd(0x3F, 16, 2); int menu; -void writelcd(String line1, String line2) { - if (!devcon) { - lcd.clear(); - lcd.print(line1); - lcd.setCursor(0, 1); - lcd.print(line2); - Serial.print("Writing to LCD: " + line1 + " " + line2 + "\n"); - } +void writelcd(String line1, String line2){ + lcd.clear(); + lcd.print(line1); + lcd.setCursor(0,1); + lcd.print(line2); } void updatelcd() { - if (!devcon)writelcd("1: " + String((int)sensor1.getCurrentFlowrate()) + "L/h " + String(sensor1.getTotalVolume()) + "L", "2:" + String((int)sensor2.getCurrentFlowrate()) + "L/h " + String(sensor2.getTotalVolume()) + "L"); + writelcd("1: "+String((int)sensor1.getCurrentFlowrate())+"L/h "+String(sensor1.getTotalVolume())+"L","2:"+String((int)sensor2.getCurrentFlowrate())+"L/h "+String(sensor2.getTotalVolume())+"L"); } void ICACHE_RAM_ATTR read1() { sensor1.count(); @@ -83,51 +75,49 @@ void updatemqtt() { // ESPCommander EXTENDED v1.2 // For Legal Distribution of this code, the comment must not be removed! void espcommander(String topic, String rawcommand) { - StaticJsonDocument<200> doc; - DeserializationError error = deserializeJson(doc, rawcommand); - if (error) { - Serial.print(F("deserializeJson() failed: ")); - Serial.println(error.c_str()); + StaticJsonDocument<200> doc; + DeserializationError error = deserializeJson(doc, rawcommand); + if (error) { + Serial.print(F("deserializeJson() failed: ")); + Serial.println(error.c_str()); return; - } - const char* command = doc["command"]; - const char* value = doc["value"]; + } + const char* command = doc["command"]; + const char* value = doc["value"]; } //END OF ESPCOMMANDER CODE void setup() { - Serial.begin(115200); lcd.begin(); - writelcd(" Siwat INC (tm) ", " Waterish OS"); + writelcd(" Siwat INC (tm) "," Waterish OS"); delay(1000); WiFi.mode(WIFI_STA); - WiFi.disconnect(true); WiFi.begin(ssid, password); int connectionattempt = 0; while (WiFi.status() != WL_CONNECTED && online) { //wait for it ... (Wait for Wifi Connection) - writelcd("WiFi Connecting", " Attempt " + String(connectionattempt)); + writelcd("WiFi Connecting"," Attempt "+String(connectionattempt)); connectionattempt++; delay(500); if (connectionattempt >= 60) { - writelcd(" Cannot Connect", " Going Offline!"); + writelcd(" Cannot Connect"," Going Offline!"); online = false; } } String wifiname(ssid); - if (online)writelcd(" WiFi Connected", wifiname); + if(online)writelcd(" WiFi Connected",wifiname); delay(3000); - writelcd("Boot Sequence P3", " Loading Kernel"); + writelcd("Boot Sequence P3"," Loading Kernel"); + Serial.begin(115200); pinMode(14, INPUT_PULLUP); pinMode(12, INPUT); pinMode(13, INPUT); - pinMode(0, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(12), read1, RISING); attachInterrupt(digitalPinToInterrupt(13), read2, RISING); delay(1000); - writelcd("Boot Sequence P3", "Waking Processor"); + writelcd("Boot Sequence P3","Waking Processor"); delay(1000); - writelcd(" SETTINGS.H", "co-processor:OFF"); + writelcd(" SETTINGS.H","co-processor:OFF"); delay(3000); mcp.begin(); for (int i = 0; i <= 15; i++) @@ -137,58 +127,34 @@ void setup() { mcp.setupInterruptPin(i, RISING); } delay(1000); - writelcd("Boot Sequence P3", " Success!"); + writelcd("Boot Sequence P3"," Success!"); delay(2000); - writelcd("Waterish OS a3.9", "Reading Sensors"); + writelcd("Waterish OS a3.9","Reading Sensors"); delay(1000); - writelcd(" Telemetry Node", "siwatsystem.com"); - if (client.connect("waterishos", telemetryuser, telemetrykey)) { - writelcd(" Telemetry Node", "Connected"); + writelcd(" Telemetry Node","siwatsystem.com"); + if (client.connect("waterishos",telemetryuser,telemetrykey)) { + writelcd(" Telemetry Node","Connected"); mqtt.subscribe("/waterishos/node" + nodename + "command", espcommander); delay(1000); } else { - writelcd(" Telemetry Node", " Failed Offline"); - online = false; + writelcd(" Telemetry Node"," Failed Offline"); + online=false; delay(3000); } datacollector.onRun(collectdata); datacollector.setInterval(1000); - if (online)mqttupdater.onRun(updatemqtt); - if (online)mqttupdater.setInterval(1000); + if(online)mqttupdater.onRun(updatemqtt); + if(online)mqttupdater.setInterval(1000); lcdmanager.onRun(updatelcd); lcdmanager.setInterval(250); threadControl.add(&datacollector); threadControl.add(&lcdmanager); - if (online)threadControl.add(&mqttupdater); - if (online)updatemqtt(); - + if(online)threadControl.add(&mqttupdater); + if(online)updatemqtt(); + } void loop() { - if (online)client.loop(); - if (!devcon)threadControl.run(); -} -void drawcon() { - if (devconmenu == 1) { - writelcd("connectionchck.c", "Check Connection"); - } -} -void startdevcon() { - allowbuttonint = false; - devcon = true; //no going back, Delete Waterish OS and Install Siwat INC(R) DEVCON OS - writelcd(" SIWAT INC(R) ", "DEVCON OS V3.2.4"); - delay(1000); - writelcd("DEVCON TOOLKITS", "3 Extension Load"); - delay(1000); - writelcd("Initia Extension", "connectionchck.c"); - delay(2000); - writelcd("Initia Extension", "hall_pid_tuner.c"); - delay(2000); - writelcd("Initia Extension", "credit_display.c"); - delay(2000); - writelcd("DEVCON TOOLKITS", "set WTOS at 0x3D"); - delay(1000); - allowbuttonint = true; - devconmenu = 1; - drawcon(); + if(online)client.loop(); + threadControl.run(); } diff --git a/WaterishOS-core3.0/WaterishOS-core3.0.ino.generic.bin b/WaterishOS-core3.0/WaterishOS-core3.0.ino.generic.bin deleted file mode 100644 index ce32737..0000000 Binary files a/WaterishOS-core3.0/WaterishOS-core3.0.ino.generic.bin and /dev/null differ