From 16a5695621f57189f497f9157b16042feb37260c Mon Sep 17 00:00:00 2001 From: aderusha Date: Mon, 15 Nov 2021 11:21:35 -0500 Subject: [PATCH] Update HASPone branding --- Arduino_Sketch/HASwitchPlate.ino.d1_mini.bin | Bin 658864 -> 658912 bytes .../HASwitchPlate/HASwitchPlate.ino | 54 +++++++++--------- .../debug/HASwitchPlate.ino.d1_mini.elf | Bin 3027484 -> 3027508 bytes 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Arduino_Sketch/HASwitchPlate.ino.d1_mini.bin b/Arduino_Sketch/HASwitchPlate.ino.d1_mini.bin index 26d265df2c42d90fa585e91bfeabb6ee5951b03f..eee6f0eaff3523e7a6b7ad8a6d215466e376b9bc 100644 GIT binary patch delta 12326 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 delta 12323 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 Xzbd%?joT%l(>s2a=Wjo9Yz_YlgVib@ diff --git a/Arduino_Sketch/HASwitchPlate/HASwitchPlate.ino b/Arduino_Sketch/HASwitchPlate/HASwitchPlate.ino index 5f4dee4..7e4cfd9 100644 --- a/Arduino_Sketch/HASwitchPlate/HASwitchPlate.ino +++ b/Arduino_Sketch/HASwitchPlate/HASwitchPlate.ino @@ -63,7 +63,7 @@ char nextionBaud[7] = "115200"; //////////////////////////////////////////////////////////////////////////////////////////////////// -const float haspVersion = 1.04; // Current HASP software release version +const float haspVersion = 1.04; // Current HASPone software release version const uint16_t mqttMaxPacketSize = 2048; // Size of buffer for incoming MQTT message byte nextionReturnBuffer[128]; // Byte array to pass around data coming from the panel uint8_t nextionReturnIndex = 0; // Index for nextionReturnBuffer @@ -174,7 +174,7 @@ String lcdFirmwareUrl = "https://raw.githubusercontent.com/HASwitchPlate/HASPone void setup() { // System setup debugPrint(String(F("\n\n================================================================================\n"))); - debugPrintln(String(F("SYSTEM: Starting HASwitchPlate v")) + String(haspVersion)); + debugPrintln(String(F("SYSTEM: Starting HASPone v")) + String(haspVersion)); debugPrintln(String(F("SYSTEM: Last reset reason: ")) + String(ESP.getResetInfo())); debugPrintln(String(F("SYSTEM: heapFree: ")) + String(ESP.getFreeHeap()) + String(F(" heapMaxFreeBlockSize: ")) + String(ESP.getMaxFreeBlockSize())); debugPrintCrash(); @@ -1118,7 +1118,7 @@ void nextionProcessInput() } if (rebootOnp0b1 && (nextionPage == "0") && (nextionButtonID == "1")) { - debugPrintln(String(F("HMI IN: p[0].b[1] pressed during HASP configuration, rebooting."))); + debugPrintln(String(F("HMI IN: p[0].b[1] pressed during HASPone configuration, rebooting."))); espReset(); } } @@ -1715,7 +1715,7 @@ bool nextionConnect() } } - // Query backlight status. This should always succeed under simulation or non-HASP HMI + // Query backlight status. This should always succeed under simulation or non-HASPone HMI lcdBacklightQueryFlag = true; debugPrintln(F("HMI: Querying LCD backlight status")); Serial1.write(nextionSuffix, sizeof(nextionSuffix)); @@ -1737,7 +1737,7 @@ bool nextionConnect() // This check depends on the HMI having been designed with a version number in the object // defined in lcdVersionQuery. It's OK if this fails, it just means the HMI project is - // not utilizing the version capability that the HASP project makes use of. + // not utilizing the version capability that the HASPone project makes use of. lcdVersionQueryFlag = true; debugPrintln(F("HMI: Querying LCD firmware version number")); nextionSendCmd("get " + lcdVersionQuery); @@ -1747,7 +1747,7 @@ bool nextionConnect() } if (lcdVersionQueryFlag) { // Our flag is still set, meaning we never got a response. This should only happen if - // there's a problem. Non-HASP projects should pass this check with lcdVersion = 0 + // there's a problem. Non-HASPone projects should pass this check with lcdVersion = 0 debugPrintln(F("HMI: LCD version query timed out")); lcdVersionQueryFlag = false; return false; @@ -1882,7 +1882,7 @@ void espWifiConnect() { // We gave it a shot, still couldn't connect, so let WiFiManager run to make one last // connection attempt and then flip to AP mode to collect credentials from the user. - WiFiManagerParameter custom_haspNodeHeader("
HASP Node"); + WiFiManagerParameter custom_haspNodeHeader("
HASPone Node"); WiFiManagerParameter custom_haspNode("haspNode", "
Node Name (required: lowercase letters, numbers, and _ only)", haspNode, 15, " maxlength=15 required pattern='[a-z0-9_]*'"); WiFiManagerParameter custom_groupName("groupName", "Group Name (required)", groupName, 15, " maxlength=15 required"); WiFiManagerParameter custom_mqttHeader("

MQTT"); @@ -2024,7 +2024,7 @@ void espWifiConfigCallback(WiFiManager *myWiFiManager) nextionSendCmd("page 0"); } nextionSetAttr("p[0].b[1].font", "6"); - nextionSetAttr("p[0].b[1].txt", "\" HASP WiFi Setup\\r AP: " + String(wifiConfigAP) + "\\rPassword: " + String(wifiConfigPass) + "\\r\\r\\r\\r\\r\\r\\r http://192.168.4.1\""); + nextionSetAttr("p[0].b[1].txt", "\" HASPone Setup\\r AP: " + String(wifiConfigAP) + "\\rPassword: " + String(wifiConfigPass) + "\\r\\r\\r\\r\\r\\r\\r http://192.168.4.1\""); nextionSendCmd("vis 3,1"); } @@ -2039,14 +2039,14 @@ void espSetupOta() ArduinoOTA.onStart([]() { debugPrintln(F("ESP OTA: update start")); - nextionSetAttr("p[0].b[1].txt", "\"\\rHASP update:\\r\\r\\r \""); + nextionSetAttr("p[0].b[1].txt", "\"\\rHASPone update:\\r\\r\\r \""); nextionSendCmd("page 0"); nextionSendCmd("vis 4,1"); }); ArduinoOTA.onEnd([]() { debugPrintln(F("ESP OTA: update complete")); - nextionSetAttr("p[0].b[1].txt", "\"\\rHASP update:\\r\\r Complete!\\rRestarting.\""); + nextionSetAttr("p[0].b[1].txt", "\"\\rHASPone update:\\r\\r Complete!\\rRestarting.\""); nextionSendCmd("vis 4,1"); delay(1000); espReset(); @@ -2067,7 +2067,7 @@ void espSetupOta() else if (error == OTA_END_ERROR) debugPrintln(F("ESP OTA: ERROR - End Failed")); nextionSendCmd("vis 4,0"); - nextionSetAttr("p[0].b[1].txt", "\"HASP update:\\r FAILED\\rerror: " + String(error) + "\""); + nextionSetAttr("p[0].b[1].txt", "\"HASPone update:\\r FAILED\\rerror: " + String(error) + "\""); delay(1000); nextionSendCmd("page " + String(nextionActivePage)); }); @@ -2079,7 +2079,7 @@ void espSetupOta() void espStartOta(const String &espOtaUrl) { // Update ESP firmware from HTTP/HTTPS URL - nextionSetAttr("p[0].b[1].txt", "\"\\rHASP update:\\r\\r\\r \""); + nextionSetAttr("p[0].b[1].txt", "\"\\rHASPone update:\\r\\r\\r \""); nextionSendCmd("page 0"); nextionSendCmd("vis 4,1"); @@ -2107,18 +2107,18 @@ void espStartOta(const String &espOtaUrl) case HTTP_UPDATE_FAILED: debugPrintln(String(F("ESPFW: HTTP_UPDATE_FAILED error ")) + String(ESPhttpUpdate.getLastError()) + " " + ESPhttpUpdate.getLastErrorString()); nextionSendCmd("vis 4,0"); - nextionSetAttr("p[0].b[1].txt", "\"HASP update:\\r FAILED\\rerror: " + ESPhttpUpdate.getLastErrorString() + "\""); + nextionSetAttr("p[0].b[1].txt", "\"HASPone update:\\r FAILED\\rerror: " + ESPhttpUpdate.getLastErrorString() + "\""); break; case HTTP_UPDATE_NO_UPDATES: debugPrintln(F("ESPFW: HTTP_UPDATE_NO_UPDATES")); nextionSendCmd("vis 4,0"); - nextionSetAttr("p[0].b[1].txt", "\"HASP update:\\rNo update\""); + nextionSetAttr("p[0].b[1].txt", "\"HASPone update:\\rNo update\""); break; case HTTP_UPDATE_OK: debugPrintln(F("ESPFW: HTTP_UPDATE_OK")); - nextionSetAttr("p[0].b[1].txt", "\"\\rHASP update:\\r\\r Complete!\\rRestarting.\""); + nextionSetAttr("p[0].b[1].txt", "\"\\rHASPone update:\\r\\r Complete!\\rRestarting.\""); nextionSendCmd("vis 4,1"); delay(1000); espReset(); @@ -2130,7 +2130,7 @@ void espStartOta(const String &espOtaUrl) //////////////////////////////////////////////////////////////////////////////////////////////////// void espReset() { - debugPrintln(F("RESET: HASP reset")); + debugPrintln(F("RESET: HASPone reset")); if (mqttClient.connected()) { mqttClient.publish(mqttStateJSONTopic, String(F("{\"event_type\":\"hasp_device\",\"event\":\"offline\"}"))); @@ -2463,7 +2463,7 @@ void webHandleRoot() webServer.sendContent(F("WiFi SSID (required)
WiFi Password (required)")); - webServer.sendContent(F("

HASP Node Name (required. lowercase letters, numbers, and _ only)
Group Name (required)")); - webServer.sendContent(F("

HASP Admin Username (optional)
HASP Admin Password (optional)
HASPone Admin Password (optional)

")); // Big menu of possible serial speeds if ((lcdVersion != 1) && (lcdVersion != 2)) - { // HASP lcdVersion 1 and 2 have `bauds=115200` in the pre-init script of page 0. Don't show this option if either of those two versions are running. + { // HASPone lcdVersion 1 and 2 have `bauds=115200` in the pre-init script of page 0. Don't show this option if either of those two versions are running. webServer.sendContent(F("LCD Serial Speed: ")); } @@ -2646,14 +2646,14 @@ void webHandleRoot() { webServer.sendContent(mqttClientId); } - webServer.sendContent(F("
HASP Version: ")); + webServer.sendContent(F("
HASPone FW Version: ")); webServer.sendContent(String(haspVersion)); webServer.sendContent(F("
LCD Model: ")); if (nextionModel != "") { webServer.sendContent(nextionModel); } - webServer.sendContent(F("
LCD Version: ")); + webServer.sendContent(F("
LCD FW Version: ")); webServer.sendContent(String(lcdVersion)); webServer.sendContent(F("
LCD Active Page: ")); webServer.sendContent(String(nextionActivePage)); @@ -2983,7 +2983,7 @@ void webHandleFirmware() webServer.sendContent(F("
")); if (updateEspAvailable) { - webServer.sendContent(F("HASP ESP8266 update available!")); + webServer.sendContent(F("HASPone ESP8266 update available!")); } webServer.sendContent(F("
Update ESP8266 from URL")); webServer.sendContent(F("
")); if (updateLcdAvailable) { - webServer.sendContent(F("HASP LCD update available!")); + webServer.sendContent(F("HASPone LCD update available!")); } webServer.sendContent(F("
Update Nextion LCD from URL http only")); webServer.sendContent(F("