From 0d86b8671dd435ca62f08e2676b40ce598a8b25b Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期三, 12 五月 2021 18:46:14 +0800
Subject: [PATCH] Spoll 模式调试完成

---
 源码/核心板/Src/application/dw_app.h |   56 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 16 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 b6b20e5..96cebb2 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"
@@ -19,15 +19,16 @@
 #include "beep.h"
 #include <math.h>
 
-#define USART_INTEGRATE_OUTPUT
-//#define WORK_MODE_TAG
-
+//#define USART_INTEGRATE_OUTPUT
+//#define TAG_OUTPUT
+//#define DEBUG_INF
 //#define NEWBOARD
 //#define TAG_OUTPUT
 #define HEX_OUTPUT
 
-#define MAX_NEARBASE_NUM 10
-
+#define MAX_NEARBASE_NUM 12
+#define MAX_RFPOWER   60
+#define DEFAULT_RFPOWER   30
 #define REPOET_ANC_NUM 1
 #define REPOET_ANC_NUM_MIN 1
 #define TAG_ID_START 		0// 0x00980000
@@ -35,7 +36,8 @@
 #define TAG_NUM_IN_SYS				256
 #define DFT_RAND_DLY_TIM_MS			1
 #define QUIT_SLOT_TIME    5
-
+#define KEEP_TIMES 3
+#define SLOT_SCALE 0.24
 #define RNG_DELAY_MS 100
 
 /* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */
@@ -55,11 +57,11 @@
 /* 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 420
+#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 200
+#define RESP_TX_TO_FINAL_RX_DLY_UUS 0
 /* Receive final timeout. See NOTE 5 below. */
 #define FINAL_RX_TIMEOUT_UUS 4300
 
@@ -74,6 +76,10 @@
 #define NEAR_POLL   					0x06
 #define NEAR_RESPONSE   			0x07
 #define NEAR_FINAL   					0x08
+#define SPOLL     							0x09
+
+#define REG_POLL   						0x10
+#define REG_RESPONSE   				0x11
 //General
 #define GROUP_ID_IDX   				0
 #define ANCHOR_ID_IDX    			1
@@ -85,24 +91,41 @@
 #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 TAGSLOTPOS						7
 //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
 #define FINAL_MSG_RESP_RX_NEARBASE_IDX  22
 #define FINAL_MSG_TS_LEN 4
 //SYNC
+#define ANCHOR_ID_IDX    			1
 #define SYNC_SEQ_IDX    			5
 //NEAR MSG
-#define NEARBASENUM_INDEX    10
-#define NEARBASEID_INDEX		 11
+#define NEARMSG_EMPTYSLOTPOS_INDEX		 1 //RESPONSE
+#define NEARBASENUM_INDEX    18
+#define NEARBASEID_INDEX		 19
 //NEAR POLL
-#define BATTARY_IDX						1
-#define BUTTON_IDX						2
 #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
+#define REGR_BASENUM_INDEX    18
+#define REGR_BASEID_INDEX		 19
 
-#define THRESHOLD_CHANGE_MAINBASE_DIST   5
+#define REMOTEPARA_LEN 18
+#define THRESHOLD_CHANGE_MAINBASE_DIST   500
 extern u8 neartimout_timer;
 extern u16 slottime,tyncpoll_time,max_slotpos;
 extern u16 poll_timer,tag_timer;
@@ -115,7 +138,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];
+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);
@@ -123,10 +146,11 @@
 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);
 #endif

--
Gitblit v1.9.3