Fixed bug with OTA update

This commit is contained in:
2024-06-09 14:27:23 +03:00
parent e4419e5c85
commit 392471ce4c

View File

@ -495,7 +495,7 @@ void zh_espnow_event_handler(void *arg, esp_event_base_t event_base, int32_t eve
#endif #endif
data->device_type = ZHDT_SENSOR; data->device_type = ZHDT_SENSOR;
data->payload_type = ZHPT_UPDATE; data->payload_type = ZHPT_UPDATE;
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)data, sizeof(zh_espnow_data_t));
break; break;
case ZHPT_UPDATE_BEGIN: case ZHPT_UPDATE_BEGIN:
#ifdef CONFIG_IDF_TARGET_ESP8266 #ifdef CONFIG_IDF_TARGET_ESP8266
@ -506,7 +506,7 @@ void zh_espnow_event_handler(void *arg, esp_event_base_t event_base, int32_t eve
sensor_config->ota_message_part_number = 1; sensor_config->ota_message_part_number = 1;
data->device_type = ZHDT_SENSOR; data->device_type = ZHDT_SENSOR;
data->payload_type = ZHPT_UPDATE_PROGRESS; data->payload_type = ZHPT_UPDATE_PROGRESS;
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)data, sizeof(zh_espnow_data_t));
break; break;
case ZHPT_UPDATE_PROGRESS: case ZHPT_UPDATE_PROGRESS:
if (sensor_config->ota_message_part_number == data->payload_data.ota_message.espnow_ota_message.part) if (sensor_config->ota_message_part_number == data->payload_data.ota_message.espnow_ota_message.part)
@ -516,7 +516,7 @@ void zh_espnow_event_handler(void *arg, esp_event_base_t event_base, int32_t eve
} }
data->device_type = ZHDT_SENSOR; data->device_type = ZHDT_SENSOR;
data->payload_type = ZHPT_UPDATE_PROGRESS; data->payload_type = ZHPT_UPDATE_PROGRESS;
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)data, sizeof(zh_espnow_data_t));
break; break;
case ZHPT_UPDATE_ERROR: case ZHPT_UPDATE_ERROR:
esp_ota_end(sensor_config->update_handle); esp_ota_end(sensor_config->update_handle);
@ -526,13 +526,13 @@ void zh_espnow_event_handler(void *arg, esp_event_base_t event_base, int32_t eve
{ {
data->device_type = ZHDT_SENSOR; data->device_type = ZHDT_SENSOR;
data->payload_type = ZHPT_UPDATE_FAIL; data->payload_type = ZHPT_UPDATE_FAIL;
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)data, sizeof(zh_espnow_data_t));
break; break;
} }
esp_ota_set_boot_partition(sensor_config->update_partition); esp_ota_set_boot_partition(sensor_config->update_partition);
data->device_type = ZHDT_SENSOR; data->device_type = ZHDT_SENSOR;
data->payload_type = ZHPT_UPDATE_SUCCESS; data->payload_type = ZHPT_UPDATE_SUCCESS;
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)data, sizeof(zh_espnow_data_t));
vTaskDelay(1000 / portTICK_PERIOD_MS); vTaskDelay(1000 / portTICK_PERIOD_MS);
esp_restart(); esp_restart();
break; break;