From f975229aa44884a7dba218247a49d488f54226a0 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期一, 04 八月 2025 13:39:16 +0800
Subject: [PATCH] 测试4个基站测距

---
 keil/uwb_tag_.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/keil/uwb_tag_.c b/keil/uwb_tag_.c
index c667628..11640d9 100644
--- a/keil/uwb_tag_.c
+++ b/keil/uwb_tag_.c
@@ -29,7 +29,7 @@
 #define POLL_DELAY  100U //yuan100U
 
 /* Receive response timeout */
-#define RESP_RX_TIMEOUT_US_DEFAULT 600U //Yuan500 10mssuccess 300jixian
+#define RESP_RX_TIMEOUT_US_DEFAULT 700U //Yuan500 10mssuccess 300jixian
 #define RESP_RX_TIMEOUT_US 2000000
 /* Field index in frame */
 #define MSG_SEQ_NUM_IDX 2
@@ -37,7 +37,8 @@
 #define FINAL_MSG_RESP_RX_TS_IDX 14
 #define FINAL_MSG_FINAL_TX_TS_IDX 18
 #define DELAY_DEFAULT 50000
-#define DELAY_BETWEEN_TWO_FRAME_UUS 500  //yuan1400
+//#define DELAY_BETWEEN_TWO_FRAME_UUS 500  //yuan1400
+#define DELAY_BETWEEN_TWO_FRAME_UUS 700  //yuan1400
 #define HALF_SECOND_TIME 62400000
 
 uint16_t CmpTagInList(uint16_t tagid);
@@ -51,15 +52,16 @@
 };
 uint32_t dev_id;
 uint8_t group_id;
+
 #ifdef DW1000
 /* Default communication configuration. */
 static struct mk_uwb_configure config = {//yuan
     .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX),
-    .phy_cfg.ch_num = 9,                      /* Channel number.                           */
+    .phy_cfg.ch_num = UWB_CH_NUM,             /* Channel number.                           */
     .phy_cfg.code_index = 9,                  /* TRX preamble code                         */
     .phy_cfg.mean_prf = MEAN_PRF_64M,         /* Mean prf 64/128/256M                      */
     .phy_cfg.data_bit_rate = DATA_BR_6M8,     /* Data rate 6.8M                            */
-    .phy_cfg.sync_sym = PREAM_LEN_128,        /* Preamble duration, length of preamble 128 */
+    .phy_cfg.sync_sym = PREAM_LEN_64,        /* Preamble duration, length of preamble 128 */
     .phy_cfg.sfd_sym = NON_STD_NSFD5_8,          /* Identifier for SFD sequence               */
     .phy_cfg.ranging_bit = 1,                 /* ranging bit set 1                         */
     .phy_cfg.trx_mode = TRX_MODE_15_4A,  /* IEEE802.15.4z - BPRF mode                 */
@@ -193,6 +195,7 @@
 extern double distance;
 extern uint8_t bat_percent;
 uint32_t count1,count2;
+extern uint32_t reboot_num;
 enum SIMPLE_FSM_T
 {
     SIMPLE_IDLE = 0,
@@ -212,6 +215,7 @@
     {
         tag_num_tosend = SEND_GROUP_MAX_NUM;
     }
+    memcpy(&uwb_sendbuffer[7],&g_com_map[VERSION],2);
 		uwb_sendbuffer[GROUP_ID_IDX] = group_id;
 		memcpy(&uwb_sendbuffer[TAG_ID_IDX],&dev_id,2);
 		uwb_sendbuffer[BATTARY_IDX] = bat_percent;
@@ -220,7 +224,8 @@
 		memcpy(&uwb_sendbuffer[NEARBASEID_INDEX],&taglist_id[taglist_current_index],tag_num_tosend*2);//基站id
     memcpy(&uwb_sendbuffer[NEARBASEID_INDEX+tag_num_tosend*2],&taglist_dist[taglist_current_index],tag_num_tosend*2);
 		uwb_sendbuffer[MESSAGE_TYPE_IDX] = MBX_POLL;	
-		memcpy(&uwb_sendbuffer[ANCHOR_ID_IDX],&mainbase_id,2);
+//		memcpy(&uwb_sendbuffer[ANCHOR_ID_IDX],&mainbase_id,2);
+    
 }
 
 static enum SIMPLE_FSM_T state = SIMPLE_IDLE;
@@ -651,6 +656,7 @@
 				sleep_timer_start(__MS_TO_32K_CNT(SLEEP_COUNT-rand_temp));//测试
 				}else if (rx_buf[MESSAGE_TYPE_IDX] == MBX_RESPONSE&&!memcmp(&rx_buf[TAG_ID_IDX],&dev_id,2)&&rx_buf[GROUP_ID_IDX]==group_id) //判断接收到的数据是否是response数据
 							{	
+								reboot_num=0;//清0复位监测数值
 									memcpy(&rec_nearbaseid,&rx_buf[ANCHOR_ID_IDX],2);
 								rec_tag_index = CmpTagInList(rec_nearbaseid);//当前新来的这包数据插入当前表中的位置索引
 									//rec_nearbasepos=FindNearBasePos(rec_nearbaseid);
@@ -663,7 +669,7 @@
 //										nearbase_num++;
 //										nearbaseid_list[rec_nearbasepos] = rec_nearbaseid;
 //									}
-//									exsistbase_list[rec_nearbasepos]=KEEP_TIMES;//更新存活时间
+									//exsistbase_list[rec_nearbasepos]=KEEP_TIMES;//更新存活时间
               
 							memset(rx_buf, 0, sizeof(rx_buf));//清空接收到的用完的数组
 							rx_length=0;//清0长度

--
Gitblit v1.9.3