esp_rainmaker: make esp_rmaker_params_mqtt_init function execute in

queue so that it will not block event task
This commit is contained in:
jim
2025-08-01 14:00:40 +08:00
parent 1908682637
commit 4a0ff0d0eb
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 */