From 4619bf589dca444b867173ec409e0346836db587 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期三, 09 八月 2023 17:01:58 +0800
Subject: [PATCH] V2.71 1.增加随机时间片模式,标签初始不注册,直接进入搜索模式查找附近最近基站,然后随机挑选时间片,进行定位。 此模式标签和基站定位不需要基站下发时间片。 2.标签输出55AA0C报文,可以通过串口进入电脑上位机,进行定位。这种模式下定位延迟基本可忽略。

---
 Src/application/dw_app.c |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c
index a5ac547..7cde645 100644
--- a/Src/application/dw_app.c
+++ b/Src/application/dw_app.c
@@ -68,8 +68,12 @@
 #define FINAL_MSG_RESP_RX_TS_IDX 14
 #define FINAL_MSG_FINAL_TX_TS_IDX 18
 #define FINAL_MSG_TS_LEN 4
-
-#define STARTPOLL  REGPOLL//#define SWITCHBASE_DIST
+#define SUIJI_SHIJIANPIAN
+#ifdef	SUIJI_SHIJIANPIAN
+#define STARTPOLL  DISCPOLL//#define SWITCHBASE_DIST
+#else
+#define STARTPOLL  REGPOLL
+#endif
 #define SWITCHBASE_ZHUANDIAN
 #define SWITCHBASE_DIST
 enum enumtagstate
@@ -226,7 +230,7 @@
 }
 
 u16 tag_time_recv[TAG_NUM_IN_SYS];
-u8 usart_send[25];
+u8 usart_send[250];
 u8 battary,button;
 extern uint8_t g_pairstart;
 void tag_sleep_configuraion(void)
@@ -775,6 +779,8 @@
 }
 void SendHuiZongData(void)
 {
+	usart_send[0] = 0x55;
+	usart_send[1] = 0xaa;
                 usart_send[2] = 0x0c;//正常模式 
 					usart_send[3] = 15+8*(nearbase_num+1);//数据段长度
 					memcpy(&usart_send[4],&dev_id,2);
@@ -843,12 +849,18 @@
 #else
 					clockOffsetRatio = anc_clockoffset[i] * (FREQ_OFFSET_MULTIPLIER * HERTZ_TO_PPM_MULTIPLIER_CHAN_5 / 1.0e6) ;
 #endif
-          rtd_init = tag_resprx[i] - poll_tx_ts;
+          rtd_init = tag_resprx[i] - poll_tx_ts&0xffffffff;
           rtd_resp = anc_resptx[i] - anc_pollrx[i];
           tof = ((rtd_init - rtd_resp * (1 - clockOffsetRatio)) / 2.0) * DWT_TIME_UNITS;
           distance = tof * SPEED_OF_LIGHT;
           if(distance>-10&&distance<1000)
+					{
             nearbase_distlist[i] = distance*100+anc_distoffset[i];
+//						if(nearbase_distlist[i]>4000)
+//						{
+//							nearbase_distlist[i] = 4100;
+//						}
+					}
       }else{
 						nearbase_distlist[i] = 0x1ffff;
       }
@@ -1180,7 +1192,7 @@
 									nearbaseid_list0[i]=1;
                 }
 			}
-        //    SendHuiZongData();
+            SendHuiZongData();
 	dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG);
 //HAL_GPIO_WritePin(LED0_GPIO, GPIO_PIN_9, GPIO_PIN_RESET);
 
@@ -1304,6 +1316,10 @@
 		case DISCPOLL:
 			LED_LG_ON;		
 			DiscPoll();
+#ifdef	SUIJI_SHIJIANPIAN
+			if(tagslotpos--<2)
+				tagslotpos=bigslot_num;
+#endif
 			LED_LG_OFF;
 			break;
 		case GETNEARMSG:

--
Gitblit v1.9.3