From 6a54fd6dd7b40c274b68b0f27bedb7b71b7a21c5 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期一, 26 八月 2024 09:39:41 +0800
Subject: [PATCH] 调试4G唤醒,和服务器下发解析

---
 keil/include/main/main.c |   46 +++++++++++++++++++++++++++++-----------------
 1 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index b36dfdb..33830ab 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -88,7 +88,7 @@
 float nomove_count=0;
 static uint32_t sample[NUM_SAMPLES] = {0};
 uint8_t recev_error_num,send_messgae_count,send_flag,control_state;
-
+uint8_t flag_4g_usart_rx_state = 1;  //4G 串口RX当前是 RX状态,不是GPIO状态
 typedef enum
 {		UN_BIND=0,
         LINK_SUCCESS,
@@ -192,6 +192,7 @@
     HIDO_TimerTick();
     nomove_count++;
 }
+uint8_t flag_sleeptimer;
 static void sleep_timer_callback(void *dev, uint32_t time)
 {
 
@@ -200,6 +201,7 @@
     uwb_led_on();
     delay_us(1000);
     uwb_led_off();
+    flag_sleeptimer = 1;
 //    send_messgae_count+=g_com_map[COM_INTERVAL];
 //    //if(send_messgae_count>=g_com_map[4G_INTERNAL]){
 //    //send_message_count=0;
@@ -232,11 +234,12 @@
 {
     nomove_count=0;
 }
-
+uint8_t flag_4G_recdata;
 static void _4gUsart_handler(enum IO_PIN_T pin)
 {
-    io_pin_mux_set(_4G_USART_RX_Pin,IO_FUNC4);
-    AIR780EUartInit();
+    LOG_INFO(TRACE_MODULE_APP, "4G RX 唤醒\r\n"); 
+   // flag_4G_recdata = 1;
+   // AIR780EUartInit();
 }
 void Program_Init(void)
 {
@@ -355,9 +358,9 @@
     IO_control_init();
   //  gps_air780_power_change(0,1);//开启gps,4G
 //加速度计初始化必须在IO_control_init之前因为复用SDA引脚
-    //adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
+    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
    // uart_open(UART_ID1, &test_uart_cfg);
-  //  Program_Init();
+    Program_Init();
   //  uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
 // Initialize low power mode
     power_init();
@@ -375,12 +378,13 @@
     sleep_timer_start(__MS_TO_32K_CNT(1000));//测试
     //board_5V_input_init(voltage_input_handler);
     board_acceleration_detection_init(move_handler);
-    
+  //  board_4GUsart_detection_init(_4gUsart_handler); 
     AIR780E_Reset(); //4G模块重启,耗时1.5秒
     while (1)
     {
         if(flag_TCP_reconnectting||IfTCPConnected())
         {
+         //   LOG_INFO(TRACE_MODULE_APP, "处理4G任务\r\n");  
             if(flag_4guart_needinit)
             {
                 flag_4guart_needinit = 0;
@@ -434,16 +438,24 @@
         //air780_success_state=0;
         //}
 #ifndef DEBUG_MODE
-if(!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&Socket_IsSendQueueEmpty(0))||!flag_TCP_reconnectting&&!IfTCPConnected())) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。
-            {     
-             board_4GUsart_detection_init(_4gUsart_handler);               
-         //   LOG_INFO(TRACE_MODULE_APP, "进入休眠");  
-            flag_4guart_needinit = 1;
-            trace_flush();
-            uint32_t lock = int_lock();
-            //LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
-            power_enter_power_down_mode(0);
-            int_unlock(lock);
+//if(flag_sleeptimer)
+if(!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&Socket_IsSendQueueEmpty(0))||!flag_TCP_reconnectting&&!IfTCPConnected())&&!flag_4G_recdata) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。
+            { 
+           //     if(!flag_4guart_needinit)
+            {
+     //           LOG_INFO(TRACE_MODULE_APP, "4G RX 中断打开\r\n");
+   //             board_4GUsart_detection_init(_4gUsart_handler); 
+//            
+            }
+//               flag_sleeptimer =0;        
+//            LOG_INFO(TRACE_MODULE_APP, "进入休眠\r\n");  
+        //    flag_4guart_needinit = 1;
+//            
+//        trace_flush();
+//        uint32_t lock = int_lock();
+//        //LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
+//        power_enter_power_down_mode(0);
+//        int_unlock(lock);
         }
 #endif
     }

--
Gitblit v1.9.3