From 753f1e274931177b6daeb391cc4307439aaa6553 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期五, 25 七月 2025 11:27:39 +0800
Subject: [PATCH] 修改电流检测逻辑,现在是1分钟检测一次,然后检测到低电量后会检测10次才会关机,V2.14

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

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 0f31ad2..c75b424 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -181,7 +181,7 @@
         {
             bat_percent = 0;
         }
-        else if(fVoltage_mv > 4200)
+        else if(fVoltage_mv > 4100)
         {
             bat_percent = 100;
         }
@@ -317,15 +317,21 @@
         keystarttime2 =  HIDO_TimerGetTick();
     }
 }
+uint8_t guanjiflag_count=0;
 void MinuteTask(void)
 {
     PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
     delay_ms(100);
     adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
+    if(bat_percent<1)
+    {
+      guanjiflag_count++;
+    }
+    
 }
 void SecondTask(void)
 {   static uint8_t second_count;
-    if(second_count++>120)
+    if(second_count++>60)
     {
         second_count = 0;
         MinuteTask();
@@ -409,7 +415,7 @@
         input5v_time=1;
         flag_secondtask = 1;
         led_flag=1;
-        if(g_com_map[UWBFrequency]>1)
+        if(g_com_map[UWBFrequency]>1||current_state==STATE_SLEEP)
         {
             uwb_time_count++;
         }
@@ -435,7 +441,7 @@
         }
         
         input5v_time=1;
-        if(taglist_num==0&&g_com_map[UWBFrequency]==1&&g_com_map[UWBENBLE]==1&&uwb_OpenClose_flag==1)
+        if(taglist_num==0&&g_com_map[UWBFrequency]==1&&g_com_map[UWBENBLE]==1&&uwb_OpenClose_flag==1&&current_state == STATE_NORMAL)
         {
             CloseUWB();
             Uwb_init();
@@ -581,7 +587,7 @@
 
     g_com_map[MODBUS_MODE] = 0;
     log_4g_enable_flag =1;//g_com_map[LOG_4G_ENABLE];
-    g_com_map[VERSION] = (2<<8)|11;
+    g_com_map[VERSION] = (2<<8)|14;
 
 
     LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
@@ -800,7 +806,7 @@
     {
         WT588E_PLAY(14);
     }
-    if(bat_percent<1&&bat_percent_only_one&&jiancebat_percent_flag)
+    if(bat_percent<1&&bat_percent_only_one&&jiancebat_percent_flag&&(guanjiflag_count>9))
     {
         WT588E_PLAY(15);
         userkey_state=3;
@@ -848,6 +854,7 @@
 uint8_t GPS_UPLOAD_FLAG=0;
 uint32_t elapsed_time_jibu;
 extern uint8_t uwb_OpenClose_flag;
+uint8_t uwb_close_count,uwb_close_count1;
 void upload_apppoll()
 {
 
@@ -881,6 +888,7 @@
         case UWB_OPEN_COUNT:
             CloseUWB();
             UWBSendUDPTask();
+//            uwb_close_count++;        
             break;
 
         case UWB_MEASUREMENT_INTERVAL_SLEEP:
@@ -889,6 +897,7 @@
             Uwb_init();
             OpenUWB();
             state_start_time = uwb_time_count;
+//            uwb_close_count1++;        
             break;
         }
     }
@@ -1070,6 +1079,7 @@
         }
         IMUTask();
         IdleTask();
+//        PCA9555_low_power_consumption();
         check_step_and_update_state();
         led_offtask();
     }

--
Gitblit v1.9.3