From 2e5b3416a684dd2569344e7f6939fdee8b2f360a Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Tue, 2 Sep 2025 14:20:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=87=AA=E5=8A=A8=E8=AF=86?= =?UTF-8?q?=E5=88=ABMSP=E6=88=96=E8=80=85MAVLINK=EF=BC=8C=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E6=95=B0=E6=8D=AE=E8=A7=A3=E6=9E=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/CMakeLists.txt | 6 +++++- app/drivers/sertrf/sertrf.c | 7 ++++++- app/drivers/sertrf/sertrf.h | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index e21efaf..6d77c9a 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -8,7 +8,8 @@ list(APPEND incs "drivers/data_port/usb-host") list(APPEND incs "drivers/data_port/ble_spp") list(APPEND incs "drivers/data_port/socket_inet") list(APPEND incs "drivers/sertrf") - +list(APPEND incs "drivers/sertrf/protocol") +list(APPEND incs "drivers/sertrf/protocol/mavlinkv2") list(APPEND srcs "app_main.c") list(APPEND srcs "app_info.c") @@ -30,6 +31,9 @@ list(APPEND srcs "utils/sb_aes.c") list(APPEND srcs "drivers/sertrf/sertrf.c") list(APPEND srcs "drivers/sertrf/device.c") list(APPEND srcs "drivers/sertrf/key.c") +list(APPEND srcs "drivers/sertrf/protocol/MSP.c") +list(APPEND srcs "drivers/sertrf/protocol/p_protocol.c") +list(APPEND srcs "drivers/sertrf/protocol/mavlink_control.c") list(APPEND srcs "drivers/led_strip/led_strip.c") list(APPEND srcs "drivers/led_strip/led_strip_encoder.c") diff --git a/app/drivers/sertrf/sertrf.c b/app/drivers/sertrf/sertrf.c index 0b39a6b..d9a8ae3 100644 --- a/app/drivers/sertrf/sertrf.c +++ b/app/drivers/sertrf/sertrf.c @@ -10,6 +10,8 @@ void sertrf_init(void) { SYS_LOG_WRN("device init error"); } + // 协议初始化 + Protocol_init(PORT_LINUX_SBDATA, sertrf.device.embedded_device); //RGB灯 work_rgb_led_start(); //按键初始化 @@ -33,8 +35,11 @@ void embedded_thread(void* arg) uint32_t embedded_size = embedded_device_get_rx_length(&sertrf.device); if(embedded_size > 0) { - uint8_t data[embedded_size]; + uint8_t data[embedded_size ]; + // data[embedded_size] = '\0'; embedded_device_read(&sertrf.device, data, embedded_size); + + Protocol_buf_decode(data, embedded_size); // SYS_LOG_INF("data : %s", data); pc_device_write(&sertrf.device, data, embedded_size); } diff --git a/app/drivers/sertrf/sertrf.h b/app/drivers/sertrf/sertrf.h index 4a8228a..fa2e3c2 100644 --- a/app/drivers/sertrf/sertrf.h +++ b/app/drivers/sertrf/sertrf.h @@ -3,6 +3,8 @@ #include "device.h" #include "../led_strip/led_strip.h" #include "key.h" +#include "protocol/p_protocol.h" + typedef struct { device_t device;