From 38ee5f2e88aeba329f35bae9cc0d455e4892a9d1 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 05 九月 2023 15:17:00 +0800 Subject: [PATCH] 版本v1.0,修改灯的顺序,修改gps与灯冲突bug --- APL/APL.c | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 9 deletions(-) diff --git a/APL/APL.c b/APL/APL.c index 2b706f2..4279986 100644 --- a/APL/APL.c +++ b/APL/APL.c @@ -217,20 +217,19 @@ uint8_t lora_sendfinalbag_num; void Lora_Sendfinalbag_Poll() { -if(lp_time-lora_sendfinalbag_time>4&&lora_sendfinalbag_flag) +// Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); +if(lp_time-lora_sendfinalbag_time>10&&lora_sendfinalbag_flag) { lora_sendfinal_rx_bag_flag=1; Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); lora_sendfinalbag_time=lp_time; lora_sendfinalbag_num=lora_sendfinalbag_num+1; loraled=BLUE; - powerled=LEDOFF; - gpsled=LEDOFF; - uwbled=LEDOFF; Set4LEDColor(powerled,loraled,gpsled,uwbled); HAL_Delay(100); - Set4LEDColor_Off(); - if(lora_sendfinalbag_num>10) + loraled=LEDOFF; + Set4LEDColor(powerled,loraled,gpsled,uwbled); + if(lora_sendfinalbag_num>4) { lora_sendfinal_rx_bag_flag=0; lora_sendfinalbag_flag=0; @@ -289,7 +288,31 @@ return HIDO_OK; } - +static uint8_t Input_5V_flag=0; +void Input_5V_Poll (void) +{ + if(IsTypecCActive() == HIDO_TRUE&&Input_5V_flag==0) + { Input_5V_flag=1; + if(bat_percent>=90) + { + powerled=GREEN; + Set4LEDColor(powerled,loraled,gpsled,uwbled); +// HIDO_Debug("1111"); + } + else + { + powerled=RED; + Set4LEDColor(powerled,loraled,gpsled,uwbled); +// HIDO_Debug("2222"); + } + } + if(IsTypecCActive() == HIDO_FALSE) + { + Input_5V_flag=0; +// Set4LEDColor_Off(); +// HIDO_Debug("3333"); + } +} /******************************************************************************* * Function Name : * Description : @@ -317,6 +340,8 @@ { Lora_Sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次 } +if(Lora_IsIdle() == HIDO_TRUE) +Input_5V_Poll(); #if 1 if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/ @@ -330,7 +355,7 @@ else { } -if(nomove_flag==0) +if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE)) { if(GPS_ON_flag) { @@ -347,6 +372,12 @@ Power_GPS_LoraOn(); l_eGPSState = GPS_ON; GPSDateTime=lp_time; + if(IsTypecCActive() == HIDO_FALSE)//如果有5v输入的话不关灯。 + { + powerled=LEDOFF; + Set4LEDColor(powerled,loraled,gpsled,uwbled); //关一下电源灯,防止gps突然工作不进入休眠,电源灯常量 + } + } break; @@ -385,7 +416,7 @@ { Power_GPS_LoraOff(); l_eGPSState = GPS_OFF; - uwbqiehuangps_flag=1; +// uwbqiehuangps_flag=1;//如果放开,就是uwb切到gps会立刻工作一次,不放开就是就算uwb切换到gps也要判断是否过了一小时 } } else @@ -394,6 +425,8 @@ l_eGPSState = GPS_OFF; uwbqiehuangps_flag=1; } +#ifndef UWB_OFF_FANGCHAI_ON + #else /* 拆卸告警 */ if(IsDisassemblyAlarm()) { @@ -405,6 +438,8 @@ Beep_Off(); fangchai_flag=0; } + #endif + #endif return HIDO_OK; } -- Gitblit v1.9.3