While connected to MQTT server, veto light-sleep (to keep wifi working)

This commit is contained in:
Kevin Hester
2021-08-02 17:42:44 -07:00
parent 39df7108a8
commit 99d529be51
3 changed files with 27 additions and 4 deletions

View File

@@ -19,6 +19,9 @@ class MQTT : private concurrency::OSThread
WiFiClient mqttClient;
PubSubClient pubSub;
CallbackObserver<MQTT, void *> preflightSleepObserver =
CallbackObserver<MQTT, void *>(this, &MQTT::preflightSleepCb);
public:
MQTT();
@@ -53,6 +56,9 @@ class MQTT : private concurrency::OSThread
/// Called when a new publish arrives from the MQTT server
void onPublish(char *topic, byte *payload, unsigned int length);
/// Return 0 if sleep is okay, veto sleep if we are connected to pubsub server
int preflightSleepCb(void *unused = NULL) { return pubSub.connected() ? 1 : 0; }
};
void mqttInit();