From 4308315fa22c2d44231634c20fdc26c734fed926 Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Tue, 28 Oct 2025 14:57:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8=E9=A3=9E?= =?UTF-8?q?=E6=8E=A7=E5=9B=BA=E4=BB=B6=E5=8D=87=E7=BA=A7=E9=98=BB=E6=96=AD?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=95=B0=E6=8D=AE=E5=8F=91=E9=80=81=E5=BC=95?= =?UTF-8?q?=E8=B5=B7=E7=9A=84isp=E5=8D=87=E7=BA=A7=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/drivers/sertrf/sertrf.c | 7 +++++-- app/drivers/sertrf/sertrf.h | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/drivers/sertrf/sertrf.c b/app/drivers/sertrf/sertrf.c index 523c304..5b72482 100644 --- a/app/drivers/sertrf/sertrf.c +++ b/app/drivers/sertrf/sertrf.c @@ -42,6 +42,9 @@ void sertrf_init(void) //初始化环形buff rb_init(&sertrf.data_handle_buffer, DATA_HANDLE_BUFFER_SIZE, sizeof(uint8_t)); + // 判断飞控是否进入 飞控固件强刷模式 + sertrf.force_update = key_get_status(); + //线程启动 sertrf_start(); @@ -102,7 +105,7 @@ void embedded_thread(void* arg) { uint8_t data[embedded_size ]; // data[embedded_size] = '\0'; - if(!sertrf.stmisp_device.flag) + if(!sertrf.stmisp_device.flag && !sertrf.force_update) embedded_device_read(&sertrf.device, data, embedded_size,0); Protocol_buf_decode(data, embedded_size); @@ -134,7 +137,7 @@ void pc_thread(void* arg) sertrf.device.ble_one_connect_flag = 0; continue; } - if(!sertrf.stmisp_device.flag) + if(!sertrf.stmisp_device.flag && !sertrf.force_update) embedded_device_write(&sertrf.device, data, pc_size); } // printf_chill_time(10,1000); diff --git a/app/drivers/sertrf/sertrf.h b/app/drivers/sertrf/sertrf.h index c88b6dc..4977467 100644 --- a/app/drivers/sertrf/sertrf.h +++ b/app/drivers/sertrf/sertrf.h @@ -77,6 +77,8 @@ typedef struct // 记录错误信息 protocol_status_e fc_protocol_status; //飞控连接端的协议状态 + // 判断是否使用强刷固件 + uint8_t force_update; }sertrf_t; typedef struct __attribute__((packed))