implemented disconnected callback

This commit is contained in:
Tijn Kooijmans
2017-07-23 21:28:23 +02:00
parent f4fd2864ee
commit 65d91f3908
2 changed files with 10 additions and 4 deletions

View File

@@ -44,8 +44,7 @@ typedef struct mqtt_settings {
mqtt_write_callback write_cb;
mqtt_event_callback connected_cb;
mqtt_event_callback disconnected_cb; // unused
mqtt_event_callback reconnect_cb; // unused
mqtt_event_callback disconnected_cb;
mqtt_event_callback subscribe_cb;
mqtt_event_callback publish_cb;

11
mqtt.c
View File

@@ -498,8 +498,12 @@ void mqtt_task(void *pvParameters)
mqtt_info("Connected to server %s:%d", client->settings->host, client->settings->port);
if (!mqtt_connect(client)) {
client->settings->disconnect_cb(client);
if (client->settings->disconnected_cb) {
client->settings->disconnected_cb(client, NULL);
}
continue;
//return;
}
mqtt_info("Connected to MQTT broker, create sending thread before call connected callback");
xTaskCreate(&mqtt_sending_task, "mqtt_sending_task", 2048, client, CONFIG_MQTT_PRIORITY + 1, &xMqttSendingTask);
@@ -511,13 +515,16 @@ void mqtt_task(void *pvParameters)
mqtt_start_receive_schedule(client);
client->settings->disconnect_cb(client);
if (client->settings->disconnected_cb) {
client->settings->disconnected_cb(client, NULL);
}
vTaskDelete(xMqttSendingTask);
vTaskDelay(1000 / portTICK_RATE_MS);
}
mqtt_destroy(client);
}
mqtt_client *mqtt_start(mqtt_settings *settings)