| | |
| | | #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. */ |
| | |
| | | { |
| | | |
| | | // 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; |
| | |
| | | if(distance>-10&&distance<1000) |
| | | nearbase_distlist[i] = distance*100+anc_distoffset[i]; |
| | | }else{ |
| | | // nearbase_distlist[i] = 0x1ffff; |
| | | nearbase_distlist[i] = 0x1ffff; |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | u8 regpoll_count; |
| | | u32 id; |
| | | uint32_t temp23; |
| | | void Tag_App(void)//发送模式(TAG标签) |
| | | { |
| | | |
| | |
| | | printf("UWB芯片ID错误"); |
| | | break; |
| | | } |
| | | } |
| | | temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; |
| | | if(temp23!=0x4A7A0055&&temp23!=0x4A7A0022) //通道状态监听,不正常重启。 |
| | | { |
| | | NVIC_SystemReset(); |
| | | } |
| | | delay_us(100); |
| | | g_Resttimer=0; |
| | |
| | | Registor_Poll(); |
| | | } |
| | | } |
| | | if(freqlost_count>FREQ_LOST_RESTART_TIME) //1个小时无测距 设备重启一次 |
| | | { |
| | | NVIC_SystemReset(); |
| | | } |
| | | NearPoll(); |
| | | dwt_entersleep(); |
| | | bat_percent=Get_VDDVlotage(); |