| | |
| | | #include "mk_misc.h" |
| | | #include "mk_uart.h" |
| | | #include "mk_trace.h" |
| | | #include "global_param.h" |
| | | static float clockOffsetRatio; |
| | | static double rtd_init, rtd_resp; |
| | | double tof,distance; |
| | |
| | | memcpy(&tag_resprx[i],&resprx,4); |
| | | memcpy(&anc_distoffset[i],distoffset,2); |
| | | memcpy(&tag_polltx[i],&polltx,4); |
| | | //anc_clockoffset[i] = anc_clockoffset_from_MK;//MK8000修改 |
| | | anc_clockoffset[i] = freq_offset;//MK8000修改 |
| | | } |
| | | void CalculateDists1(int64_t poll_tx_ts) |
| | | { |
| | |
| | | // correct antenna delay |
| | | // tround -= ranging_ant_delays_get(uwb_app_config.ppdu_params.rx_ant_id); |
| | | // corrected by frequency offset |
| | | tround = (int64_t)((double)tround * (1 - (double)freq_offset_filter / ch_center_freq_map[UWB_CH_NUM])); |
| | | tround = (int64_t)((double)tround * (1 - (double)anc_clockoffset[i] / ch_center_freq_map[UWB_CH_NUM])); |
| | | tround_temp=tround; |
| | | treply_temp=treply; |
| | | tof_i = (int32_t)(tround - treply) / 2; |
| | |
| | | |
| | | if(distance>-1000&&distance<100000) |
| | | { |
| | | nearbase_distlist[i] = distance+anc_distoffset[i];//offset未加 |
| | | } |
| | | nearbase_distlist[i] = distance+(int16_t)g_com_map[OFFSET_AS_URT_TAG];//offset未加 |
| | | }else{ |
| | | nearbase_distlist[i] = 0x2ffff; |
| | | } |
| | | }else{ |
| | | nearbase_distlist[i] = 0x1ffff; |
| | | } |