From e7bad2338d19ebba1a73fa3aac2d1b0c642127b0 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期一, 25 八月 2025 09:12:37 +0800 Subject: [PATCH] 修改协议内容V1.76 --- 源码/核心板/Src/application/dw_app.c | 109 +++++++++++++++++++++++++++--------------------------- 1 files changed, 54 insertions(+), 55 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 447970a..1c1df65 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" @@ -9,7 +9,7 @@ NEARPOLL, }tag_state=NEARPOLL; static dwt_config_t config = { - 2, /* Channel number. */ + 5, /* Channel number. */ DWT_PRF_64M, /* Pulse repetition frequency. */ DWT_PLEN_128, /* Preamble length. */ DWT_PAC8, /* Preamble acquisition chunk size. Used in RX only. */ @@ -465,7 +465,7 @@ 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); - IWDG_Feed(); + IWDG_Feed(); if(temp_dist!=0x1ffff) { g_Resttimer=0; @@ -474,20 +474,17 @@ 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 //dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 @@ -524,20 +521,17 @@ 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 //dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 @@ -998,8 +992,8 @@ filter_dist=hex_dist/10; #endif misdist_num[taglist_pos]=0; - tagdist_list[taglist_pos] = filter_dist; - his_dist[taglist_pos]=hex_dist; + tagdist_list[taglist_pos] = filter_dist; + his_dist[taglist_pos]=hex_dist; if(hex_dist>0) { g_Tagdist[taglist_pos]=hex_dist/10; @@ -1007,22 +1001,27 @@ // g_Tagdist[taglist_pos]= 1; } #ifdef USART_SINGLE_OUTPUT - usart_send[2] = 1;//正常模式 - usart_send[3] = 17;//数据段长度 - usart_send[4] = frame_seq_nb2;//数据段长度 - memcpy(&usart_send[5],&tag_id_recv,2); - memcpy(&usart_send[7],&dev_id,2); - if(tagdist_list[taglist_pos]<=0) - tagdist_list[taglist_pos]=0x2ffff; - memcpy(&usart_send[9],&tagdist_list[taglist_pos],4); - usart_send[13] = battary; - usart_send[14] = button; - usart_send[15] = firstpath_power; - usart_send[16] = rx_power; - checksum = Checksum_u16(&usart_send[2],17); - memcpy(&usart_send[19],&checksum,2); - if(g_com_map[MODBUS_MODE]!=1) - UART_PushFrame(usart_send,21); +// usart_send[2] = 1;//正常模式 +// usart_send[3] = 17;//数据段长度 +// usart_send[4] = frame_seq_nb2;//数据段长度 +// memcpy(&usart_send[5],&tag_id_recv,2); +// memcpy(&usart_send[7],&dev_id,2); +// if(tagdist_list[taglist_pos]<=0) +// tagdist_list[taglist_pos]=0x2ffff; +// memcpy(&usart_send[9],&tagdist_list[taglist_pos],4); +// usart_send[13] = battary; +// usart_send[14] = button; +// usart_send[15] = firstpath_power; +// usart_send[16] = rx_power; +// checksum = Checksum_u16(&usart_send[2],17); +// memcpy(&usart_send[19],&checksum,2); +// if(g_com_map[MODBUS_MODE]!=1) +// UART_PushFrame(usart_send,21); + memcpy(&usart_send[0],&dev_id,2); + memcpy(&usart_send[2],&tag_id_recv,2); + memcpy(&usart_send[4],&tagdist_list[taglist_pos],4); + + UART_PushFrame(usart_send,8); #else 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); @@ -1109,29 +1108,29 @@ // Anchor_RecPoll(); // break; case SYNC: - memcpy(&rec_syncid,&rx_buffer[ANCHOR_ID_IDX],4); - if(rec_syncid<current_syncid) - { - current_syncid=rec_syncid; - flag_syncbase=0; - sync_seq=rx_buffer[SYNC_SEQ_IDX]+1; - TIM3->CNT = sync_seq*325%1000+15; - sync_timer = sync_seq*325/1000; - synclost_timer=0; - //SyncPoll(sync_seq,rec_syncid); - }else if(rec_syncid==current_syncid) - { - if(rx_buffer[SYNC_SEQ_IDX]<sync_seq) - { - flag_syncbase=0; - sync_seq=rx_buffer[SYNC_SEQ_IDX]+1; - TIM3->CNT = sync_seq*325%1000+5; - sync_timer = sync_seq*325/1000+995; - synclost_timer=0; - //SyncPoll(sync_seq,rec_syncid); - } - - } +// memcpy(&rec_syncid,&rx_buffer[ANCHOR_ID_IDX],4); +// if(rec_syncid<current_syncid) +// { +// current_syncid=rec_syncid; +// flag_syncbase=0; +// sync_seq=rx_buffer[SYNC_SEQ_IDX]+1; +// TIM3->CNT = sync_seq*325%1000+15; +// sync_timer = sync_seq*325/1000; +// synclost_timer=0; +// //SyncPoll(sync_seq,rec_syncid); +// }else if(rec_syncid==current_syncid) +// { +// if(rx_buffer[SYNC_SEQ_IDX]<sync_seq) +// { +// flag_syncbase=0; +// sync_seq=rx_buffer[SYNC_SEQ_IDX]+1; +// TIM3->CNT = sync_seq*325%1000+5; +// sync_timer = sync_seq*325/1000+995; +// synclost_timer=0; +// //SyncPoll(sync_seq,rec_syncid); +// } +// +// } break; case NEAR_MSG: if(anc_id_recv==flag_syncbase) -- Gitblit v1.9.3