66bool wifiLowLevelInit (bool persistent);
77static esp_err_t err;
88
9+ extern " C" bool verifyRollbackLater () { return true ; }
10+
911static void event_handler (void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
1012{
1113 if (event_base == RMAKER_EVENT) {
@@ -25,6 +27,33 @@ static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_
2527 default :
2628 log_i (" Unhandled RainMaker Event:" );
2729 }
30+ } else if (event_base == RMAKER_OTA_EVENT) {
31+ if (event_data == NULL ){
32+ event_data = (void *)" " ;
33+ }
34+ switch (event_id) {
35+ case RMAKER_OTA_EVENT_STARTING:
36+ log_i (" Starting OTA : %s" , (char *)event_data);
37+ break ;
38+ case RMAKER_OTA_EVENT_IN_PROGRESS:
39+ log_i (" OTA in progress : %s" , (char *)event_data);
40+ break ;
41+ case RMAKER_OTA_EVENT_SUCCESSFUL:
42+ log_i (" OTA Successful : %s" , (char *)event_data);
43+ break ;
44+ case RMAKER_OTA_EVENT_FAILED:
45+ log_i (" OTA Failed : %s" , (char *)event_data);
46+ break ;
47+ case RMAKER_OTA_EVENT_DELAYED:
48+ log_i (" OTA Delayed : %s" , (char *)event_data);
49+ break ;
50+ case RMAKER_OTA_EVENT_REJECTED:
51+ log_i (" OTA Rejected : %s" , (char *)event_data);
52+ break ;
53+ default :
54+ log_i (" Unhandled OTA Event" );
55+ break ;
56+ }
2857 }
2958}
3059
@@ -39,6 +68,7 @@ Node RMakerClass::initNode(const char *name, const char *type)
3968 Node node;
4069 esp_rmaker_node_t *rnode = NULL ;
4170 esp_event_handler_register (RMAKER_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL );
71+ esp_event_handler_register (RMAKER_OTA_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL );
4272 rnode = esp_rmaker_node_init (&rainmaker_cfg, name, type);
4373 if (!rnode){
4474 log_e (" Node init failed" );
@@ -104,9 +134,11 @@ esp_err_t RMakerClass::enableTZService()
104134
105135esp_err_t RMakerClass::enableOTA (ota_type_t type, const char *cert)
106136{
107- esp_rmaker_ota_config_t ota_config;
108- ota_config.server_cert = cert;
109- ota_config.ota_cb = NULL ;
137+ esp_rmaker_ota_config_t ota_config = {
138+ .ota_cb = NULL ,
139+ .ota_diag = NULL ,
140+ .server_cert = cert,
141+ };
110142 err = esp_rmaker_ota_enable (&ota_config, type);
111143 if (err != ESP_OK) {
112144 log_e (" OTA enable failed" );
0 commit comments