From f7107e325fbd42ed9875b7b28c340e1cda8627cc Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期日, 24 三月 2024 18:29:51 +0800 Subject: [PATCH] 1.12 修复大于25个的添加标签的bug --- Src/application/dw_mbx_anc.c | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Src/application/dw_mbx_anc.c b/Src/application/dw_mbx_anc.c index b634f84..b111fc2 100644 --- a/Src/application/dw_mbx_anc.c +++ b/Src/application/dw_mbx_anc.c @@ -138,7 +138,7 @@ checksum = Checksum_u16(lora_sendbuffer,9+data_length); memcpy(&lora_sendbuffer[9+data_length],&checksum,2); Radio.Send(lora_sendbuffer,data_length+11); - Delay_Ms(60); + Delay_Ms(160); } static uint8_t rec_index; uint16_t rec_value; @@ -290,13 +290,13 @@ //方法是将新注册的标签添加到下次发送的标签列表头部,其他标签依次向后挪动。 uint16_t AddNewTagIntoList(uint16_t tagid) { - u16 newindex_cal = taglist_current_index+25; + u16 newindex_cal = taglist_current_index+25;//当前索引+25,为下次索引要发出的值的最大值,如果总数小于这个值,即可放到最后面。 if(newindex_cal>=taglist_total_num) //如果当前索引是最后一包,那么就加到总索引的后面,如果不是就加到下一次起始索引位置。 { newindex_cal = taglist_total_num; }else{ - for(u16 i=taglist_total_num;i>newindex_cal+1;i--) //从后往前挪地方 + for(u16 i=taglist_total_num;i>newindex_cal;i--) //从后往前挪地方 { taglist_id[i]=taglist_id[i-1]; taglist_dist[i]=taglist_dist[i-1]; @@ -401,9 +401,10 @@ extern float bat_volt; uint16_t AD_value[500],ti; extern float Height; +u8 rec_tag_num,temp_tag_num,kp1; void MBXANCPoll(void) //将要发的标签序号,在列表中的位置 { - + temp_tag_num = 0; tag_num_tosend = taglist_total_num-taglist_current_index; if(tag_num_tosend>25) { @@ -477,6 +478,7 @@ rec_tag_index = CmpTagInList(rec_nearbaseid); temp_index =rec_tag_index -taglist_current_index; SetANCTimestap(temp_index,&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]); + temp_tag_num++; } }else{ @@ -484,8 +486,10 @@ dwt_rxenable(0); } - } + } + LED_TB_OFF; dwt_forcetrxoff(); + rec_tag_num = temp_tag_num; CalculateDists(); TagListUpdate(); dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG); @@ -500,6 +504,13 @@ bat_volt = 3*(float)verfint_cal/AD_value[21]-0.1; bat_percent=bat_volt*100-200; } + for(uint8_t i=0;i<taglist_total_num;i++) + { + if(taglist_id[i] == 0x33) + { + kp1 = taglist_keeptime[i]; + } + } #ifdef _USE_BAR_ //if(taglist_total_num>0) { -- Gitblit v1.9.3