From 557b784841cac940a796f1cecba1e4120fc79c9d Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期四, 17 七月 2025 14:46:37 +0800
Subject: [PATCH] V1.19GPS修改为单北斗模式

---
 keil/include/main/main.c |   82 ++++++++++++++++++++++++++++++-----------
 1 files changed, 60 insertions(+), 22 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 04077af..da3b8e6 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -178,16 +178,20 @@
             bat_percent = ((fVoltage_mv - 3300) /8);
         }
     }
-				if(fVoltage_mv<3300)
-				{
-					//power_low_flag=1;
-					//gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G 
-//					LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n");
-				}else{
-					//power_low_flag=0;
-					//gps_air780_power_change(gps_power_state,1);//gps原样,开启4G
-//					LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
-				}
+		if(bat_percent>100)
+			bat_percent=100;
+	  if(bat_percent<0)
+			bat_percent=0;
+//				if(fVoltage_mv<3300)
+//				{
+//					//power_low_flag=1;
+//					//gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G 
+////					LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n");
+//				}else{
+//					//power_low_flag=0;
+//					//gps_air780_power_change(gps_power_state,1);//gps原样,开启4G
+////					LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
+//				}
 		PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//拉高
 }
 extern uint8_t gps_uwb_flag,gps_need_data_flag;
@@ -323,14 +327,14 @@
     {   
         input5v_time=1;
         flag_secondtask = 1;
-			  #ifdef UWB_1_5HZ
+		#ifdef UWB_1_5HZ
 			  uwb_time_count++;
         #endif
 				uwb_offtime_count++;
 			  if(uwb_offtime_count>60)
 				{
 				 uwb_offtime_count=0;
-//				 current_state = STATE_SLEEP;
+				 current_state = STATE_SLEEP;
 				}
         if(!read_5v_input_pca())
         {
@@ -443,11 +447,11 @@
 		}
     g_com_map[MODBUS_MODE] = 0;
 		log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
-    g_com_map[VERSION] = (1<<8)|14;
+    g_com_map[VERSION] = (1<<8)|19;
          
         
     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,"固件版本:4G-GPS-URT 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",g_com_map[IP_0],g_com_map[IP_1],g_com_map[IP_2],g_com_map[IP_3],g_com_map[PORT]);
     if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP)
     {
@@ -567,19 +571,28 @@
                 }
                 }
             }
-            NVIC_SystemReset();
+//            NVIC_SystemReset();
+//						PCA9555_Set_One_Value_Output(PWR_ENABLE,0);
             input5vflag=1;
 		}
         else 
         {
             if(state5v==1)
             {
-                g_com_map[MODBUS_MODE] = 0;
-                state5v=0;
-                state5V_prase_flag=state5v;
-                gps_prase_flag=1;//恢复gps解析
-                uart1_change_from_debug_to_gps();//测试
-                PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
+            g_com_map[MODBUS_MODE] = 0;
+            state5v=0;
+            state5V_prase_flag=state5v;
+//                gps_prase_flag=1;//恢复gps解析
+//                uart1_change_from_debug_to_gps();//测试
+//                PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
+            PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
+//            PCA9555_Set_One_Value_Output(TTS_ENABLE,0);    
+            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
+            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关GPS
+            delay_ms(200);
+            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
+
+							  
             }
         }
 		UART_CheckReceive();
@@ -671,7 +684,32 @@
 			}	
 
 }
+uint8_t send_gps_over=0;
+  char gps_str[19]= {"$CFGSYS,h00000010\r\n"};
+  char gps_str2[20]= {"$CFGSAVE,h00000010\r\n"};
+  char gps_str1[9]={"$CFGSYS\r\n"};
+void send_to_gps()
+{
 
+//  $CFGSAVE,h00000010
+
+  if(uwb_time_count>10&&send_gps_over==0)
+  {
+   send_gps_over=1;
+   uart_send(UART_ID1, gps_str,19, NULL);
+  }
+   if(uwb_time_count>13&&send_gps_over==1)
+  {
+   send_gps_over=2;
+   uart_send(UART_ID1, gps_str2,20, NULL);
+  } 
+  if(uwb_time_count>15&&send_gps_over==2)
+  {
+   send_gps_over=3;      
+   uart_send(UART_ID1, gps_str1,9, NULL);
+  }  
+  
+}
 uint8_t flag_4guart_needinit=0;
 uint8_t index1,index2,index3;
 int16_t Voltage_input;
@@ -765,7 +803,7 @@
     #endif  
     while (1)
     { 
-
+        send_to_gps();
         uwb_app_poll();
         Internet_Poll();
         HIDO_TimerPoll();

--
Gitblit v1.9.3