From d5777a0e26f94314af6408c1dff8d34abf8ff9fc Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期一, 11 四月 2022 17:49:40 +0800 Subject: [PATCH] 去掉基站修改标签参数 --- 源码/核心板/Src/application/dw_app.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 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 32db799..5567971 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" @@ -838,6 +838,8 @@ } extern u16 dist_threshold; u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,getrange_success=0; +int32_t filter_dist,filter_speed; +u8 newmeasure; u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase 1 first near_base { u8 motorstate; @@ -853,19 +855,6 @@ dwt_setrxaftertxdelay(RESP_TX_TO_FINAL_RX_DLY_UUS+(rec_nearbase_num+1-ancrec_nearbasepos)*DELAY_BETWEEN_TWO_FRAME_UUS);//设置发送完成后开启接收延迟时间 dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间 - if(tagdist_list[taglist_pos]<g_com_map[ALARM_DISTANCE1]) - { - motorstate =0; - }else if(tagdist_list[taglist_pos]<g_com_map[ALARM_DISTANCE2]) - { - motorstate =2; - }else if(tagdist_list[taglist_pos]<g_com_map[ALARM_DISTANCE3]) - { - motorstate =1; - }else{ - motorstate =0; - } - if(new_tagid) { tagdist_list[taglist_pos]=0x1ffff; @@ -873,19 +862,23 @@ }else{ memcpy(&tx_nearresp_msg[DIST_IDX], &tagdist_list[taglist_pos], 4); } - tx_nearresp_msg[GROUP_ID_IDX] = group_id; + motorstate =0; + if(tagdist_list[taglist_pos]<g_com_map[ALARM_DISTANCE2]) + { + motorstate =2; + }else if(tagdist_list[taglist_pos]<g_com_map[ALARM_DISTANCE3]) + { + motorstate =1; + + } + tx_nearresp_msg[GROUP_ID_IDX] = group_id; tx_nearresp_msg[MAINBASE_INDEX]=flag_syncbase; tx_nearresp_msg[MESSAGE_TYPE_IDX]=NEAR_RESPONSE; - tx_nearresp_msg[MOTORSTATE_INDEX]=(remotesend_state<<4)|motorstate; - if(remotesend_state) - { - memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,REMOTEPARA_LEN); - dwt_writetxdata(22+REMOTEPARA_LEN, tx_nearresp_msg, 0);//写入发送数据 - dwt_writetxfctrl(22+REMOTEPARA_LEN, 0);//设定发送长度 - }else{ + tx_nearresp_msg[MOTORSTATE_INDEX]=motorstate;//(remotesend_state<<4)|motorstate; + tx_nearresp_msg[MOTORSTATE_INDEX]&=0x0f; dwt_writetxdata(22, tx_nearresp_msg, 0);//写入发送数据 dwt_writetxfctrl(22, 0);//设定发送长度 - } + // } result = dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收 @@ -943,12 +936,14 @@ { if(abs(hex_dist-his_dist[taglist_pos])<dist_threshold||misdist_num[taglist_pos]>3) { - int32_t filter_dist; + g_Resttimer=0; IWDG_Feed(); #ifdef TDFILTER NewTrackingDiffUpdate(taglist_pos, (float)hex_dist); - filter_dist=pos_predict[taglist_pos]/10; + filter_dist = pos_predict[taglist_pos]/10; + filter_speed = vel_predict[taglist_pos]/10; + newmeasure = 1; #else filter_dist=hex_dist/10; #endif @@ -956,6 +951,8 @@ tagdist_list[taglist_pos] = filter_dist; his_dist[taglist_pos]=hex_dist; g_Tagdist[taglist_pos]=filter_dist; + if(!g_com_map[MODBUS_MODE]) + { #ifdef USART_SINGLE_OUTPUT usart_send[2] = 1;//正常模式 usart_send[3] = 17;//数据段长度 @@ -974,7 +971,8 @@ memcpy(&usart_send_anc[4+6*anc_report_num],&tag_id_recv,2); memcpy(&usart_send_anc[6+6*anc_report_num],&tagdist_list[taglist_pos],4); anc_report_num++; - #endif + #endif + } }else{ // printf("%d",hex_dist); misdist_num[taglist_pos]++; -- Gitblit v1.9.3