| | |
| | | #define RANGING_PERIOD_MS (1000) |
| | | |
| | | /* This is the delay from Frame RX POLL frame to send RESP Frame */ |
| | | #define POLL_RX_TO_RESP_TX_DLY_US 4000U //yuan670 with urt 3000success |
| | | #define POLL_RX_TO_RESP_TX_DLY_US 2000U //yuan670 with urt 3000success |
| | | |
| | | #define RESP_TX_TO_FINAL_RX_DLY_US 500U |
| | | |
| | |
| | | // resp_tx_en_start_u32 = phy_timer_count_get()+US_TO_PHY_TIMER_COUNT(20*rec_nearbase_num+POLL_RX_TO_RESP_TX_DLY_US+ancrec_nearbasepos*DELAY_BETWEEN_TWO_FRAME_UUS);//后面的需要根据已有基站数量进行更改,如果是抢占自己最后一个回复,要有底数 |
| | | // //这里应该有问题问一下钟工 |
| | | // }//此处设置绝对时间将poll u32改为phy_timer_count_get() |
| | | resp_tx_en_start_u32 = phy_timer_count_get()+US_TO_PHY_TIMER_COUNT(POLL_RX_TO_RESP_TX_DLY_US); |
| | | resp_tx_en_start_u32 = poll_rx_en_start_u32+US_TO_PHY_TIMER_COUNT(POLL_RX_TO_RESP_TX_DLY_US); |
| | | resp_tx_ts_i64 = ranging_tx_time_correct(resp_tx_en_start_u32 + phy_shr_duration());//修正时间戳 |
| | | /* Write all timestamps in the final message. See NOTE 8 below. */ |
| | | resp_msg_set_ts(&send_buffer[RESP_MSG_POLL_RX_TS_IDX], poll_rx_ts_i64); |
| | |
| | | if(rssi_ant0>rssi_ant2&&distance_from_tag<200) |
| | | { |
| | | change_count[position_anchor_exist]++; |
| | | if(change_count[position_anchor_exist]>0) |
| | | { |
| | | position_anchor_in_table=CmpCarInTable(receive_success_id); |
| | | add_in_car_table(position_anchor_in_table,receive_success_id); |
| | | } |
| | | if(change_count[position_anchor_exist]>=3) |
| | | { change_count[position_anchor_exist]=3; |
| | | position_anchor_in_table=CmpCarInTable(receive_success_id); |
| | | add_in_car_table(position_anchor_in_table,receive_success_id); |
| | | |
| | | } |
| | | }else if(rssi_ant0<rssi_ant2&&distance_from_tag<200) |
| | | { |
| | | change_count[position_anchor_exist]--; |
| | | if(change_count[position_anchor_exist]<=-3) |
| | | {change_count[position_anchor_exist]=-3; |
| | | if(change_count[position_anchor_exist]<0) |
| | | { |
| | | position_anchor_in_table=CmpCarInTable(receive_success_id); |
| | | delete_in_car_table(position_anchor_in_table); |
| | | } |
| | | if(change_count[position_anchor_exist]<=-3) |
| | | {change_count[position_anchor_exist]=-3; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | recev_error_num=0; |
| | | //range_timeout_us=5000;//恢复为5000进入range后 |
| | | LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 信号强度ANT0: %f,信号强度ANT2: %f\r\n",g_com_receive_id,distance,sts_rssi[0],sts_rssi[2]); |
| | | LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 包序%d\r\n",g_com_receive_id,distance,frame_seq_nb2); |
| | | check_if_in_or_out_car(g_com_receive_id,distance,sts_rssi[0],sts_rssi[2]); |
| | | |
| | | |