From 37e1edd5867f057db701424dc11c306c293472fa Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期四, 22 十月 2020 10:56:50 +0800 Subject: [PATCH] 华星测试 --- 源码/核心板/Src/application/dw_app.c | 68 ++++++---------------------------- 1 files changed, 12 insertions(+), 56 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" index cb75c4a..60b2535 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" @@ -551,14 +551,8 @@ resp_rx_ts = get_rx_timestamp_u64(); //获得RESPONSE接收时间T4 recbase_num++; memcpy(&rec_nearbaseid,&rx_buffer[ANCHOR_ID_IDX],2); - if(last_nearbase_num==0) - { - get_newbase=1; - nearbaseid_list[0]=rec_nearbaseid; - nearbase_num=1; - memcpy(&tx_nearfinal_msg[ANCHOR_ID_IDX],&rec_nearbaseid,2); - } - if(rec_nearbaseid==nearbaseid_list[0]) + + if(rec_nearbaseid==mainbase_id) { //////////////////////////////////时间同步 temp_sync_timer2=sync_timer; @@ -593,7 +587,7 @@ rec_nearbasepos=0; memcpy(&temp_dist,&rx_buffer[DIST_IDX],4); - nearbase_distlist[rec_nearbasepos]=temp_dist; + mainbase_dist = temp_dist; if(temp_dist!=0x1ffff) exsistbase_list[rec_nearbasepos]=KEEP_TIMES; @@ -611,35 +605,6 @@ dwt_writetxdata(28+nearbase_num*4, tx_nearfinal_msg, 0);//将发送数据写入DW1000 dwt_writetxfctrl(28+nearbase_num*4, 0);//设定发送数据长度 memcpy(&rec_tagpos_binary,&rx_buffer[NEARMSG_EMPTYSLOTPOS_INDEX],4); - if(temp_dist!=0x1ffff) - { - #ifdef TAG_OUTPUT - #ifndef USART_INTEGRATE_OUTPUT - usart_send[2] = 1;//正常模式 - usart_send[3] = 17;//数据段长度 - usart_send[4] = frame_seq_nb;//数据段长度 - if(g_com_map[DEV_ROLE]) - { - memcpy(&usart_send[5],&dev_id,2); - memcpy(&usart_send[7],&rec_nearbaseid,2); - }else{ - memcpy(&usart_send[5],&rec_nearbaseid,2); - memcpy(&usart_send[7],&dev_id,2); - } - memcpy(&usart_send[9],&rx_buffer[DIST_IDX],4); - usart_send[13] = battary; - usart_send[14] = button; - checksum = Checksum_u16(&usart_send[2],17); - memcpy(&usart_send[19],&checksum,2); - UART_PushFrame(usart_send,21); - #endif - #endif - - //dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 - // result=dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送 - //dwt_writetxdata(4,&tx_near_msg[FINAL_MSG_RESP_RX_NEARBASE_IDX+(rec_nearbasepos+1)*4], FINAL_MSG_RESP_RX_NEARBASE_IDX+(rec_nearbasepos+1)*4);//将发送数据写入DW1000 - } - }else{ rec_nearbasepos=FindNearBasePos(rec_nearbaseid); @@ -767,17 +732,7 @@ } report_num=0; - for (i=0;i<last_nearbase_num;i++) - { - nearbaseid_list[i]=true_nearbase_idlist[i]; - nearbase_distlist[i]=true_nearbase_distlist[i]; - if(nearbase_distlist[i]!=0x1ffff&&true_exsistbase_list[i]==KEEP_TIMES) - { - memcpy(&usart_send[4+6*report_num],&nearbaseid_list[i],2); - memcpy(&usart_send[6+6*report_num],&nearbase_distlist[i],4); - report_num++; - } - } + for(i=0;i<MAX_NEARBASE_NUM;i++) { nearbase_distlist[i]=0x1ffff; @@ -931,7 +886,7 @@ LED0_BLINK; //每成功一次通讯则闪烁一次 dis_after_filter=dist_cm; hex_dist = dist_cm+(int16_t)g_com_map[DIST_OFFSET]; - if(abs(hex_dist-his_dist[tag_id_recv-TAG_ID_START])<1000) + if(abs(hex_dist-his_dist[taglist_pos])<1000) { tagdist_list[taglist_pos] = hex_dist; } @@ -1222,11 +1177,11 @@ tagpos_rec[(u8)temp_tagpos]=1; rec_nearbase_num=rx_buffer[NEARBASENUM_INDEX]; - if(rec_nearbase_num>ancidlist_num) - { - ancidlist_num=rec_nearbase_num; - memcpy(ancidlist_rec,&rx_buffer[NEARBASEID_INDEX],rec_nearbase_num*2); - } + + if(anc_id_recv==dev_id) + { + Anchor_RecNearPoll(0); + }else{ for(i=0;i<rec_nearbase_num;i++) { @@ -1234,10 +1189,11 @@ if(tempid==dev_id) { seize_anchor=0; //非抢占。已存在列表中 - Anchor_RecNearPoll(i); + Anchor_RecNearPoll(i+1); break; } } + } //抢占模式 // if(i==rec_nearbase_num) // { -- Gitblit v1.9.3