From b86f294182dea4af94f83a745c3fdbb18d7fa40b Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期二, 29 四月 2025 18:06:27 +0800
Subject: [PATCH] V1.20版本,修改未激活模式下,静止休眠功能关闭,防止复位激活,切换激活和非激活状态时重新加速度计计数

---
 keil/include/main/main.c |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 72d51b7..afa9faf 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -165,6 +165,7 @@
 }
 uint8_t control_close_flag;
 int16_t control_close_count;
+uint8_t close_state_flag;
 static void adc_callback(void *data, uint32_t number)
 {
     uint32_t *result = (uint32_t *)data;
@@ -195,6 +196,7 @@
 						userkey_state=2;
 					TCPHeartBeatUpload();//低电量休眠
 						control_close_flag=1;
+						close_state_flag=2;
 //						delay_ms(1000);//等待发送完成
 					}
 					power_low_flag=1;
@@ -251,13 +253,14 @@
 
 void IMUTask(void)
 {
-	if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1)
+	if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1&&active_flag)
 	{power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)ACCLERATE_DETECT_Pin, POWER_WAKEUP_LEVEL_HIGH);
 		userkey_state=3;
 		if(control_close_flag==0)
 			TCPHeartBeatUpload();//静止休眠
 			//		delay_ms(1000);
 		control_close_flag=1;
+		close_state_flag=3;
 	}
 }
 
@@ -285,6 +288,8 @@
 		gps_need_data_flag=1;
 		gps_wait_count2=0;
 		gps_wait_count=0;
+		beepontime=0;
+		beep_start_flag=0;
 		}
 		if(control_close_flag)
 		{
@@ -292,18 +297,23 @@
 			{
 			gps_air780_power_change(0,0);//gps,4G关闭
 				
-			control_close_flag=0;
-			control_close_count=0;
-				if(userkey_state==4)
-				active_flag=0;
-				else if(userkey_state==3)
+
+				if(close_state_flag==4)
+				{active_flag=0;
+					TCP_reconnect_timer=0;//重置4G重连条件
+					flag_TCP_reconnectting = 1;
+				}else if(close_state_flag==3)
 				{
 				mcu_deep_sleep();
 				}
+				close_state_flag=0;
+			  control_close_flag=0;
+			  control_close_count=0;
 			}
 		}else{
 		control_close_count=0;
 		}
+//		HIDO_TimerTick();
 		LED_Task();
     //UWB状态检测
 if(!power_low_flag&&active_flag)//低供电下不需要检测重连
@@ -378,6 +388,8 @@
 	{	userkey_state=4;
 		TCPHeartBeatUpload();//立即上传心跳包
 		control_close_flag=1;
+		close_state_flag=4;
+		
     //air_send_Task();
 //		gps_air780_power_change(0,0);//gps,4G关闭
 //		active_flag=0;
@@ -385,11 +397,15 @@
 	gps_air780_power_change(1,1);//gps,4G关闭
 		active_flag=1;
 	}
+	nomove_count=0;
 }
 void  handle_single_click(void)
 {
-beepontime=1;
-beep_start_flag=1;
+//beepontime=1;
+//beep_start_flag=1;
+motor_off();
+//		motor_on_and_off(&motor_power_state);
+//		motor_power_state=1;
 }
 
 // 时间阈值定义
@@ -411,6 +427,8 @@
 {
 sos_state=WAIT_NEXT_RISING;
 falling_time=HIDO_TimerGetTick();
+if(!power_low_flag&&active_flag)
+motor_on();
 }
 void click_Task(void)
 {
@@ -479,11 +497,13 @@
 		{
 		click_count=0;
 		long_press_flag=1;
+			
 		sos_state=IDLE;	
 		}else{
 		click_count=0;
 		sos_state=IDLE;	
 		}
+		motor_off();
 		temp_rising_time=rising_time;
 	}
 }else if(sos_state==WAIT_NEXT_FALLING)
@@ -498,6 +518,7 @@
 			click_count=0;
 			sos_state=IDLE;
 		}
+
 	}
 }
 void UserKeyTask(void)
@@ -571,7 +592,7 @@
     ip2 = (g_com_map[TCP_IP_2]>>12&0xf)*1000+(g_com_map[TCP_IP_2]>>8&0xf)*100+(g_com_map[TCP_IP_2]>>4&0xf)*10+(g_com_map[TCP_IP_2]&0xf);
     ip3 = (g_com_map[TCP_IP_3]>>12&0xf)*1000+(g_com_map[TCP_IP_3]>>8&0xf)*100+(g_com_map[TCP_IP_3]>>4&0xf)*10+(g_com_map[TCP_IP_3]&0xf);
     port = g_com_map[TCP_PORT];
-    g_com_map[VERSION] = (1<<8)|15;
+    g_com_map[VERSION] = (1<<8)|20;
     LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
     LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS定位手环 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
     LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",ip0,ip1,ip2,ip3,port);

--
Gitblit v1.9.3