Merge branch 'bugfix/fix_mqtt_block_issue' into 'master'

esp_rainmaker: make esp_rmaker_params_mqtt_init function execute in queue so that it will not block event task

See merge request app-frameworks/esp-rainmaker!562
This commit is contained in:
Piyush Shah
2025-08-04 13:49:39 +05:30
2 changed files with 6 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
## IDF Component Manager Manifest File
version: "1.6.1"
version: "1.6.2"
description: ESP RainMaker firmware agent
url: https://github.com/espressif/esp-rainmaker/tree/master/components/esp_rainmaker
repository: https://github.com/espressif/esp-rainmaker.git

View File

@@ -225,6 +225,10 @@ esp_err_t esp_rmaker_change_node_id(char *node_id, size_t len)
return ESP_ERR_INVALID_STATE;
}
static void esp_rmaker_params_mqtt_init_cb(void *data)
{
esp_rmaker_params_mqtt_init();
}
/* Event handler for catching system events */
static void esp_rmaker_event_handler(void* arg, esp_event_base_t event_base,
@@ -261,7 +265,7 @@ static void esp_rmaker_event_handler(void* arg, esp_event_base_t event_base,
(event_id == RMAKER_EVENT_USER_NODE_MAPPING_DONE ||
event_id == RMAKER_EVENT_USER_NODE_MAPPING_RESET)) {
esp_event_handler_unregister(RMAKER_EVENT, event_id, &esp_rmaker_event_handler);
esp_rmaker_params_mqtt_init();
esp_rmaker_work_queue_add_task(esp_rmaker_params_mqtt_init_cb, NULL);
} else if (event_base == RMAKER_COMMON_EVENT && event_id == RMAKER_MQTT_EVENT_CONNECTED) {
if (rmaker_core_event_group) {
/* Signal rmaker thread to continue execution */