From 08f21ed689efcba6e1c3fc23f945e4609ddfc48f Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期四, 02 六月 2022 16:07:53 +0800 Subject: [PATCH] V1.51 修改discpoll bug,不适配老基站,老基站这块有bug --- Src/application/dw_app.c | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index d97279d..acfa1ce 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -81,7 +81,7 @@ SINGLEPOLL, }tag_state=STARTPOLL; static dwt_config_t config = { - 3, /* Channel number. */ + 2, /* Channel number. */ DWT_PRF_64M, /* Pulse repetition frequency. */ DWT_PLEN_128, /* Preamble length. */ DWT_PAC8, /* Preamble acquisition chunk size. Used in RX only. */ @@ -573,7 +573,7 @@ memcpy(&mindist_ancid,&rx_buffer[ANCHOR_ID_IDX],2); } - send_buffer[MESSAGE_TYPE_IDX] = FINAL; + send_buffer[MESSAGE_TYPE_IDX] = DISCOVERFINAL; /* Compute final message transmission time. See NOTE 9 below. */ final_tx_time = (resp_rx_ts + (600 * UUS_TO_DWT_TIME)) >> 8;//计算final包发送时间,T5=T4+Treply2 dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 @@ -768,6 +768,32 @@ }else{ // tyncpoll_time = (tagslotpos--%max_slotpos)*slottime; } +} +void SendHuiZongData(void) +{ + usart_send[2] = 0x0c;//正常模式 + usart_send[3] = 15+8*(nearbase_num+1);//数据段长度 + memcpy(&usart_send[4],&dev_id,2); + usart_send[6] = frame_seq_nb; + usart_send[7] = frame_seq_nb>>8; + usart_send[8] = bat_percent; + usart_send[9] = tx_near_msg[BUTTON_IDX]; + + memcpy(&usart_send[10],&intheight,2); + usart_send[12] = tag_frequency; + usart_send[13] = tagslotpos; + usart_send[14] = 0; + usart_send[15] = 0; + usart_send[16] = nearbase_num+1; + memcpy(&usart_send[17],&mainbase_id,2); + memcpy(&usart_send[19],&nearbaseid_list,2*nearbase_num); + memcpy(&usart_send[19+nearbase_num*2],&nearbase_distlist,4*nearbase_num+4); + memcpy(&usart_send[19+nearbase_num*6+4],&rec_anc_signalpower,2*nearbase_num+2); + + checksum = Checksum_u16(&usart_send[2],23+8*nearbase_num); + memcpy(&usart_send[25+8*nearbase_num],&checksum,2); + USART_puts(usart_send,27+8*nearbase_num); + //HexToAsciiSendUDP(usart_send,27+8*nearbase_num); } uint8_t pack_length = 0,pack_index = 0,pack_msgtype = 0; void NearPoll(void) @@ -1071,6 +1097,7 @@ nearbaseid_list0[i]=1; } } + // SendHuiZongData(); dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG); //HAL_GPIO_WritePin(LED0_GPIO, GPIO_PIN_9, GPIO_PIN_RESET); -- Gitblit v1.9.3