fix network task

This commit is contained in:
technyon
2022-03-22 22:41:32 +01:00
parent 934f496bf8
commit 7cdf5c0f31
3 changed files with 22 additions and 23 deletions

View File

@@ -49,7 +49,7 @@ void Network::initialize()
}
void Network::reconnect()
bool Network::reconnect()
{
while (!_mqttClient.connected()) {
Serial.print("Attempting MQTT connection...");
@@ -73,9 +73,19 @@ void Network::reconnect()
void Network::update()
{
if(!WiFi.isConnected())
{
Serial.println(F("WiFi not connected"));
vTaskDelay( 1000 / portTICK_PERIOD_MS);
}
if(!_mqttClient.connected())
{
reconnect();
bool success = reconnect();
if(!success)
{
return;
}
}
unsigned long ts = millis();
@@ -92,4 +102,6 @@ void Network::update()
}
_mqttClient.loop();
vTaskDelay( 100 / portTICK_PERIOD_MS);
}

View File

@@ -12,7 +12,7 @@ public:
void update();
private:
void reconnect();
bool reconnect();
PubSubClient _mqttClient;
WiFiClient _wifiClient;

View File

@@ -11,7 +11,10 @@ Nuki nuki("door", 0);
void networkTask(void *pvParameters)
{
network.update();
while(true)
{
network.update();
}
}
void nukiTask(void *pvParameters)
@@ -21,32 +24,16 @@ void nukiTask(void *pvParameters)
void setupTasks()
{
xTaskCreate(networkTask, "ntw", 1024, NULL, 1, NULL);
xTaskCreate(nukiTask, "nuki", 1024, NULL, 1, NULL);
xTaskCreate(networkTask, "ntw", 2048, NULL, 1, NULL);
// xTaskCreate(nukiTask, "nuki", 1024, NULL, 1, NULL);
}
void setup()
{
network.initialize();
// nuki.initialize();
/*
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
*/
setupTasks();
}
void loop()
{
// nuki.update();
}
{}