From 6a87d5e15c325c041e69ef077546f0822a4ee956 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 27 十二月 2023 18:05:00 +0800 Subject: [PATCH] 1 --- Src/application/dw_app.c | 48 ++++-------------------------------------------- 1 files changed, 4 insertions(+), 44 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index 339297e..415aad9 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -401,6 +401,8 @@ u16 numceshi; u16 rec_nearbaseid,rec_nearbasepos; extern u16 poll_startcount; +u16 Poll_30s_id[200],Poll_30s_dist[200]; +u8 Poll_30s_num; void NearPoll(void) { @@ -467,31 +469,6 @@ current_count=HAL_LPTIM_ReadCounter(&hlptim1); while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到成功接收或者发生错误 { -// if(flag_finalsend&&flag_ancreadpara) -// { -// dw_systime=dwt_readsystimestamphi32(); -// if(dw_systime>temp1&&dw_systime<temp2) -// { -// -// dwt_forcetrxoff(); -// flag_rxon=0; -// if(flag_ancreadpara) //只有在读取参数的时候需要回复 -// { -// u16 calCRC; -// tx_near_msg[MESSAGE_TYPE_IDX] = MBX_PRAAREPLY; -// memcpy(&tx_near_msg[MESSAGE_PARAREPLY_IDX],g_com_map,SENDANCPARA_LEN); -// calCRC = CRC_Compute((uint8_t*)g_com_map,SENDANCPARA_LEN); -// memcpy(&tx_near_msg[MESSAGE_PARAREPLY_IDX+SENDANCPARA_LEN],&calCRC,2); -// dwt_writetxdata(14+SENDANCPARA_LEN, tx_near_msg, 0);//将发送数据写入DW1000 -// dwt_writetxfctrl(14+SENDANCPARA_LEN, 0);//设定发送数据长度 -// -// dwt_setdelayedtrxtime(final_tx_time); -// result=dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送 -// } -// flag_finalsend=0; -// break; -// } -// } current_count=HAL_LPTIM_ReadCounter(&hlptim1); if(current_count>=end_count&¤t_count<end_count+15000) break; @@ -517,6 +494,7 @@ recbase_num++; memcpy(&rec_nearbaseid,&rx_buffer[ANCHOR_ID_IDX],2); rec_remotepara_state = rx_buffer[MOTORSTATE_INDEX]>>4; + freqlost_count = 0; // TagFreqProcess(rx_buffer[TAGFREQ_IDX]); // if(rec_nearbaseid==0x9002) // {rec_remotepara_state = rx_buffer[MOTORSTATE_INDEX]>>4;} @@ -560,25 +538,7 @@ if((rx_buffer[MOTORSTATE_INDEX]&0xf)!=3) motor_state=rx_buffer[MOTORSTATE_INDEX]&0xf; - - mainbase_lost_count=0; - flag_finalsend=1; - memcpy(&mainbase_dist,&rx_buffer[DIST_IDX],4); - final_tx_time = (resp_rx_ts + ((RESP_RX_TO_FINAL_TX_DLY_UUS+DELAY_BETWEEN_TWO_FRAME_UUS*nearbase_num+500) * UUS_TO_DWT_TIME)) >> 8; - temp1=final_tx_time-((850*UUS_TO_DWT_TIME)>>8); - temp2=final_tx_time+((100*UUS_TO_DWT_TIME)>>8); - // dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 - final_tx_ts = (((uint64_t)(final_tx_time & 0xFFFFFFFE)) << 8) + TX_ANT_DLY;//final包实际发送时间是计算时间加上发送天线delay - final_msg_set_ts(&tx_near_msg[FINAL_MSG_POLL_TX_TS_IDX], poll_tx_ts);//将T1,T4,T5写入发送数据 - final_msg_set_ts(&tx_near_msg[FINAL_MSG_RESP_RX_NEARBASE_IDX], resp_rx_ts); - final_msg_set_ts(&tx_near_msg[FINAL_MSG_FINAL_TX_TS_IDX], final_tx_ts); - tx_near_msg[MESSAGE_TYPE_IDX]=MBX_FINAL; - tx_near_msg[GROUP_ID_IDX] = group_id; - - dwt_writetxdata(28+nearbase_num*4, tx_near_msg, 0);//将发送数据写入DW1000 - dwt_writetxfctrl(28+nearbase_num*4, 0);//设定发送数据长度 - flag_getresponse=1; - memcpy(&rec_tagpos_binary,&rx_buffer[NEARMSG_EMPTYSLOTPOS_INDEX],4); + }else{ rec_nearbasepos=FindNearBasePos(rec_nearbaseid); SetANCTimestap(rec_nearbasepos,&rx_buffer[RESP_MSG_POLL_RX_TS_IDX],&rx_buffer[RESP_MSG_RESP_TX_TS_IDX],resp_rx_ts,&rx_buffer[RESP_MSG_ANC_DISTOFFSET]); -- Gitblit v1.9.3