From a6ddff5c49ef22b708bd739c83648af738b8f598 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 15 十月 2024 14:47:00 +0800
Subject: [PATCH] 2.13,修复跟主基站测距131071,修复切换主机占测距跟id不匹配的bug

---
 Src/application/dw_app.h |   76 +++++++++++++++++++++++++++++++++-----
 1 files changed, 66 insertions(+), 10 deletions(-)

diff --git a/Src/application/dw_app.h b/Src/application/dw_app.h
index 42d5bcb..84376af 100644
--- a/Src/application/dw_app.h
+++ b/Src/application/dw_app.h
@@ -8,13 +8,18 @@
 #include "ADC.h"
 #include "TrackingDiff.h"
 
-//#define WORK_MODE_TAG
-#define WORK_MODE_ANCHOR
+//BITSTATE
+#define GOINGSLEEPBIT 1
 
 //#define NEWBOARD
 //#define TAG_OUTPUT
+#define MAX_RFPOWER   67
+#define DEFAULT_RFPOWER   30
+#define REGISTER_FREQUENCY 1
 #define HEX_OUTPUT
-
+#define TOTAL_SLOTNUM 200
+#define SLOTTIME_MS 48
+#define SLOT_SCALE 0.8
 #define MAX_NEARBASE_NUM 12
 #define KEEP_TIMES 3
 
@@ -28,6 +33,8 @@
 #define MIN_ANCHOR_NUM 2
 #define SYNC_SEQ_IDX    			5
 #define REMOTEPARA_LEN 18
+#define OUTRANGE_RESTARTTIMES 5
+
 
 #define POLL     							0x01
 #define RESPONSE 							0x02
@@ -37,12 +44,33 @@
 #define NEAR_POLL   					0x06
 #define NEAR_RESPONSE   			0x07
 #define NEAR_FINAL   					0x08
+#define SPOLL     							0x09
+
+#define DISCOVERPOLL     				    0x0A
+#define DISCOVERRESPONSE     				    0x0B
+#define DISCOVERFINAL     				    0x0C
+
+#define DISCOVERPOLL2     				    0x1A
+
+
+#define POS_MSG   						0x15
+#define POS_POLL   					    0x16
+#define POS_RESPONSE   			        0x17
+#define POS_FINAL   					0x18
+
+#define REG_POLL   						0x10   //
+#define REG_RESPONSE   				0x11   //
+#define REG_POLL2   						0x20   //
 //General
 #define GROUP_ID_IDX   				0
 #define ANCHOR_ID_IDX    			1
 #define TAG_ID_IDX    				5
-#define MESSAGE_TYPE_IDX 			9	
+#define MESSAGE_TYPE_IDX 			9
+#define POLL_USERDATA_IDX 32
+#define NEARBASENUM_INDEX    18
+#define NEARBASEID_INDEX		 19
 //Poll
+#define TAGSTATE              7
 #define ANC_TYPE_IDX 					14
 //respose
 #define DIST_IDX 							10
@@ -50,8 +78,16 @@
 #define ANCTIMEUS             16
 #define TAGSLOTPOS						7
 #define MOTORSTATE_INDEX      19
-#define REMOTEPARA_INDEX      20
+#define NR_NEARSWITCH_DISTANCE 20
+#define REMOTEPARA_INDEX      22
+#define MAXRANGE_DISTANCE       22
+#define ANC_SIGNALPOWER         24
+#define RESP_MSG_POLL_RX_TS_IDX  26
+#define RESP_MSG_RESP_TX_TS_IDX  30
+#define RESP_MSG_ANC_DISTOFFSET  34
+
 //Final
+#define TAGCONFIGSUCCESS_INDEX 7
 #define FINAL_MSG_POLL_TX_TS_IDX 10
 #define FINAL_MSG_RESP_RX_TS_IDX 14
 #define FINAL_MSG_FINAL_TX_TS_IDX 18
@@ -61,12 +97,31 @@
 #define SYNC_SEQ_IDX    			5
 //NEAR MSG
 #define NEARMSG_EMPTYSLOTPOS_INDEX		 1 //RESPONSE
-#define NEARBASENUM_INDEX    10
-#define NEARBASEID_INDEX		 11
 //NEAR POLL
-#define BATTARY_IDX						1
-#define BUTTON_IDX						2
+#define NEARP_TAGFREQ_INDEX  10
+#define NEARP_TAGSLOTPOS_INDEX  12
+
+
+//REG POLL
+#define REGP_TAGSTATE_INDEX  10
+#define REGP_VERSION_INDEX  11
+#define REGP_FREQUENCY_INDEX  13
+#define REGP_POWER_INDEX  14
+#define REGP_IMUTHRES_INDEX  15
+#define REGP_NOMOVESLEEPTIME_INDEX  17
+#define REGP_HEIGHTOFFSET_INDEX 19
+#define REGP_BATTARY_INDEX  19
+//REG RESPONSE
+#define REGR_TAGFREQ_INDEX  10
+#define REGR_TAGSLOTPOS_INDEX  12
+#define REGR_BASENUM_INDEX    18
+#define REGR_BASEID_INDEX		 19
+
+
 #define SEQUENCE_IDX					3
+#define BATTARY_IDX						4
+#define BUTTON_IDX						7
+#define SEQUENCEH_IDX					8
 
 #define DW_CTRL_GPIO					GPIOA
 #define DW_ENABLE   HAL_GPIO_WritePin(DW_CTRL_GPIO, DW_CTRL_Pin, GPIO_PIN_RESET)
@@ -82,7 +137,7 @@
 extern uint32_t g_UWB_com_interval;
 extern float dis_after_filter;
 
-extern uint8_t usart_send[25];
+extern uint8_t usart_send[150];
 
 void IdleTask(void);
 uint16_t Checksum_u16(uint8_t* pdata, uint32_t len);
@@ -94,4 +149,5 @@
 
 extern void TagDistClear(void);
 void Dw1000_App_Init(void);
+void DelayOneSlot(void);
 #endif

--
Gitblit v1.9.3