From 4acad87be9bbe49c238fee2622bf3ec4a6980fce Mon Sep 17 00:00:00 2001 From: "sanket.wadekar" Date: Fri, 23 Sep 2022 15:21:38 +0530 Subject: [PATCH] Added OTA event handlers in examples --- examples/homekit_switch/main/app_main.c | 29 ++++++++++++++++++++++++- examples/switch/main/app_main.c | 29 +++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/examples/homekit_switch/main/app_main.c b/examples/homekit_switch/main/app_main.c index 92f4e43..4b6d9ff 100644 --- a/examples/homekit_switch/main/app_main.c +++ b/examples/homekit_switch/main/app_main.c @@ -107,6 +107,33 @@ static void event_handler(void* arg, esp_event_base_t event_base, ESP_LOGW(TAG, "Unhandled App Wi-Fi Event: %"PRIi32, event_id); break; } + } else if (event_base == RMAKER_OTA_EVENT) { + switch(event_id) { + case RMAKER_OTA_EVENT_STARTING: + ESP_LOGI(TAG, "Starting OTA."); + break; + case RMAKER_OTA_EVENT_IN_PROGRESS: + ESP_LOGI(TAG, "OTA is in progress."); + break; + case RMAKER_OTA_EVENT_SUCCESSFUL: + ESP_LOGI(TAG, "OTA successful."); + break; + case RMAKER_OTA_EVENT_FAILED: + ESP_LOGI(TAG, "OTA Failed."); + break; + case RMAKER_OTA_EVENT_REJECTED: + ESP_LOGI(TAG, "OTA Rejected."); + break; + case RMAKER_OTA_EVENT_DELAYED: + ESP_LOGI(TAG, "OTA Delayed."); + break; + case RMAKER_OTA_EVENT_REQ_FOR_REBOOT: + ESP_LOGI(TAG, "Firmware image downloaded. Please reboot your device to apply the upgrade."); + break; + default: + ESP_LOGW(TAG, "Unhandled OTA Event: %"PRIi32, event_id); + break; + } } else { ESP_LOGW(TAG, "Invalid event received!"); } @@ -137,7 +164,7 @@ void app_main() ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_COMMON_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); ESP_ERROR_CHECK(esp_event_handler_register(APP_WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); - + ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_OTA_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); /* Initialize the ESP RainMaker Agent. * Note that this should be called after app_wifi_with_homekit_init() but before app_wifi_with_homekit_start() * */ diff --git a/examples/switch/main/app_main.c b/examples/switch/main/app_main.c index 5d308ab..f1a666a 100644 --- a/examples/switch/main/app_main.c +++ b/examples/switch/main/app_main.c @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -108,6 +109,33 @@ static void event_handler(void* arg, esp_event_base_t event_base, ESP_LOGW(TAG, "Unhandled App Wi-Fi Event: %"PRIi32, event_id); break; } + } else if (event_base == RMAKER_OTA_EVENT) { + switch(event_id) { + case RMAKER_OTA_EVENT_STARTING: + ESP_LOGI(TAG, "Starting OTA."); + break; + case RMAKER_OTA_EVENT_IN_PROGRESS: + ESP_LOGI(TAG, "OTA is in progress."); + break; + case RMAKER_OTA_EVENT_SUCCESSFUL: + ESP_LOGI(TAG, "OTA successful."); + break; + case RMAKER_OTA_EVENT_FAILED: + ESP_LOGI(TAG, "OTA Failed."); + break; + case RMAKER_OTA_EVENT_REJECTED: + ESP_LOGI(TAG, "OTA Rejected."); + break; + case RMAKER_OTA_EVENT_DELAYED: + ESP_LOGI(TAG, "OTA Delayed."); + break; + case RMAKER_OTA_EVENT_REQ_FOR_REBOOT: + ESP_LOGI(TAG, "Firmware image downloaded. Please reboot your device to apply the upgrade."); + break; + default: + ESP_LOGW(TAG, "Unhandled OTA Event: %"PRIi32, event_id); + break; + } } else { ESP_LOGW(TAG, "Invalid event received!"); } @@ -138,6 +166,7 @@ void app_main() ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_COMMON_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); ESP_ERROR_CHECK(esp_event_handler_register(APP_WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); + ESP_ERROR_CHECK(esp_event_handler_register(RMAKER_OTA_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL)); /* Initialize the ESP RainMaker Agent. * Note that this should be called after app_wifi_init() but before app_wifi_start()