zhangbo
2025-07-31 762d180aeb181a12acc46016f8e21ca3f9609006
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
@@ -60,7 +60,7 @@
    .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                 */
@@ -194,6 +194,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,
@@ -222,7 +223,7 @@
      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);
    
}
@@ -654,6 +655,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);
@@ -666,7 +668,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长度