From f798c1e23076b11976e14e46f6e3ccf6918cc93e Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Tue, 28 Oct 2025 14:59:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0ISP=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=8C=87=E7=A4=BA=E7=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/drivers/sertrf/protocol/p_protocol.c | 2 +- app/drivers/sertrf/sertrf.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/drivers/sertrf/protocol/p_protocol.c b/app/drivers/sertrf/protocol/p_protocol.c index 8a9996f..ec03207 100644 --- a/app/drivers/sertrf/protocol/p_protocol.c +++ b/app/drivers/sertrf/protocol/p_protocol.c @@ -146,7 +146,7 @@ protocol_status_e get_protocol_status(void) protocol.protocol_status = PROTOCOL_STATUS_OK; // 先OTA升级、未知协议、未收到飞控数据 - if(protocol.message_status == MESSAGE_OTA) + if(protocol.message_status == MESSAGE_OTA || protocol.message_status == MESSAGE_FC_ISP) { protocol.protocol_status = PROTOCOL_STATUS_IN_OTA; } diff --git a/app/drivers/sertrf/sertrf.c b/app/drivers/sertrf/sertrf.c index 5b72482..5d03d37 100644 --- a/app/drivers/sertrf/sertrf.c +++ b/app/drivers/sertrf/sertrf.c @@ -502,6 +502,7 @@ void resend_user_parse(void *resend_device) while (sertrf.mode_status.task_state != DATA_HANDLE_IDLE){ os_thread_sleep(10);} otau_end(&sertrf.otau); + protocol_set_message_status(MESSAGE_IDLE); resend_send_cmd(resend_device, RESEND_CMD_ACK, 0); os_thread_sleep(2); esp_restart(); @@ -574,6 +575,7 @@ void resend_user_parse(void *resend_device) resend_send_cmd(resend_device, RESEND_CMD_ACK, 0); break; case RESEND_CMD_FC_ISP_DATA: + protocol_set_message_status(MESSAGE_FC_ISP); // 使用环形buff if(rb_size(&sertrf.data_handle_buffer) + sertrf.resend_device.rx_frame.len <= DATA_HANDLE_BUFFER_SIZE) { @@ -606,6 +608,7 @@ void resend_user_parse(void *resend_device) // 将串口切换为无校验模式 uart_set_parity_switch(sertrf.device.embedded_device, 0x00); SYS_LOG_INF("RESEND_CMD_FC_ISP_END2"); + protocol_set_message_status(MESSAGE_IDLE); resend_send_cmd(resend_device, RESEND_CMD_ACK, 0); esp_restart(); break;