From 961c1174bbf1aaae5fa2f672806ed4eaf2f917be Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 05 二月 2025 15:45:10 +0800 Subject: [PATCH] 串口传输协议加上一位指令类型 --- 01_SDK/nimble/controller/pan107x_spark/include/utils/track.h | 161 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 123 insertions(+), 38 deletions(-) diff --git a/01_SDK/nimble/controller/pan107x_spark/include/utils/track.h b/01_SDK/nimble/controller/pan107x_spark/include/utils/track.h index 84c6317..0a8aa90 100644 --- a/01_SDK/nimble/controller/pan107x_spark/include/utils/track.h +++ b/01_SDK/nimble/controller/pan107x_spark/include/utils/track.h @@ -32,6 +32,7 @@ #define TRACK_MODE_UART 1 /** Hardware UART */ #define TRACK_MODE_SUART 2 /** Software UART: !!!!WARN - BLE timing error. */ #define TRACK_MODE_USB 3 /** USB */ +#define TRACK_MODE_CUSTOM 4 /** Custom mode */ #ifndef TRACK_MODE #define TRACK_MODE TRACK_MODE_NONE @@ -43,12 +44,7 @@ #define TIMING_TRACK_EN 0 #endif -/*! Custom Track Timing Enable/Disable */ -#ifndef CUSTOM_TRACK_PRINT_EN -#define CUSTOM_TRACK_PRINT_EN 1 -#endif - -/*! Custom Track Timing Enable/Disable */ +/*! Enable User Config debug pin. */ #ifndef CUSTOM_TRACK_TIMING_EN #define CUSTOM_TRACK_TIMING_EN 1 #endif @@ -57,22 +53,22 @@ #define TRACK_BAUDRATE 2000000 -#if CUSTOM_TRACK_PRINT_EN +#if TRACK_MODE == TRACK_MODE_CUSTOM #define TRACK_INIT() #define TRACK_START() #define g_printf TrackPrint #undef TRACK_MODE #define TRACK_MODE TRACK_MODE_UART -#else - #if TRACK_MODE != TRACK_MODE_NONE + +#elif TRACK_MODE != TRACK_MODE_NONE #define TRACK_INIT() TrackInit() #define TRACK_START() TrackStart() #define g_printf TrackPrint - #else + +#else #define TRACK_INIT() #define TRACK_START() #define g_printf - #endif #endif #if TRACK_MODE @@ -315,7 +311,7 @@ #define APP_TRACK_ERR(format, ...) g_printf("[E][APP] "format, ##__VA_ARGS__) #define APP_TRACK_INFO(format, ...) g_printf("[I][APP] "format, ##__VA_ARGS__) #define APP_TRACK_WRN(format, ...) g_printf("[W][APP] "format, ##__VA_ARGS__) - #define APP_TRACK_DATA(pData, len) TRACK_DATA(pData, len) + #define APP_TRACK_DATA(pData, len) TRACK_DATA(pData, len) #else #define APP_TRACK_ERR(format, ...) #define APP_TRACK_INFO(format, ...) @@ -356,39 +352,38 @@ #endif #if CUSTOM_TRACK_TIMING_EN - #define TIMING_TRACK_INIT() + #if defined(IP_108) + #define DBG_CHN0_HI do{ if(dbg_scan_pin) {REG_32(dbg_scan_pin) = 1;} }while(0); + #define DBG_CHN0_LO do{ if(dbg_scan_pin) {REG_32(dbg_scan_pin) = 0;} }while(0); + #define DBG_CHN0_TOGGLE do{ if(dbg_scan_pin) {static uint8_t flag = 0; REG_32(dbg_scan_pin) = flag; flag=!flag;} }while(0); - #define DBG_CHN0_HI do{ if(dbg_scan_pin) {REG_32(dbg_scan_pin) = 1;} }while(0); - #define DBG_CHN0_LO do{ if(dbg_scan_pin) {REG_32(dbg_scan_pin) = 0;} }while(0); - #define DBG_CHN0_TOGGLE + #define DBG_CHN1_HI do{ if(dbg_adv_pin) {REG_32(dbg_adv_pin) = 1;} }while(0); + #define DBG_CHN1_LO do{ if(dbg_adv_pin) {REG_32(dbg_adv_pin) = 0;} }while(0); + #define DBG_CHN1_TOGGLE do{ if(dbg_adv_pin) {static uint8_t flag = 0; REG_32(dbg_adv_pin) = flag; flag=!flag;} }while(0); - #define DBG_CHN1_HI do{ if(dbg_adv_pin) {REG_32(dbg_adv_pin) = 1;} }while(0); - #define DBG_CHN1_LO do{ if(dbg_adv_pin) {REG_32(dbg_adv_pin) = 0;} }while(0); - #define DBG_CHN1_TOGGLE + #define DBG_CHN2_HI do{ if(dbg_timer_irq_pin) {REG_32(dbg_timer_irq_pin) = 1;} }while(0); + #define DBG_CHN2_LO do{ if(dbg_timer_irq_pin) {REG_32(dbg_timer_irq_pin) = 0;} }while(0); + #define DBG_CHN2_TOGGLE do{ if(dbg_timer_irq_pin) {static uint8_t flag = 0; REG_32(dbg_timer_irq_pin) = flag; flag=!flag;} }while(0); - #define DBG_CHN2_HI do{ if(dbg_timer_irq_pin) {REG_32(dbg_timer_irq_pin) = 1;} }while(0); - #define DBG_CHN2_LO do{ if(dbg_timer_irq_pin) {REG_32(dbg_timer_irq_pin) = 0;} }while(0); - #define DBG_CHN2_TOGGLE + #define DBG_CHN3_HI do{ if(dbg_ll_irq_pin) {REG_32(dbg_ll_irq_pin) = 1;} }while(0); + #define DBG_CHN3_LO do{ if(dbg_ll_irq_pin) {REG_32(dbg_ll_irq_pin) = 0;} }while(0); + #define DBG_CHN3_TOGGLE do{ if(dbg_ll_irq_pin) {static uint8_t flag = 0; REG_32(dbg_ll_irq_pin) = flag; flag=!flag;} }while(0); - #define DBG_CHN3_HI do{ if(dbg_ll_irq_pin) {REG_32(dbg_ll_irq_pin) = 1;} }while(0); - #define DBG_CHN3_LO do{ if(dbg_ll_irq_pin) {REG_32(dbg_ll_irq_pin) = 0;} }while(0); - #define DBG_CHN3_TOGGLE + #define DBG_CHN4_HI do{ if(dbg_conn_pin[0]) {REG_32(dbg_conn_pin[0]) = 1;} }while(0); + #define DBG_CHN4_LO do{ if(dbg_conn_pin[0]) {REG_32(dbg_conn_pin[0]) = 0;} }while(0); + #define DBG_CHN4_TOGGLE do{ if(dbg_conn_pin[0]) {static uint8_t flag = 0; REG_32(dbg_conn_pin[0]) = flag; flag=!flag;} }while(0); - #define DBG_CHN4_HI do{ if(dbg_conn_pin[0]) {REG_32(dbg_conn_pin[0]) = 1;} }while(0); - #define DBG_CHN4_LO do{ if(dbg_conn_pin[0]) {REG_32(dbg_conn_pin[0]) = 0;} }while(0); - #define DBG_CHN4_TOGGLE + #define DBG_CHN5_HI do{ if(dbg_conn_pin[1]) {REG_32(dbg_conn_pin[1]) = 1;} }while(0); + #define DBG_CHN5_LO do{ if(dbg_conn_pin[1]) {REG_32(dbg_conn_pin[1]) = 0;} }while(0); + #define DBG_CHN5_TOGGLE do{ if(dbg_conn_pin[1]) {static uint8_t flag = 0; REG_32(dbg_conn_pin[1]) = flag; flag=!flag;} }while(0); - #define DBG_CHN5_HI do{ if(dbg_conn_pin[1]) {REG_32(dbg_conn_pin[1]) = 1;} }while(0); - #define DBG_CHN5_LO do{ if(dbg_conn_pin[1]) {REG_32(dbg_conn_pin[1]) = 0;} }while(0); - #define DBG_CHN5_TOGGLE + #define DBG_CHN6_HI do{ if(dbg_conn_pin[2]) {REG_32(dbg_conn_pin[2]) = 1;} }while(0); + #define DBG_CHN6_LO do{ if(dbg_conn_pin[2]) {REG_32(dbg_conn_pin[2]) = 0;} }while(0); + #define DBG_CHN6_TOGGLE do{ if(dbg_conn_pin[2]) {static uint8_t flag = 0; REG_32(dbg_conn_pin[2]) = flag; flag=!flag;} }while(0); - #define DBG_CHN6_HI do{ if(dbg_conn_pin[2]) {REG_32(dbg_conn_pin[2]) = 1;} }while(0); - #define DBG_CHN6_LO do{ if(dbg_conn_pin[2]) {REG_32(dbg_conn_pin[2]) = 0;} }while(0); - #define DBG_CHN6_TOGGLE - - #define DBG_CHN7_HI do{ if(dbg_sch_pin) {REG_32(dbg_sch_pin) = 1;} }while(0); - #define DBG_CHN7_LO do{ if(dbg_sch_pin) {REG_32(dbg_sch_pin) = 0;} }while(0); - #define DBG_CHN7_TOGGLE + #define DBG_CHN7_HI do{ if(dbg_sch_pin) {REG_32(dbg_sch_pin) = 1;} }while(0); + #define DBG_CHN7_LO do{ if(dbg_sch_pin) {REG_32(dbg_sch_pin) = 0;} }while(0); + #define DBG_CHN7_TOGGLE do{ if(dbg_sch_pin) {static uint8_t flag = 0; REG_32(dbg_sch_pin) = flag; flag=!flag;} }while(0); #define DBG_CHN8_HI @@ -422,6 +417,72 @@ #define DBG_CHN15_HI #define DBG_CHN15_LO #define DBG_CHN15_TOGGLE + #else + #define DBG_CHN0_HI do{ if(dbgPins.dbg_chn0_pin) {REG_32(dbgPins.dbg_chn0_pin) = 1;} }while(0); + #define DBG_CHN0_LO do{ if(dbgPins.dbg_chn0_pin) {REG_32(dbgPins.dbg_chn0_pin) = 0;} }while(0); + #define DBG_CHN0_TOGGLE do{ if(dbgPins.dbg_chn0_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn0_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN1_HI do{ if(dbgPins.dbg_chn1_pin) {REG_32(dbgPins.dbg_chn1_pin) = 1;} }while(0); + #define DBG_CHN1_LO do{ if(dbgPins.dbg_chn1_pin) {REG_32(dbgPins.dbg_chn1_pin) = 0;} }while(0); + #define DBG_CHN1_TOGGLE do{ if(dbgPins.dbg_chn1_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn1_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN2_HI do{ if(dbgPins.dbg_chn2_pin) {REG_32(dbgPins.dbg_chn2_pin) = 1;} }while(0); + #define DBG_CHN2_LO do{ if(dbgPins.dbg_chn2_pin) {REG_32(dbgPins.dbg_chn2_pin) = 0;} }while(0); + #define DBG_CHN2_TOGGLE do{ if(dbgPins.dbg_chn2_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn2_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN3_HI do{ if(dbgPins.dbg_chn3_pin) {REG_32(dbgPins.dbg_chn3_pin) = 1;} }while(0); + #define DBG_CHN3_LO do{ if(dbgPins.dbg_chn3_pin) {REG_32(dbgPins.dbg_chn3_pin) = 0;} }while(0); + #define DBG_CHN3_TOGGLE do{ if(dbgPins.dbg_chn3_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn3_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN4_HI do{ if(dbgPins.dbg_chn4_pin) {REG_32(dbgPins.dbg_chn4_pin) = 1;} }while(0); + #define DBG_CHN4_LO do{ if(dbgPins.dbg_chn4_pin) {REG_32(dbgPins.dbg_chn4_pin) = 0;} }while(0); + #define DBG_CHN4_TOGGLE do{ if(dbgPins.dbg_chn4_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn4_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN5_HI do{ if(dbgPins.dbg_chn5_pin) {REG_32(dbgPins.dbg_chn5_pin) = 1;} }while(0); + #define DBG_CHN5_LO do{ if(dbgPins.dbg_chn5_pin) {REG_32(dbgPins.dbg_chn5_pin) = 0;} }while(0); + #define DBG_CHN5_TOGGLE do{ if(dbgPins.dbg_chn5_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn5_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN6_HI do{ if(dbgPins.dbg_chn6_pin) {REG_32(dbgPins.dbg_chn6_pin) = 1;} }while(0); + #define DBG_CHN6_LO do{ if(dbgPins.dbg_chn6_pin) {REG_32(dbgPins.dbg_chn6_pin) = 0;} }while(0); + #define DBG_CHN6_TOGGLE do{ if(dbgPins.dbg_chn6_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn6_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN7_HI do{ if(dbgPins.dbg_chn7_pin) {REG_32(dbgPins.dbg_chn7_pin) = 1;} }while(0); + #define DBG_CHN7_LO do{ if(dbgPins.dbg_chn7_pin) {REG_32(dbgPins.dbg_chn7_pin) = 0;} }while(0); + #define DBG_CHN7_TOGGLE do{ if(dbgPins.dbg_chn7_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn7_pin) = flag; flag=!flag;} }while(0); + + + #define DBG_CHN8_HI do{ if(dbgPins.dbg_chn8_pin) {REG_32(dbgPins.dbg_chn8_pin) = 1;} }while(0); + #define DBG_CHN8_LO do{ if(dbgPins.dbg_chn8_pin) {REG_32(dbgPins.dbg_chn8_pin) = 0;} }while(0); + #define DBG_CHN8_TOGGLE do{ if(dbgPins.dbg_chn8_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn8_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN9_HI do{ if(dbgPins.dbg_chn9_pin) {REG_32(dbgPins.dbg_chn9_pin) = 1;} }while(0); + #define DBG_CHN9_LO do{ if(dbgPins.dbg_chn9_pin) {REG_32(dbgPins.dbg_chn9_pin) = 0;} }while(0); + #define DBG_CHN9_TOGGLE do{ if(dbgPins.dbg_chn9_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn9_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN10_HI do{ if(dbgPins.dbg_chn10_pin) {REG_32(dbgPins.dbg_chn10_pin) = 1;} }while(0); + #define DBG_CHN10_LO do{ if(dbgPins.dbg_chn10_pin) {REG_32(dbgPins.dbg_chn10_pin) = 0;} }while(0); + #define DBG_CHN10_TOGGLE do{ if(dbgPins.dbg_chn10_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn10_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN11_HI do{ if(dbgPins.dbg_chn11_pin) {REG_32(dbgPins.dbg_chn11_pin) = 1;} }while(0); + #define DBG_CHN11_LO do{ if(dbgPins.dbg_chn11_pin) {REG_32(dbgPins.dbg_chn11_pin) = 0;} }while(0); + #define DBG_CHN11_TOGGLE do{ if(dbgPins.dbg_chn11_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn11_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN12_HI do{ if(dbgPins.dbg_chn12_pin) {REG_32(dbgPins.dbg_chn12_pin) = 1;} }while(0); + #define DBG_CHN12_LO do{ if(dbgPins.dbg_chn12_pin) {REG_32(dbgPins.dbg_chn12_pin) = 0;} }while(0); + #define DBG_CHN12_TOGGLE do{ if(dbgPins.dbg_chn12_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn12_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN13_HI do{ if(dbgPins.dbg_chn13_pin) {REG_32(dbgPins.dbg_chn13_pin) = 1;} }while(0); + #define DBG_CHN13_LO do{ if(dbgPins.dbg_chn13_pin) {REG_32(dbgPins.dbg_chn13_pin) = 0;} }while(0); + #define DBG_CHN13_TOGGLE do{ if(dbgPins.dbg_chn13_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn13_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN14_HI do{ if(dbgPins.dbg_chn14_pin) {REG_32(dbgPins.dbg_chn14_pin) = 1;} }while(0); + #define DBG_CHN14_LO do{ if(dbgPins.dbg_chn14_pin) {REG_32(dbgPins.dbg_chn14_pin) = 0;} }while(0); + #define DBG_CHN14_TOGGLE do{ if(dbgPins.dbg_chn14_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn14_pin) = flag; flag=!flag;} }while(0); + + #define DBG_CHN15_HI do{ if(dbgPins.dbg_chn15_pin) {REG_32(dbgPins.dbg_chn15_pin) = 1;} }while(0); + #define DBG_CHN15_LO do{ if(dbgPins.dbg_chn15_pin) {REG_32(dbgPins.dbg_chn15_pin) = 0;} }while(0); + #define DBG_CHN15_TOGGLE do{ if(dbgPins.dbg_chn15_pin) {static uint8_t flag = 0; REG_32(dbgPins.dbg_chn15_pin) = flag; flag=!flag;} }while(0); + #endif #elif TIMING_TRACK_EN #define TIMING_TRACK_INIT() TrackTimingInit() @@ -737,6 +798,7 @@ #define DBG_PIN_NUM 3 #if CUSTOM_TRACK_TIMING_EN +#if defined(IP_108) typedef struct{ uint32_t sch_pin; uint32_t scan_pin; @@ -754,6 +816,29 @@ extern volatile uint32_t dbg_ll_irq_pin; void TrackTimingInitEx(DbgPin_t *debugPins); + +#else +typedef struct{ + uint32_t dbg_chn0_pin; + uint32_t dbg_chn1_pin; + uint32_t dbg_chn2_pin; + uint32_t dbg_chn3_pin; + uint32_t dbg_chn4_pin; + uint32_t dbg_chn5_pin; + uint32_t dbg_chn6_pin; + uint32_t dbg_chn7_pin; + uint32_t dbg_chn8_pin; + uint32_t dbg_chn9_pin; + uint32_t dbg_chn10_pin; + uint32_t dbg_chn11_pin; + uint32_t dbg_chn12_pin; + uint32_t dbg_chn13_pin; + uint32_t dbg_chn14_pin; + uint32_t dbg_chn15_pin; +}DbgPin_t; +extern volatile DbgPin_t dbgPins; +void TrackTimingInitEx(DbgPin_t *debugPins); #endif +#endif /* CUSTOM_TRACK_TIMING_EN */ #endif /* TRACK_H_ */ -- Gitblit v1.9.3