From 6facaabcb51a77459d098b4957213038e6bb0a73 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 05 三月 2025 16:06:30 +0800
Subject: [PATCH] 1.1,功能开发完成

---
 keil/include/main/main.c |  148 +++++++++++++++++++++++++++++--------------------
 1 files changed, 87 insertions(+), 61 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 67238fe..50cc2c6 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -166,7 +166,7 @@
 							sleep_timer_stop();	
 						//adc_close();
             power_enter_power_down_mode(1);
-						//LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n");
+						LOG_INFO(TRACE_MODULE_APP, "从休眠出来\r\n");
 						sys_reset(0);
             int_unlock(lock);
 }
@@ -312,23 +312,23 @@
 //    //UWB状态检测
 //if(!power_low_flag)//低供电下不需要检测重连
 //	{
-    if(IfTCPConnected())
-    {
-        TCP_reconnect_timer =0;
-        flag_TCP_reconnectting = 0;
-    } else {
-        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
-        {
-            flag_TCP_reconnectting = 1;
-        } else {
-            flag_TCP_reconnectting = 0;
-        }
-        if(TCP_reconnect_timer++>600)
-        {
-            TCP_reconnect_timer = 0;
-        }
+//    if(IfTCPConnected())
+//    {
+//        TCP_reconnect_timer =0;
+//        flag_TCP_reconnectting = 0;
+//    } else {
+//        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
+//        {
+//            flag_TCP_reconnectting = 1;
+//        } else {
+//            flag_TCP_reconnectting = 0;
+//        }
+//        if(TCP_reconnect_timer++>600)
+//        {
+//            TCP_reconnect_timer = 0;
+//        }
 
-    }
+//    }
 //	}
     HIDO_TimerTick();
 //		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
@@ -340,10 +340,13 @@
 uint8_t tt=1;
 uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
 uint8_t uwb_enable_flag=0;
+uint8_t input5v_time;
+extern uint8_t taglist_num;
 static void sleep_timer_callback(void *dev, uint32_t time)
 {
 if(secondtask_count++%2==0)
-    {
+    {   
+        input5v_time=1;
         flag_secondtask = 1;
         if(!read_5v_input_pca())
         {
@@ -357,29 +360,41 @@
 //        ledontime=HIDO_TimerGetTick();
         Set4LEDColor(uwbled,rtkled,led4g,powerled); 
         }
+        input5v_time=1;
+        if(taglist_num==0)
+        {
+        CloseUWB();
+        Uwb_init();
+        OpenUWB();
+        }
     }else{
         flag_secondtask = 0;
     }
  if(delaysleep_count>0)
      delaysleep_count--;
 }
+uint8_t test11,test21,test31,test41,test51;
 static void pca_handler(enum IO_PIN_T pin)
 {
 	PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值
 	uint16_t gpio_state;
 	gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1];
+    test41++;
 	if(WAKE_UP_POSITION&gpio_state)
 	{
 		nomove_count=0;
+        test11++;
 	}
-	if(!(MAIN_RI_POSITION&gpio_state))
-	{
-		 flag_4G_recdata = 1;
-     delaysleep_count = 3;
-	}
+//	if(!(MAIN_RI_POSITION&gpio_state))
+//	{
+//		 flag_4G_recdata = 1;
+//     delaysleep_count = 3;
+//        test21++;
+//	}
     if((PWR_ON_POSITION&gpio_state))
 	{
         PowerTask();
+        test31++;
 	}
 }
 
@@ -429,7 +444,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)|0;
+    g_com_map[VERSION] = (1<<8)|1;
     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);
@@ -451,39 +466,47 @@
                 uart1_change_from_gps_to_debug();//测试
                 PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入
             } 
-//            chongman_time=0;
-//            only_one_flag=0;
-//            uwbled=0;
-//            rtkled=0;
-//            led4g=0;
-//            powerled=0;
-//            while(read_5v_input_pca())
-//            {
-//                nomove_count = 0;
-//                if(HIDO_TimerGetTick()-adctick>6000)  //10分钟采样一次 电量
-//                {
-//                    chongman_time=chongman_time+6;
-//                    adctick = HIDO_TimerGetTick();
-//                    PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
-//                    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
-//                }
-//                if(bat_percent>=99&&!only_one_flag)
-//                {
-//                only_one_flag=1;
-//                chongman_time=0;
-//                }
-//                if(bat_percent>=99&&chongman_time>=1800)
-//                {
-//                    powerled = GREEN;
-//                }else{
-//                    powerled = RED;
-//                }
-//                UART_CheckReceive();
-//                delay_ms(100);
-//                Internet_Poll();
-//                Set4LEDColor(0,0,0,powerled);
-//            }
-//            NVIC_SystemReset();
+            chongman_time=0;
+            only_one_flag=0;
+            uwbled=0;
+            rtkled=0;
+            led4g=0;
+            powerled=0;
+            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
+            while(1)
+            {
+                nomove_count = 0;
+                if(HIDO_TimerGetTick()-adctick>6000)  //10分钟采样一次 电量
+                {
+                    chongman_time=chongman_time+6;
+                    adctick = HIDO_TimerGetTick();
+                    PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
+                    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
+                }
+                if(bat_percent>=99&&!only_one_flag)
+                {
+                only_one_flag=1;
+                chongman_time=0;
+                }
+                if(bat_percent>=99&&chongman_time>=1800)
+                {
+                    powerled = GREEN;
+                }else{
+                    powerled = RED;
+                }
+                UART_CheckReceive();
+                delay_ms(100);
+                Internet_Poll();
+                Set4LEDColor(0,0,0,powerled);
+                if(input5v_time)
+                {
+                if(!read_5v_input_pca())
+                {
+                break;
+                }
+                }
+            }
+            NVIC_SystemReset();
             input5vflag=1;
 		}
         else 
@@ -519,6 +542,10 @@
         if(ledonflag==1)
         {
         ledonflag=0;
+        uwbled=0;
+        rtkled=0;
+        led4g=0;
+        powerled=0;
         Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF); 
         }
 }
@@ -579,10 +606,10 @@
     Internet_Init();
     TCPClient_Init();
     gpio_open();
-		LED_output_init();//配置彩色灯引脚
-		IIC2_Init();
+    LED_output_init();//配置彩色灯引脚
+    IIC2_Init();
     Accelerometer_Init();
-		PCA9555_init();
+    PCA9555_init();
  
 		
 		//AIR780E_Reset(); 
@@ -622,7 +649,6 @@
     while (1)
     { 
 		uwb_app_poll();
-//		Air780eTask();
         Internet_Poll();
         HIDO_TimerPoll();
         HIDO_ATLitePoll();

--
Gitblit v1.9.3