@@ -47,6 +47,8 @@ char *esp_rmaker_ota_status_to_string(ota_status_t status)
47
47
return "failed" ;
48
48
case OTA_STATUS_DELAYED :
49
49
return "delayed" ;
50
+ case OTA_STATUS_REJECTED :
51
+ return "rejected" ;
50
52
default :
51
53
return "invalid" ;
52
54
}
@@ -108,27 +110,28 @@ static esp_err_t validate_image_header(esp_rmaker_ota_handle_t ota_handle,
108
110
ESP_LOGD (TAG , "Running firmware version: %s" , running_app_info .version );
109
111
}
110
112
111
- #ifndef CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK
112
- if (memcmp (new_app_info -> version , running_app_info .version , sizeof (new_app_info -> version )) == 0 ) {
113
- ESP_LOGW (TAG , "Current running version is same as the new. We will not continue the update." );
114
- esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_FAILED , "Same version received" );
115
- return ESP_FAIL ;
116
- }
117
- #endif
118
-
119
113
#ifndef CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK
120
114
if (memcmp (new_app_info -> project_name , running_app_info .project_name , sizeof (new_app_info -> project_name )) != 0 ) {
121
115
ESP_LOGW (TAG , "OTA Image built for Project: %s. Expected: %s" ,
122
116
new_app_info -> project_name , running_app_info .project_name );
123
- esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_FAILED , "Project Name mismatch" );
117
+ esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_REJECTED , "Project Name mismatch" );
124
118
return ESP_FAIL ;
125
119
}
126
120
#endif
127
121
122
+ #ifndef CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK
123
+ if (memcmp (new_app_info -> version , running_app_info .version , sizeof (new_app_info -> version )) == 0 ) {
124
+ ESP_LOGW (TAG , "Current running version is same as the new. We will not continue the update." );
125
+ esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_REJECTED , "Same version received" );
126
+ return ESP_FAIL ;
127
+ }
128
+ #endif
129
+
130
+
128
131
return ESP_OK ;
129
132
}
130
133
131
- static esp_err_t esp_rmaker_ota_default_cb (esp_rmaker_ota_handle_t ota_handle , esp_rmaker_ota_data_t * ota_data )
134
+ esp_err_t esp_rmaker_ota_default_cb (esp_rmaker_ota_handle_t ota_handle , esp_rmaker_ota_data_t * ota_data )
132
135
{
133
136
if (!ota_data -> url ) {
134
137
return ESP_FAIL ;
@@ -146,7 +149,8 @@ static esp_err_t esp_rmaker_ota_default_cb(esp_rmaker_ota_handle_t ota_handle, e
146
149
.cert_pem = ota_data -> server_cert ,
147
150
.timeout_ms = 5000 ,
148
151
.buffer_size = DEF_HTTP_RX_BUFFER_SIZE ,
149
- .buffer_size_tx = buffer_size_tx
152
+ .buffer_size_tx = buffer_size_tx ,
153
+ .keep_alive_enable = true
150
154
};
151
155
#ifdef CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK
152
156
config .skip_cert_common_name_check = true;
@@ -220,6 +224,7 @@ static esp_err_t esp_rmaker_ota_default_cb(esp_rmaker_ota_handle_t ota_handle, e
220
224
}
221
225
}
222
226
if (err != ESP_OK ) {
227
+ ESP_LOGE (TAG , "ESP_HTTPS_OTA upgrade failed %s" , esp_err_to_name (err ));
223
228
char description [40 ];
224
229
snprintf (description , sizeof (description ), "OTA failed: Error %s" , esp_err_to_name (err ));
225
230
esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_FAILED , description );
0 commit comments