From f953d3bbc23a978d6bd0683371582c16eadc9daf Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期五, 26 三月 2021 11:14:06 +0800
Subject: [PATCH] 临时版本

---
 源码/核心板/Src/main.c |   51 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 36 insertions(+), 15 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
index 953c548..664f759 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
@@ -44,7 +44,8 @@
 	checksum = Checksum_u16(&hbsend[2],12);
 	memcpy(&hbsend[14],&checksum,2);
 }
-u16 tyncpoll_time;
+uint16_t vel_factor,pos_factor;
+u16 tyncpoll_time,dist_threshold;
 u16 slottime,max_slotpos;
 extern u8 module_power;
 extern u16 total_slotnum;
@@ -71,30 +72,40 @@
 	{
 	  g_com_map[COM_INTERVAL]=100;
 	}
-	g_com_map[VERSION] = 0x011c;	
+
+	g_com_map[VERSION] = 0x012a;
+dist_threshold = (g_com_map[SPEEDFILTER_THRES]*10)/(1000/g_com_map[COM_INTERVAL]);
+		if(dist_threshold<300)
+		{dist_threshold = 300;}
+		if(dist_threshold>15000)
+		{dist_threshold = 15000;}
+	g_com_map[SW_TYPE] = 	SW_FANGZHUANG;
 	dev_id = g_com_map[DEV_ID];
 	slottime=ceil((double)g_com_map[MAX_REPORT_ANC_NUM]*SLOT_SCALE)+3;
 	max_slotpos=g_com_map[COM_INTERVAL]/slottime;
 	tyncpoll_time=(g_com_map[DEV_ID]%max_slotpos)*slottime;	
 	module_power = g_com_map[POWER];
 	total_slotnum = 1000/g_com_map[COM_INTERVAL];
+			vel_factor=g_com_map[FILTER_COEFFICIENT];
+		pos_factor=g_com_map[FILTER_COEFFICIENT];
+
 		if(module_power>67)
 		{
 			module_power=67;
 		}
 	
-	if(g_com_map[DEV_ROLE])
-	{
-	printf("标签ID: %d .\r\n",dev_id);
-	printf("通讯间隔: %d ms.\r\n",g_com_map[COM_INTERVAL]);
-	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
-	}else{
-	
-	anchor_type = dev_id%g_com_map[MAX_REPORT_ANC_NUM];
-	printf("基站ID: %x .\r\n",dev_id);
-	printf("基站类型: %c .\r\n",anchor_type+0x41);
-	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
-	}
+//	if(g_com_map[DEV_ROLE])
+//	{
+//	printf("标签ID: %d .\r\n",dev_id);
+//	printf("通讯间隔: %d ms.\r\n",g_com_map[COM_INTERVAL]);
+//	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
+//	}else{
+//	
+//	anchor_type = dev_id%g_com_map[MAX_REPORT_ANC_NUM];
+//	printf("基站ID: %x .\r\n",dev_id);
+//	printf("基站类型: %c .\r\n",anchor_type+0x41);
+//	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
+//	}
 	OUT485_DISABLE;
 //	printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]);
 //	printf("DEVICE ALARM DISTANCE: 1.%d 2.%d 3.%d .\r\n",g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],g_com_map[ALARM_DISTANCE3]);
@@ -151,6 +162,16 @@
 	}
 	if(flag_newsecond)
 	{
+		uint32_t temp23;
+			temp23 =  dwt_read32bitreg(CHAN_CTRL_ID) ;
+			if(temp23!=0x4A480022)
+			{
+				temp23 =  dwt_read32bitreg(CHAN_CTRL_ID) ;
+					if(temp23!=0x4A480022)
+					{
+						NVIC_SystemReset();
+					}
+				}
 	  flag_newsecond=0;
 		tagpos_binary=0;
 		memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2);
@@ -162,7 +183,7 @@
 			tagpos_rec[i] = 0;
 		}
 	}
-	if(target_time>1000)
+	if(target_time>=1000)
 	{target_time-=1000;}
 	#ifdef USART_INTEGRATE_OUTPUT
 	if(g_com_map[DEV_ROLE]==0&&usart_send_flag)

--
Gitblit v1.9.3