From 526f2fbdaa4532c5bc0b6dffd7b9b84f784d7fef Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期一, 29 一月 2024 15:49:44 +0800 Subject: [PATCH] 1.76 --- 源码/核心板/Src/application/dw_app.c | 111 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 56 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..cf8745f 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" @@ -474,14 +474,10 @@ 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; @@ -524,14 +520,10 @@ 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; @@ -885,30 +877,39 @@ dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间 - if(new_tagid) - { - tagdist_list[taglist_pos]=0x1ffff; - memcpy(&tx_nearresp_msg[DIST_IDX], &tagdist_list[taglist_pos], 4); - }else{ - memcpy(&tx_nearresp_msg[DIST_IDX], &tagdist_list[taglist_pos], 4); - } - - 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(tag_id_recv>>12!=9) + { + 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; + } + }else{ + if(tagdist_list[taglist_pos]<g_com_map[RELAY2_DISTANCE1]) + { + motorstate =0; + }else if(tagdist_list[taglist_pos]<g_com_map[RELAY2_DISTANCE2]) + { + motorstate =2; + }else if(tagdist_list[taglist_pos]<g_com_map[RELAY2_DISTANCE3]) + { + motorstate =1; + }else{ + motorstate =0; + } + } tx_nearresp_msg[GROUP_ID_IDX] = group_id; tx_nearresp_msg[MAINBASE_INDEX]=flag_syncbase; tx_nearresp_msg[MESSAGE_TYPE_IDX]=NEAR_RESPONSE; + remotesend_state = 0; tx_nearresp_msg[MOTORSTATE_INDEX]=(remotesend_state<<4)|(motorstate&0xf); if(remotesend_state) { @@ -1109,29 +1110,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