Moved OTA Functionality to functions to reuse it

This commit is contained in:
simon 2025-08-10 15:08:48 +02:00
parent 8d4f1da028
commit 73bc078465

View File

@ -94,14 +94,7 @@ void start_uart_update(uint8_t msgid, const uint8_t *payload,
uart_write_bytes(MASTER_UART, send_buffer, len);
}
void payload_uart_update(uint8_t msgid, const uint8_t *payload,
size_t payload_len, uint8_t *send_payload_buffer,
size_t send_payload_buffer_size, uint8_t *send_buffer,
size_t send_buffer_size) {
// ESP_LOGI(TAG, "OTA Update Payload Uart Command");
uint32_t write_len = MIN(UPDATE_PAYLOAD_SIZE, payload_len);
update_size += write_len;
esp_err_t write_ota(uint32_t write_len, uint8_t *payload) {
if (update_buffer_write_index > UPDATE_BUFFER_SIZE - write_len) {
// ESP_LOGI(TAG, "Writing Data to Update BUffer Sequence %d, writing Data
// %d",
@ -110,15 +103,32 @@ void payload_uart_update(uint8_t msgid, const uint8_t *payload,
esp_err_t err =
esp_ota_write(update_handle, update_buffer, update_buffer_write_index);
if (err != ESP_OK) {
ESP_LOGE(TAG, "GOT ESP ERROR WRITE OTA %d", err);
return err;
}
update_buffer_write_index = 0;
sequenz_counter++;
return err;
}
memcpy(&update_buffer[update_buffer_write_index], payload, write_len);
update_buffer_write_index += write_len;
}
void payload_uart_update(uint8_t msgid, const uint8_t *payload,
size_t payload_len, uint8_t *send_payload_buffer,
size_t send_payload_buffer_size, uint8_t *send_buffer,
size_t send_buffer_size) {
// ESP_LOGI(TAG, "OTA Update Payload Uart Command");
uint32_t write_len = MIN(UPDATE_PAYLOAD_SIZE, payload_len);
update_size += write_len;
esp_err_t err = write_ota(write_len, payload);
if (err != ESP_OK) {
ESP_LOGE(TAG, "GOT ESP ERROR WRITE OTA %d", err);
}
size_t send_payload_len = 4;
memcpy(send_payload_buffer, &sequenz_counter, 2);
@ -138,12 +148,7 @@ void payload_uart_update(uint8_t msgid, const uint8_t *payload,
uart_write_bytes(MASTER_UART, send_buffer, len);
}
void end_uart_update(uint8_t msgid, const uint8_t *payload, size_t payload_len,
uint8_t *send_payload_buffer,
size_t send_payload_buffer_size, uint8_t *send_buffer,
size_t send_buffer_size) {
ESP_LOGI(TAG, "OTA Update End Uart Command");
esp_err_t end_ota() {
esp_err_t err =
esp_ota_write(update_handle, update_buffer, update_buffer_write_index);
if (err != ESP_OK) {
@ -171,6 +176,16 @@ void end_uart_update(uint8_t msgid, const uint8_t *payload, size_t payload_len,
ESP_LOGE(TAG, "esp_ota_set_boot_partition failed: %s",
esp_err_to_name(err));
}
return err;
}
void end_uart_update(uint8_t msgid, const uint8_t *payload, size_t payload_len,
uint8_t *send_payload_buffer,
size_t send_payload_buffer_size, uint8_t *send_buffer,
size_t send_buffer_size) {
ESP_LOGI(TAG, "OTA Update End Uart Command");
esp_err_t err = end_ota();
// message ret esp_err_t
int send_payload_len = 1;