Liu Song’s Projects


~/Projects/AWTRIX2.0-Controller

git clone https://code.lsong.org/AWTRIX2.0-Controller

Commit

Commit
cd9e4b537b0fc58f59252fb090d0a5a41a0724fa
Author
Stephan Mühl <31169771+[email protected]>
Date
2020-07-04 15:30:07 +0200 +0200
Diffstat
 src/AWTRIXController.cpp | 46 +++++++++++++++++++++++++++++++++++++++++

Update AWTRIXController.cpp


diff --git a/src/AWTRIXController.cpp b/src/AWTRIXController.cpp
index cf903a9de17b4c70fa22c10b576b34e063153131..87405e51ee2d57b88a0ae994c30d12f4efdd7656 100644
--- a/src/AWTRIXController.cpp
+++ b/src/AWTRIXController.cpp
@@ -42,7 +42,7 @@
 bool MatrixType2 = false;
 int matrixTempCorrection = 0;
 
-String version = "0.26";
+String version = "0.3";
 char awtrix_server[16] = "0.0.0.0";
 char Port[5] = "7001"; // AWTRIX Host Port, default = 7001
 IPAddress Server;
@@ -620,6 +620,8 @@ 		delay(100);
 	}
 }
 
+
+
 void utf8ascii(char *s)
 {
 	int k = 0;
@@ -631,6 +633,46 @@ 		if (c != 0)
 			s[k++] = c;
 	}
 	s[k] = 0;
+}
+
+void checkReset()
+{
+	int resetTimeShow = 0;
+	int resetStartTime = millis();
+	while (digitalRead(tasterPin[0]) && digitalRead(tasterPin[2]))
+	{
+
+		int showTime = (resetTime + (resetStartTime - millis())) / 1000;
+
+		if (resetTimeShow != showTime)
+		{
+			resetTimeShow = showTime;
+			matrix->clear();
+			matrix->setTextColor(matrix->Color(255, 0, 0));
+			matrix->setCursor(3, 6);
+			matrix->print("RESET! " + (String)showTime);
+			matrix->show();
+			if (showTime < 1)
+			{
+				matrix->clear();
+				matrix->setCursor(6, 6);
+				matrix->setTextColor(matrix->Color(255, 0, 0));
+				matrix->print("RESET!");
+				matrix->show();
+				delay(1000);
+				if (SPIFFS.begin())
+				{
+					delay(1000);
+					SPIFFS.remove("/awtrix.json");
+
+					SPIFFS.end();
+					delay(1000);
+				}
+				wifiManager.resetSettings();
+				ESP.reset();
+			}
+		}
+	}
 }
 
 String GetChipID()
@@ -1338,6 +1380,8 @@ 			}
 			wifiManager.resetSettings();
 			ESP.reset();
 		}
+
+		checkReset();
 
 		wifiManager.setAPStaticIPConfig(IPAddress(172, 217, 28, 1), IPAddress(172, 217, 28, 1), IPAddress(255, 255, 255, 0));
 		WiFiManagerParameter custom_awtrix_server("server", "AWTRIX Host", awtrix_server, 16);