Updated the main app by adding the previousDisplay functionality

This commit is contained in:
anschrammh 2020-01-20 08:28:26 +01:00
parent 5fc76ac6a2
commit 80ed2f2080

View File

@ -9,15 +9,16 @@
SAB sab;
unsigned long currentMs = 0, buttonMs = 0;
unsigned long currentMs = 0, buttonDownMs(0), buttonUpMs(0);
volatile boolean ioStateChange(false);
boolean buttonPushSampled(false);
View1Packet v1p = {sab.getRtcManager().getDateTime(), sab.getSdCardManager().getSize(GBYTE), sab.getPowerManager().getPowerInfo(),0, sab.getSoftVersion(), &sab};
ViewAPPacket vap = {sab.getConnectivityManager().softAPmacAddress(), sab.getConnectivityManager().softAPSSID(), sab.getConnectivityManager().softAPIP(), sab.getConnectivityManager().softAPgetStationNum(), sab.getConnectivityManager().isAPEnabled()};
ViewSTAPacket vstap = {sab.getConnectivityManager().macAddress(), sab.getConnectivityManager().localIP(), sab.getConnectivityManager().RSSI(), sab.getConnectivityManager().isSTAEnabled()};
ViewIoInfoPacket vio = {{0},{0}};
SdCardApiPacket sdCardApiPacket = {NULL, NULL};
DataLogger dataLogger = {HttpClient("192.168.0.17", "/esp8266/dataLogger.php", 1234), 0, false};
//DataLogger dataLogger = {HttpClient("192.168.0.17", "/esp8266/dataLogger.php", 1234), 0, false};
void setup()
{
@ -70,6 +71,7 @@ void setup()
sab.getWebServer().addApiRoutine("/esp/restart", &(espRestartApi), &sab, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/esp/reset", &(espResetApi), &sab, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/sab/wifi/stainfo", &(staWifiInfoApi), &sab, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/sab/wifi/scanner", &(apScannerApi), NULL, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/sab/systeminfo", &(systemInfoApi), &sab, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/sab/power/info", &(powerInfoApi), &sab, WEBServer<WEBClient>::GET);
sab.getWebServer().addApiRoutine("/sab/power/set/freq", &(powerSettingsApi), &sab, WEBServer<WEBClient>::GET);
@ -82,8 +84,8 @@ void setup()
sab.getTaskSchedulerManager().addTask((uint16_t)0, TaskSchedulerManagerHelper::Schedule::scheduleBuilder()->setMillis(5000), &(task_blink), &sab);
sab.getTaskSchedulerManager().addTask(1, TaskSchedulerManagerHelper::Schedule::scheduleBuilder()->setSeconds(10), &(task_batt_sensing), &v1p);
dataLogger.client.keepAlive(true);
sab.getTaskSchedulerManager().addTask(2, TaskSchedulerManagerHelper::Schedule::scheduleBuilder()->setSeconds(1)->setTriggerRightAway(false), &(task_post_data_logger), &dataLogger);
//dataLogger.client.keepAlive(true);
//sab.getTaskSchedulerManager().addTask(2, TaskSchedulerManagerHelper::Schedule::scheduleBuilder()->setSeconds(1)->setTriggerRightAway(false), &(task_post_data_logger), &dataLogger);
Serial.println("End setup");
}
@ -106,13 +108,11 @@ void loop()
sab.getIoManager().getPcf().digitalReadAll(vio.ioState);
sab.getIoManager().getPcf().getPinModeAll(vio.ioMode);
sab.getScreenManager().displayView();
if(ioStateChange) Serial.println(F("ISR triggered"));
ioStateChange = false;
}
if(digitalRead(GPIO_0) == 0 && millis() - buttonMs > 500)
/*if(digitalRead(GPIO_0) == 0 && millis() - buttonMs > 500)
{
buttonMs = millis();
sab.getScreenManager().displayNextView();
@ -120,12 +120,40 @@ void loop()
Serial.println("Changing view");
Serial.print("Selected view is : ");Serial.println(sab.getScreenManager().getCurrentViewUID());
#endif
}*/
if(digitalRead(GPIO_0) == 0 && !buttonPushSampled)
{
buttonPushSampled = true;
buttonDownMs = millis();
}
//Run the webServer
sab.getWebServer().runServer();
sab.getFtpServer().runServer();
sab.getTaskSchedulerManager().runTaskScheduler();
if(digitalRead(GPIO_0) == 1 && buttonPushSampled)
{
buttonPushSampled = false;
buttonUpMs = millis();
if(buttonUpMs - buttonDownMs < 700 && buttonUpMs - buttonDownMs > 200)//Short press
{
sab.getScreenManager().displayNextView();
#ifdef DEBUG
Serial.printf("Changing view\nSelected view is : %d\n",sab.getScreenManager().getCurrentViewUID());
#endif
}
}
if(digitalRead(GPIO_0) == 0 && buttonPushSampled && millis() - buttonDownMs > 700)
{
buttonPushSampled = false;
sab.getScreenManager().displayPreviousView();
#ifdef DEBUG
Serial.printf("Changing view\nSelected view is : %d\n",sab.getScreenManager().getCurrentViewUID());
#endif
}
//Run the differentes services
sab.run();
}
ICACHE_RAM_ATTR void ioISR()