From f77c0cc249fd31530fb90cdfb19093695553d0bc Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 27 四月 2021 21:55:34 +0800
Subject: [PATCH] V2.18 基本没问题

---
 源码/核心板/Src/application/dw_app.h |   54 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 39 insertions(+), 15 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 114ded4..1c4d4f5 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"
@@ -18,15 +18,17 @@
 #include <stdio.h>
 #include "beep.h"
 #include <math.h>
-//#define WORK_MODE_TAG
-#define WORK_MODE_ANCHOR
 
+//#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
@@ -34,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. */
@@ -54,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 470
 /* 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 +76,9 @@
 #define NEAR_POLL   					0x06
 #define NEAR_RESPONSE   			0x07
 #define NEAR_FINAL   					0x08
+
+#define REG_POLL   						0x10
+#define REG_RESPONSE   				0x11
 //General
 #define GROUP_ID_IDX   				0
 #define ANCHOR_ID_IDX    			1
@@ -84,24 +90,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;
@@ -114,7 +137,7 @@
 extern uint32_t g_UWB_com_interval;
 extern float dis_after_filter;
 extern LPFilter_Frac* p_Dis_Filter;		//测距用的低通滤波器
-extern u8 usart_send[25];
+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 +145,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