From ae0ac687e1b68ed3c067deb67dffaea9582f329c Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期四, 23 十一月 2023 16:55:35 +0800 Subject: [PATCH] V1.2 修改继电器报警错误 --- 源码/核心板/Src/application/dw_app.c | 104 ++++++++++++++++++++++++++++------------------------ 1 files changed, 56 insertions(+), 48 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..ced8d21 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; @@ -892,23 +884,39 @@ }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 +1117,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