From 8c941d2143eba5ac474684a36d2eb86745dac4bc Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 15 四月 2025 10:24:12 +0800
Subject: [PATCH] 修改休眠功耗

---
 keil/include/main/main.c |  101 ++++++++++++--------------------------------------
 1 files changed, 24 insertions(+), 77 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index bfd50f2..047412b 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -122,6 +122,7 @@
             lock = int_lock();
 //						LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n");
 //						gps_air780_power_change(0,0);//关闭gps,4G 
+                PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
             PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G 
             PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G 
 							sleep_timer_stop();	
@@ -174,6 +175,7 @@
 uint8_t flag_4G_recdata;
 uint8_t ledonflag;
 uint32_t ledontime;
+extern uint8_t flag_first_TCPconnect;
 void IMUTask(void)
 {
 	if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1)
@@ -185,10 +187,12 @@
 {
 if(!read_userkey_input_pca())
      {
-        if(HIDO_TimerGetTick() - keystarttime3>2)
+         delay_ms(1000);
+        if(!read_userkey_input_pca())
         {
             userkey_state = 1;
             keystarttime3 =  HIDO_TimerGetTick();
+            flag_first_TCPconnect = 1;
 						//UDPClient_UploadGPS();
         }
 //        if(HIDO_TimerGetTick() - keystarttime2>10)
@@ -205,7 +209,8 @@
 {
      if(read_powerkey_input_pca())
      {
-        if(HIDO_TimerGetTick() - keystarttime>2)
+        delay_ms(1000);
+        if(read_powerkey_input_pca())
         {
               rtkled=WHITE;
               uwbled=WHITE;
@@ -233,12 +238,13 @@
 }
 void MinuteTask(void)
 {		
-		PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
+	PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
+    delay_ms(100);
     adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
 }
 void SecondTask(void)
 {static uint8_t second_count;
-    if(second_count++>60)
+    if(second_count++>120)
     {
         second_count = 0;
         MinuteTask();
@@ -276,8 +282,6 @@
 uint8_t uwb_enable_flag=0;
 uint8_t input5v_time;
 extern uint8_t taglist_num;
-extern uint8_t ceshidata[500];
-extern uint8_t ceshichangdu;
 uint8_t gps_ntripsend;
 static void sleep_timer_callback(void *dev, uint32_t time)
 {
@@ -308,10 +312,7 @@
     }else{
         flag_secondtask = 0;
     }
-    if(gps_ntripsend==1)
-    {
- gps_ntripsend=2;   
-    }
+    
  if(delaysleep_count>0)
      delaysleep_count--;
 }
@@ -337,6 +338,11 @@
 	{
         PowerTask();
         test31++;
+	}
+    if(!(SOS_ENBALE_POSITION&gpio_state))
+	{
+        UserKeyTask();
+        test21++;
 	}
 }
 
@@ -412,8 +418,8 @@
 		}
     g_com_map[MODBUS_MODE] = 0;
 		log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
-    g_com_map[VERSION] = (1<<8)|3;
-        
+    g_com_map[VERSION] = (1<<8)|7;
+         
         
     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);
@@ -592,55 +598,6 @@
 int test1,test3;
 uint32_t test4;
 extern uint8_t receive_flag;
-extern uint8_t YUANGPS_ParseGGA_data[256];
-extern uint8_t YUANGPS_ParseGGA_changdu;
-static HIDO_CHAR url[256 + 1];
-//void OTA_MODE(void)
-//{
-//    if(g_com_map[OTA_FLAG])
-//    {
-//        Uart_Register(UART_ID_4G, UART_ID0);
-//        Uart_Register(UART_ID_DBG_GPS, UART_ID1);
-//        DBG_Init();
-//        DBG_SetMode(DBG_MODE_SHELL);
-//        Internet_Init();
-//    //    TCPClient_Init();
-//        HTTPClient_Init();
-//        gpio_open();
-//        LED_output_init();//配置彩色灯引脚
-//        IIC2_Init();
-//    //    Accelerometer_Init();
-//        PCA9555_init();
-//        uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
-//        power_init();
-//        sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
-//        sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
-//        pca_input_detection_init(pca_handler);//pca检测输入
-//        state5v=1;
-//        state5V_prase_flag=state5v;
-//        gps_prase_flag=0;//解除gps解析
-//        uart1_change_from_gps_to_debug();//测试
-//        PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入
-//        memcpy((HIDO_UINT8 *)url,g_com_map+OTA_URL_INDEX,g_com_map[OTA_URL_CHANGDU]);
-//        OTA_Start((HIDO_UINT8 *)url);
-//        
-////        g_com_map[OTA_FLAG]=0;
-////        save_com_map_to_flash();
-////        delay_us(100000);
-////        NVIC_SystemReset(); //软复位回到bootloader
-//    
-//    
-//        while (1)
-//        { 
-//            OTA_Poll();
-//            HTTPClient_Poll();    
-//            Internet_Poll();
-//            HIDO_TimerPoll();
-//            HIDO_ATLitePoll();
-////            IdleTask();
-//        }
-//    }
-//}
 int main(void)
 {
     board_clock_run();
@@ -671,11 +628,11 @@
     
     Internet_Init();
     TCPClient_Init();
-    if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP)
-    {
-	    NTRIPClient_Init();
-	    NTRIPApp_Init();
-    }
+//    if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP)
+//    {
+//	    NTRIPClient_Init();
+//	    NTRIPApp_Init();
+//    }
     if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP)
     {
         TCPClient_Init_1();
@@ -715,15 +672,7 @@
     PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
     while (1)
     { 
-		if(ota_flag==1)
-        {
-//            OTA_Poll();
-//            HTTPClient_Poll();    
-        }
-        else
-        {
-            uwb_app_poll();
-        }
+        uwb_app_poll();
         Internet_Poll();
         HIDO_TimerPoll();
         HIDO_ATLitePoll();
@@ -737,9 +686,7 @@
             flag_secondtask = 0;
             SecondTask();
         }
-		PowerTask();
 		IMUTask();
-		UserKeyTask();
         IdleTask();
     }
 }

--
Gitblit v1.9.3