From 66b13717fce3890b464d0b43eb61b94ea7cdf56e Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 28 九月 2021 17:09:23 +0800
Subject: [PATCH] V2.30

---
 源码/核心板/Src/application/dw_app.h |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 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 98b8b04..e5bc528 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,14 +19,17 @@
 #include "beep.h"
 #include <math.h>
 
-#define USART_INTEGRATE_OUTPUT
-
+//#define USART_INTEGRATE_OUTPUT
+//#define TAG_OUTPUT
+//#define DEBUG_INF
 //#define NEWBOARD
 //#define TAG_OUTPUT
 #define HEX_OUTPUT
 
-#define MAX_NEARBASE_NUM 10
-
+#define ANCHORTYPE_NUM   5
+#define MAX_NEARBASE_NUM 12
+#define MAX_RFPOWER   67
+#define DEFAULT_RFPOWER   30
 #define REPOET_ANC_NUM 1
 #define REPOET_ANC_NUM_MIN 1
 #define TAG_ID_START 		0// 0x00980000
@@ -34,7 +37,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. */
@@ -54,11 +58,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
 
@@ -73,6 +77,11 @@
 #define NEAR_POLL   					0x06
 #define NEAR_RESPONSE   			0x07
 #define NEAR_FINAL   					0x08
+#define SPOLL     							0x09
+#define DISCOVERPOLL     							0x0a
+
+#define REG_POLL   						0x10
+#define REG_RESPONSE   				0x11
 //General
 #define GROUP_ID_IDX   				0
 #define ANCHOR_ID_IDX    			1
@@ -81,27 +90,46 @@
 //Poll
 #define ANC_TYPE_IDX 					14
 //respose
-#define DIST_IDX 							10
-#define ANCTIMEMS             14
-#define ANCTIMEUS             16
+#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 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;
@@ -114,7 +142,7 @@
 extern uint32_t g_UWB_com_interval;
 extern float dis_after_filter;
 extern LPFilter_Frac* p_Dis_Filter;		//测距用的低通滤波器
-extern u8 usart_send[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);
@@ -122,10 +150,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