From b930edd3675dbc937717ae680b2aee4593a3e414 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 11 十月 2022 15:49:16 +0800
Subject: [PATCH] V2.52 改正dicpoll FINAL 标志位bug

---
 源码/核心板/Src/application/dw_app.h |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 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 411bd5b..ea5b4fb 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
@@ -59,11 +61,11 @@
 
 #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,7 +78,9 @@
 #define NEAR_POLL   					0x06
 #define NEAR_RESPONSE   			0x07
 #define NEAR_FINAL   					0x08
-
+#define SPOLL     							0x09
+#define DISCOVERPOLL     							0x0a
+#define DISCOVERFINAL     							0x0c
 #define REG_POLL   						0x10
 #define REG_RESPONSE   				0x11
 //General
@@ -87,14 +91,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 NR_NEARSWITCH_DISTANCE   20
-#define REMOTEPARA_INDEX      22
-
+#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
@@ -114,6 +120,7 @@
 #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
@@ -136,7 +143,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);
@@ -144,11 +151,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