From 0a7ffb3c159918e1df3e0a2ab59c48e00cc48272 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期四, 02 三月 2023 15:57:30 +0800 Subject: [PATCH] V2.53 修改UWB通讯标志位,适配2.56之后的标签。 --- 源码/核心板/Src/application/dw_app.h | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" index 86a6d30..8ffca5b 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" @@ -26,8 +26,10 @@ //#define TAG_OUTPUT #define HEX_OUTPUT +#define MAXUSERDATALEN 55 +#define ANCHORTYPE_NUM 5 #define MAX_NEARBASE_NUM 12 -#define MAX_RFPOWER 60 +#define MAX_RFPOWER 67 #define DEFAULT_RFPOWER 30 #define REPOET_ANC_NUM 1 #define REPOET_ANC_NUM_MIN 1 @@ -57,13 +59,13 @@ /* Receive response timeout. See NOTE 5 below. */ #define RESP_RX_TIMEOUT_UUS 2000 -#define DELAY_BETWEEN_TWO_FRAME_UUS 240 +#define DELAY_BETWEEN_TWO_FRAME_UUS 250 -#define POLL_RX_TO_RESP_TX_DLY_UUS 470 +#define POLL_RX_TO_RESP_TX_DLY_UUS 670 /* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ #define RESP_TX_TO_FINAL_RX_DLY_UUS 0 /* Receive final timeout. See NOTE 5 below. */ -#define FINAL_RX_TIMEOUT_UUS 4300 +#define FINAL_RX_TIMEOUT_UUS 1000 #define SPEED_OF_LIGHT 299702547 @@ -76,6 +78,14 @@ #define NEAR_POLL 0x06 #define NEAR_RESPONSE 0x07 #define NEAR_FINAL 0x08 +#define SPOLL 0x09 +#define DISCOVERPOLL 0x0a +#define DISCOVERFINAL 0x0c + +#define POS_MSG 0x15 +#define POS_POLL 0x16 +#define POS_RESPONSE 0x17 +#define POS_FINAL 0x18 #define REG_POLL 0x10 #define REG_RESPONSE 0x11 @@ -87,13 +97,16 @@ //Poll #define ANC_TYPE_IDX 14 //respose -#define DIST_IDX 10 -#define ANCTIMEMS 14 -#define ANCTIMEUS 16 -#define MAINBASE_INDEX 18 -#define MOTORSTATE_INDEX 19 -#define REMOTEPARA_INDEX 20 - +#define DIST_IDX 10 +#define ANCTIMEMS 14 +#define ANCTIMEUS 16 +#define MAINBASE_INDEX 18 +#define MOTORSTATE_INDEX 19 +#define NR_NEARSWITCH_DISTANCE 20 +#define REMOTEPARA_INDEX 22 +#define MAXRANGE_DISTANCE 22 +#define ANC_SIGNALPOWER 24 +#define TAGPOS_INDEX 26 #define TAGSLOTPOS 7 //Final #define TAGCONFIGSUCCESS_INDEX 7 @@ -113,6 +126,9 @@ #define SEQUENCE_IDX 3 #define BATTARY_IDX 4 #define BUTTON_IDX 7 +#define SEQUENCEH_IDX 8 +#define NEARP_TAGFREQ_INDEX 10 +#define NEARP_TAGSLOTPOS_INDEX 12 //REG RESPONSE #define REGR_TAGFREQ_INDEX 10 #define REGR_TAGSLOTPOS_INDEX 12 @@ -133,7 +149,7 @@ extern uint32_t g_UWB_com_interval; extern float dis_after_filter; extern LPFilter_Frac* p_Dis_Filter; //测距用的低通滤波器 -extern u8 usart_send[100],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];; +extern u8 usart_send[150],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];; void IdleTask(void); uint16_t Checksum_u16(uint8_t* pdata, uint32_t len); @@ -141,11 +157,12 @@ void Tag_App(void); void Anchor_App(void); void tag_sleep_configuraion(void); -extern uint16_t g_Tagdist[TAG_NUM_IN_SYS]; +extern int32_t g_Tagdist[TAG_NUM_IN_SYS]; extern uint8_t g_flag_Taggetdist[256]; extern void TagDistClear(void); void Dw1000_App_Init(void); void TagListUpdate(void); void SyncPoll(u8 sync_seq); u8 GetRandomSlotPos(uint32_t emptyslot); +u16 CmpTagInList(u16 tagid); #endif -- Gitblit v1.9.3