6
6
bool wifiLowLevelInit (bool persistent);
7
7
static esp_err_t err;
8
8
9
+ extern " C" bool verifyRollbackLater () { return true ; }
10
+
9
11
static void event_handler (void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
10
12
{
11
13
if (event_base == RMAKER_EVENT) {
@@ -25,6 +27,33 @@ static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_
25
27
default :
26
28
log_i (" Unhandled RainMaker Event:" );
27
29
}
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
+ }
28
57
}
29
58
}
30
59
@@ -39,6 +68,7 @@ Node RMakerClass::initNode(const char *name, const char *type)
39
68
Node node;
40
69
esp_rmaker_node_t *rnode = NULL ;
41
70
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 );
42
72
rnode = esp_rmaker_node_init (&rainmaker_cfg, name, type);
43
73
if (!rnode){
44
74
log_e (" Node init failed" );
@@ -104,9 +134,11 @@ esp_err_t RMakerClass::enableTZService()
104
134
105
135
esp_err_t RMakerClass::enableOTA (ota_type_t type, const char *cert)
106
136
{
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
+ };
110
142
err = esp_rmaker_ota_enable (&ota_config, type);
111
143
if (err != ESP_OK) {
112
144
log_e (" OTA enable failed" );
0 commit comments