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;