diff --git a/firmware/echoear-platform-agent/main/conv_ai_embedded_kit.c b/firmware/echoear-platform-agent/main/conv_ai_embedded_kit.c index 47f8603..0409bb6 100644 --- a/firmware/echoear-platform-agent/main/conv_ai_embedded_kit.c +++ b/firmware/echoear-platform-agent/main/conv_ai_embedded_kit.c @@ -354,6 +354,11 @@ static void application_boot(void) volc_hal_display_set_content(global_display, VOLC_DISPLAY_OBJ_STATUS, VOLC_DISPLAY_TEXT, message); return; } + ret = platform_recover_pending_conversation(); + if (ret != ESP_OK) { + ESP_LOGW(TAG, "Cannot close the conversation interrupted by the previous restart: %s", + esp_err_to_name(ret)); + } hal_level_init(); ESP_LOGI(TAG, "Startup stack headroom after audio: %u bytes", (unsigned)uxTaskGetStackHighWaterMark(NULL)); xTaskCreate(&Task, "aios_task", 8192, NULL, 5, NULL); diff --git a/firmware/echoear-platform-agent/main/platform_client.c b/firmware/echoear-platform-agent/main/platform_client.c index 72e84be..0acafbb 100644 --- a/firmware/echoear-platform-agent/main/platform_client.c +++ b/firmware/echoear-platform-agent/main/platform_client.c @@ -22,7 +22,7 @@ #define PLATFORM_API_ORIGIN "https://121.41.46.238" #define PLATFORM_RESPONSE_MAX (32 * 1024) -#define PLATFORM_FIRMWARE_VERSION "1.1.0-echoear-s2s-memory.1" +#define PLATFORM_FIRMWARE_VERSION "1.1.0-echoear-s2s-memory.2" #define PLATFORM_HARDWARE_AGENT_SDK_VERSION "2.0.0" static const char *TAG = "platform_client"; @@ -113,6 +113,11 @@ static esp_err_t recover_pending_session(void) return err; } +esp_err_t platform_recover_pending_conversation(void) +{ + return recover_pending_session(); +} + static void copy_json_string(cJSON *object, const char *name, char *target, size_t target_size) { cJSON *item = cJSON_GetObjectItemCaseSensitive(object, name); diff --git a/firmware/echoear-platform-agent/main/platform_client.h b/firmware/echoear-platform-agent/main/platform_client.h index b3c94b1..ffcfc51 100644 --- a/firmware/echoear-platform-agent/main/platform_client.h +++ b/firmware/echoear-platform-agent/main/platform_client.h @@ -37,6 +37,7 @@ esp_err_t platform_client_init(void); const char *platform_hardware_id(void); const platform_volc_credential_t *platform_volc_credential(void); esp_err_t platform_provision_volc_credential(void); +esp_err_t platform_recover_pending_conversation(void); esp_err_t platform_create_agent_session(platform_agent_session_t *session); esp_err_t platform_report_session_started(const platform_agent_session_t *session, const char *provider_connection_ref);