WXK
2023-11-08 3bb0e44ef7d12ddc84e631456f4b6eab7112df1c
Src/application/dw_app.c
@@ -70,8 +70,15 @@
#define FINAL_MSG_RESP_RX_TS_IDX 14
#define FINAL_MSG_FINAL_TX_TS_IDX 18
#define FINAL_MSG_TS_LEN 4
#define _UWB_4G
static dwt_config_t config = {
   5,               /* Channel number. */
#ifdef _UWB_4G
   2,               /* Channel number. */
#else
    5,
#endif
   DWT_PRF_64M,     /* Pulse repetition frequency. */
   DWT_PLEN_64,    /* Preamble length. */
   DWT_PAC8,        /* Preamble acquisition chunk size. Used in RX only. */
@@ -106,8 +113,8 @@
uint32_t g_UWB_com_interval = 0; 
float dis_after_filter;            //当前距离值
LPFilter_Frac* p_Dis_Filter;      //测距用的低通滤波器
int16_t intheight;
extern float Altitude;
static uint64_t get_tx_timestamp_u64(void)
{
@@ -338,7 +345,11 @@
      {
         // exsistbase_list[i]--;
          clockOffsetRatio = anc_clockoffset[i] * (FREQ_OFFSET_MULTIPLIER * HERTZ_TO_PPM_MULTIPLIER_CHAN_5 / 1.0e6) ;
#ifdef _UWB_4G
            clockOffsetRatio = anc_clockoffset[i] * (FREQ_OFFSET_MULTIPLIER * HERTZ_TO_PPM_MULTIPLIER_CHAN_2 / 1.0e6) ;
#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_resp = anc_resptx[i] - anc_pollrx[i];
          tof = ((rtd_init - rtd_resp * (1 - clockOffsetRatio)) / 2.0) * DWT_TIME_UNITS;
@@ -346,7 +357,7 @@
          if(distance>-10&&distance<1000)
            nearbase_distlist[i] = distance*100+anc_distoffset[i];
      }else{
         // nearbase_distlist[i] = 0x1ffff;
          nearbase_distlist[i] = 0x1ffff;
      }
    
    }
@@ -405,7 +416,8 @@
    }
   tx_near_msg[GROUP_ID_IDX] = group_id;
   tx_near_msg[BATTARY_IDX] = bat_percent;
   tx_near_msg[BUTTON_IDX] = !GET_USERKEY|stationary_flag<<1;
//   tx_near_msg[BUTTON_IDX] = !GET_USERKEY|stationary_flag<<1;
    memcpy(&tx_near_msg[PRESSNUM_IDX],&intheight,2);
   tx_near_msg[SEQUENCE_IDX] = frame_seq_nb++;
   tx_near_msg[NEARBASENUM_INDEX] = nearbase_num;
   memcpy(&tx_near_msg[NEARBASEID_INDEX],&nearbaseid_list,nearbase_num*2);
@@ -416,7 +428,7 @@
   dwt_writetxfctrl(13+4*nearbase_num, 0);//设置超宽带发送数据长度
   dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置
   
   tx_near_msg[TAGCONFIGSUCCESS_INDEX] =0;
//   tx_near_msg[TAGCONFIGSUCCESS_INDEX] =0;
   para_update = 0;
    get_newbase = 0;
   flag_finalsend=0;
@@ -669,6 +681,7 @@
        }
    }
}
extern float Height;
u8 regpoll_count;
u32 id;
void Tag_App(void)//发送模式(TAG标签)
@@ -702,6 +715,8 @@
            Registor_Poll();
        }
    }
GetPressAndHeight();
intheight = Height*100;
   NearPoll();
   dwt_entersleep();
    bat_percent=Get_VDDVlotage();