| | |
| | | #define FINAL_MSG_RESP_RX_TS_IDX 14 |
| | | #define FINAL_MSG_FINAL_TX_TS_IDX 18 |
| | | #define FINAL_MSG_TS_LEN 4 |
| | | |
| | | #define STARTPOLL REGPOLL//#define SWITCHBASE_DIST |
| | | #define SUIJI_SHIJIANPIAN |
| | | #ifdef SUIJI_SHIJIANPIAN |
| | | #define STARTPOLL DISCPOLL//#define SWITCHBASE_DIST |
| | | #else |
| | | #define STARTPOLL REGPOLL |
| | | #endif |
| | | #define SWITCHBASE_ZHUANDIAN |
| | | #define SWITCHBASE_DIST |
| | | enum enumtagstate |
| | |
| | | } |
| | | |
| | | u16 tag_time_recv[TAG_NUM_IN_SYS]; |
| | | u8 usart_send[25]; |
| | | u8 usart_send[250]; |
| | | u8 battary,button; |
| | | extern uint8_t g_pairstart; |
| | | void tag_sleep_configuraion(void) |
| | |
| | | } |
| | | void SendHuiZongData(void) |
| | | { |
| | | usart_send[0] = 0x55; |
| | | usart_send[1] = 0xaa; |
| | | usart_send[2] = 0x0c;//正常模式 |
| | | usart_send[3] = 15+8*(nearbase_num+1);//数据段长度 |
| | | memcpy(&usart_send[4],&dev_id,2); |
| | |
| | | #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_init = tag_resprx[i] - poll_tx_ts&0xffffffff; |
| | | 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>-10&&distance<1000) |
| | | { |
| | | nearbase_distlist[i] = distance*100+anc_distoffset[i]; |
| | | // if(nearbase_distlist[i]>4000) |
| | | // { |
| | | // nearbase_distlist[i] = 4100; |
| | | // } |
| | | } |
| | | }else{ |
| | | nearbase_distlist[i] = 0x1ffff; |
| | | } |
| | |
| | | nearbaseid_list0[i]=1; |
| | | } |
| | | } |
| | | // SendHuiZongData(); |
| | | SendHuiZongData(); |
| | | dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG); |
| | | //HAL_GPIO_WritePin(LED0_GPIO, GPIO_PIN_9, GPIO_PIN_RESET); |
| | | |
| | |
| | | case DISCPOLL: |
| | | LED_LG_ON; |
| | | DiscPoll(); |
| | | #ifdef SUIJI_SHIJIANPIAN |
| | | if(tagslotpos--<2) |
| | | tagslotpos=bigslot_num; |
| | | #endif |
| | | LED_LG_OFF; |
| | | break; |
| | | case GETNEARMSG: |