@@ -47,6 +47,8 @@ char *esp_rmaker_ota_status_to_string(ota_status_t status)
4747 return "failed" ;
4848 case OTA_STATUS_DELAYED :
4949 return "delayed" ;
50+ case OTA_STATUS_REJECTED :
51+ return "rejected" ;
5052 default :
5153 return "invalid" ;
5254 }
@@ -108,27 +110,28 @@ static esp_err_t validate_image_header(esp_rmaker_ota_handle_t ota_handle,
108110 ESP_LOGD (TAG , "Running firmware version: %s" , running_app_info .version );
109111 }
110112
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-
119113#ifndef CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK
120114 if (memcmp (new_app_info -> project_name , running_app_info .project_name , sizeof (new_app_info -> project_name )) != 0 ) {
121115 ESP_LOGW (TAG , "OTA Image built for Project: %s. Expected: %s" ,
122116 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" );
124118 return ESP_FAIL ;
125119 }
126120#endif
127121
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+
128131 return ESP_OK ;
129132}
130133
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 )
132135{
133136 if (!ota_data -> url ) {
134137 return ESP_FAIL ;
@@ -146,7 +149,8 @@ static esp_err_t esp_rmaker_ota_default_cb(esp_rmaker_ota_handle_t ota_handle, e
146149 .cert_pem = ota_data -> server_cert ,
147150 .timeout_ms = 5000 ,
148151 .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
150154 };
151155#ifdef CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK
152156 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
220224 }
221225 }
222226 if (err != ESP_OK ) {
227+ ESP_LOGE (TAG , "ESP_HTTPS_OTA upgrade failed %s" , esp_err_to_name (err ));
223228 char description [40 ];
224229 snprintf (description , sizeof (description ), "OTA failed: Error %s" , esp_err_to_name (err ));
225230 esp_rmaker_ota_report_status (ota_handle , OTA_STATUS_FAILED , description );
0 commit comments