From dcac514bc4be1c6acfd7cf92ce609d282ba55f1c Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 10 十一月 2020 20:48:07 +0800
Subject: [PATCH] V2.13 1增加临近距离判断  2增加注册包超时清空机制

---
 源码/核心板/Src/application/dw_app.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 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 1f0e5fe..2227003 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"
@@ -918,11 +918,12 @@
 uint32_t time_monitor[10];
 extern uint16_t configremotetagID;
 extern u8 remotetag_paralen;
-u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,waittagconfig_reponse;
+u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,waittagconfig_reponse,motorstate=0;
 u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase  1 first near_base
 {
-	u8 motorstate;
+	
 			tmp_time=TIM3->CNT;
+			memcpy(&tx_nearresp_msg[NR_NEARSWITCH_DISTANCE],&g_com_map[NEARSWITCH_DISTANCE_INDEX],2);
 			memcpy(&tx_nearresp_msg[ANCTIMEMS],&sync_timer,2);
 			memcpy(&tx_nearresp_msg[ANCTIMEUS],&tmp_time,2);
 			memcpy(&tx_nearresp_msg[TAGSLOTPOS],&taglist_pos,2);
@@ -960,16 +961,16 @@
 							remotetag_para[2] = 2;
 							memcpy(&remotetag_para[3],&pwtag.group_interval[i],2);
 							memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,remotetag_paralen);
-							dwt_writetxdata(22+remotetag_paralen, tx_nearresp_msg, 0);//写入发送数据
-							dwt_writetxfctrl(22+remotetag_paralen, 0);//设定发送长度		
+							dwt_writetxdata(24+remotetag_paralen, tx_nearresp_msg, 0);//写入发送数据
+							dwt_writetxfctrl(24+remotetag_paralen, 0);//设定发送长度		
 							remotesend_state=0;
 							break;
 						}				
 					}
 					
 				}else{
-						dwt_writetxdata(22, tx_nearresp_msg, 0);//写入发送数据
-						dwt_writetxfctrl(22, 0);//设定发送长度
+						dwt_writetxdata(24, tx_nearresp_msg, 0);//写入发送数据
+						dwt_writetxfctrl(24, 0);//设定发送长度
 				}
 					
 //			 if(remotesend_state&&tag_id_recv==configremotetagID)
@@ -1177,7 +1178,7 @@
 		case REG_POLL:	
 			for(i=0;i<MAX_REGTAGNUM;i++)
 		{
-			if(tag_id_recv==regtag_map.tagid[i])
+			if(tag_id_recv==regtag_map.tagid[i]&&regtag_map.remain_time[i]>0)
 			{
 					tx_near_msg[REGR_TAGSLOTPOS_INDEX]=regtag_map.tag_slotpos[i];
 					tx_near_msg[REGR_TAGFREQ_INDEX] = regtag_map.tag_frequency[i];
@@ -1192,6 +1193,7 @@
 					dwt_writetxfctrl(send_len, 0);//设置超宽带发送数据长度
 					dwt_starttx(DWT_START_TX_IMMEDIATE);
 					regtag_map.tagid[i] = 0;
+				break;
 			}
 		
 		}
@@ -1231,7 +1233,7 @@
 GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_SET);	
 			if(anc_id_recv==dev_id)
 			{
-				Anchor_RecNearPoll(0);	
+				Anchor_RecNearPoll(rec_nearbase_num);	
 			}else{
 					
 				for(i=0;i<rec_nearbase_num;i++)
@@ -1241,7 +1243,7 @@
 					{
 						
 						seize_anchor=0;  //非抢占。已存在列表中
-						Anchor_RecNearPoll(i+1);	
+						Anchor_RecNearPoll(i);	
 						break;
 					}						
 				}

--
Gitblit v1.9.3