optimise wifi disconnect check
This commit is contained in:
parent
900cf664b4
commit
24dee5c4ec
@ -51,6 +51,7 @@ namespace Ir {
|
||||
{
|
||||
case 0x9F:
|
||||
avrOn = false;
|
||||
tCheckWifi.enable();
|
||||
break;
|
||||
case 0xC4:
|
||||
case 0xD0:
|
||||
|
||||
@ -1,11 +1,15 @@
|
||||
#include <Arduino.h>
|
||||
|
||||
void onWifiConnected();
|
||||
void checkWifiCallback();
|
||||
|
||||
#define _TASK_STATUS_REQUEST
|
||||
#include <TaskScheduler.h>
|
||||
Scheduler ts;
|
||||
StatusRequest hourChanged;
|
||||
StatusRequest dayChanged;
|
||||
StatusRequest wifiConnected;
|
||||
Task tCheckWifi(5000, TASK_FOREVER, checkWifiCallback, &ts);
|
||||
|
||||
#include "display.h"
|
||||
#include "wifi.h"
|
||||
@ -16,12 +20,8 @@ StatusRequest wifiConnected;
|
||||
|
||||
#define STAY_CONNECTED_AFTER_BOOT 5*60
|
||||
|
||||
void wifiConnectedCallback();
|
||||
void checkWifiCallback();
|
||||
|
||||
Task tCheckWifi(5000, TASK_FOREVER, checkWifiCallback, &ts);
|
||||
Task tWifiReconnect(Wifi::reconnect, &ts);
|
||||
Task tWifiConnected(wifiConnectedCallback, &ts);
|
||||
Task tWifiConnected(onWifiConnected, &ts);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
@ -45,19 +45,19 @@ void loop() {
|
||||
ts.execute();
|
||||
}
|
||||
|
||||
void wifiConnectedCallback() {
|
||||
void onWifiConnected() {
|
||||
Wifi::printStatus();
|
||||
if (time_t newTime = Ntp::updateTime()) {
|
||||
Serial.println(asctime(localtime(&newTime)));
|
||||
Ntp::lastConnectedTime = newTime;
|
||||
}
|
||||
Ota::tLoop.enable();
|
||||
tCheckWifi.enable();
|
||||
if (!Ir::avrOn) tCheckWifi.enable();
|
||||
Mqtt::client.connect();
|
||||
}
|
||||
|
||||
void checkWifiCallback() {
|
||||
if ((difftime(now(), Ntp::lastConnectedTime) > STAY_CONNECTED_AFTER_BOOT) && !Ir::avrOn) {
|
||||
if (difftime(now(), Ntp::lastConnectedTime) > STAY_CONNECTED_AFTER_BOOT) {
|
||||
Wifi::disconnect();
|
||||
Ota::tLoop.disable();
|
||||
tCheckWifi.disable();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user