From 5f2e20f7984c0f09a9c2721b63381a1a17536ed1 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期四, 09 一月 2025 17:55:19 +0800
Subject: [PATCH] 手环V1.6,增加心跳包功能逻辑,增加第一次30sgps开启逻辑

---
 keil/include/main/main.c |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 32e2034..305be60 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -191,6 +191,7 @@
 				}else{
 					power_low_flag=0;
 					gps_air780_power_change(gps_power_state,1);//gps原样,开启4G
+					LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
 				}
 		gpio_pin_set(ADC_GND_ENABLE);//在拉高
   //  LOG_INFO(TRACE_MODULE_APP, "The voltage is %%%d \r\n",bat_percent);
@@ -285,7 +286,7 @@
 void IMUTask(void)
 {
 	if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1)
-	{
+	{power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)ACCLERATE_DETECT_Pin, POWER_WAKEUP_LEVEL_HIGH);
 		mcu_deep_sleep();
 	}
 }
@@ -330,8 +331,10 @@
 		gps_wait_count2=0;
 		gps_wait_count=0;
 		}
+		
     //UWB状态检测
-
+if(!power_low_flag)//低供电下不需要检测重连
+	{
     if(IfTCPConnected())
     {
         TCP_reconnect_timer =0;
@@ -349,6 +352,7 @@
         }
 
     }
+	}
     HIDO_TimerTick();
 		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
     nomove_count++;
@@ -440,9 +444,9 @@
     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)|10;
+    g_com_map[VERSION] = (1<<8)|6;
     LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
-    LOG_INFO(TRACE_MODULE_APP,"固件版本:UWB-4G车载手环 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
+    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);
 }
 
@@ -517,7 +521,7 @@
 int tt2;
 int test1,test3;
 uint32_t test4;
-
+uint32_t time_count;
 int main(void)
 {
     board_clock_run();
@@ -592,6 +596,7 @@
     board_acceleration_detection_init(move_handler);
 //		 LOG_INFO(TRACE_MODULE_APP, "测试进入app");
 		board_4GUsart_detection_init(_4gUsart_handler);
+		
     while (1)
     { test4=gpio_pin_get_val(SCL_PIN);
 		
@@ -625,7 +630,7 @@
         {
             flag_secondtask = 0;
             SecondTask();
-					
+				//	time_count++;
         }
 				UserKeyTask();
 				IMUTask();
@@ -652,7 +657,7 @@
 //        }//yuan
 
 				if(delaysleep_count==0)
-        if(!gps_power_state&&!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&AIR780E_IsIPIdle()&&Socket_IsSendQueueEmpty(0))||((!flag_TCP_reconnectting)&&!IfTCPConnected()))) 
+        if(!gps_power_state&&!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&AIR780E_IsIPIdle()&&Socket_IsSendQueueEmpty(0))||((!flag_TCP_reconnectting)&&!IfTCPConnected())||power_low_flag)) 
         {
 //					test1=gpio_pin_get_val(_4G_USART_RX_Pin);
             uint32_t lock;

--
Gitblit v1.9.3