yincheng.zhong
2023-07-17 803267a4512fc003573dcb1f7164d804b925dff5
Src/application/dw_app.c
@@ -80,8 +80,13 @@
   NEARPOLL,
    SINGLEPOLL,
}tag_state=STARTPOLL;
//#define   _UWB_4G
static dwt_config_t config = {
#ifdef   _UWB_4G
   2,               /* Channel number. */
#else
   5,
#endif
   DWT_PRF_64M,     /* Pulse repetition frequency. */
   DWT_PLEN_128,    /* Preamble length. */
   DWT_PAC8,        /* Preamble acquisition chunk size. Used in RX only. */
@@ -829,19 +834,23 @@
    for(int i=0;i<11;i++)
    {
        rec_anc_signalpower[i] = exsistbase_list[i];
      if(exsistbase_list[i]>0)
      if(exsistbase_list[i]==KEEP_TIMES)
      {
          exsistbase_list[i]--;
#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;
          distance = tof * SPEED_OF_LIGHT;
          if(distance>-1000&&distance<100000)
          if(distance>-10&&distance<1000)
            nearbase_distlist[i] = distance*100+anc_distoffset[i];
      }else{
          nearbase_distlist[i] = 0x1ffff;
                  nearbase_distlist[i] = 0x1ffff;
      }
    
    }
@@ -1258,7 +1267,7 @@
                           memcpy(nearbaseid_list,&rx_buffer[NEARBASEID_INDEX],nearbase_num*2);
                           memcpy(nearbaseid_list2,&rx_buffer[NEARBASEID_INDEX],nearbase_num*2);
                           if(tagslotpos!=255)
                                        tag_state = DISCPOLL;
                   tag_state = DISCPOLL;
                        }
                     }
}