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