From d1dd64aed4114f6d24fd2702d5dbe7844644aae4 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 31 八月 2023 14:20:59 +0800 Subject: [PATCH] 1 --- APL/APL.c | 49 ++++++++++++++++++++++++++----------------------- 1 files changed, 26 insertions(+), 23 deletions(-) diff --git a/APL/APL.c b/APL/APL.c index 24e8c09..2b706f2 100644 --- a/APL/APL.c +++ b/APL/APL.c @@ -99,10 +99,10 @@ /******************************************************************************* * Local Function * *******************************************************************************/ +extern void delay_ms(uint32_t nTimer) ; void PowerDownDetect(void) { - static HIDO_UINT32 l_u32QXpowerTick = 0; -static uint32_t powercount=0; + if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_9)) { @@ -188,6 +188,8 @@ * Modified Date: : 2018年7月23日 *******************************************************************************/ extern uint32_t nomove_time; +extern void MX_Init(void); +extern void SystemClock_Config(void); void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_5) @@ -211,10 +213,11 @@ } } +extern void Set4LEDColor_Off(void); uint8_t lora_sendfinalbag_num; -void lora_sendfinalbag_Poll() +void Lora_Sendfinalbag_Poll() { -if(lp_time-lora_sendfinalbag_time>10&&lora_sendfinalbag_flag) +if(lp_time-lora_sendfinalbag_time>4&&lora_sendfinalbag_flag) { lora_sendfinal_rx_bag_flag=1; Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); @@ -266,6 +269,7 @@ * Author : 杜键 * Modified Date: : 2018年5月8日 *******************************************************************************/ +extern HIDO_UINT32 Battery_GetPercentage(void); HIDO_INT32 APL_Init(void) { //Power_GPS_LoraOn(); @@ -311,11 +315,13 @@ Lora_Poll();//lora接收函数 if(nomove_flag==0) { - lora_sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次 + Lora_Sendfinalbag_Poll();//lora在gps成功获得位置坐标或者超过1分钟没有获得时发送gps最后一包数据的函数,之后1分钟(10s)发一次,除非lora收到消除标志位或者发送超过10次 } #if 1 - if((Lora_IsIdle() == HIDO_TRUE) && (GPS_IsIdle() == HIDO_TRUE)&&(lora_sendfinal_rx_bag_flag==0) - && (IsTypecCActive() == HIDO_FALSE) /*&& (IsVibration() == HIDO_FALSE)*/) + if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ + && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/ + &&(lora_sendfinal_rx_bag_flag==0)//防止lora在2s等待接收的时候进入休眠 + && (IsTypecCActive() == HIDO_FALSE)) /*5v输入检测时不休眠*/||nomove_flag==1/*静止1小时立刻休眠。*/) { ////// if(Lora_IsIdle() == HIDO_TRUE) Power_Sleep(); @@ -326,14 +332,14 @@ } if(nomove_flag==0) { -if(GPS_ON_flag) -{ + if(GPS_ON_flag) + { /* 检查GPS定时 */ switch(l_eGPSState) { case GPS_OFF: { - if(lp_time-GPSDateTime > g_com_map[GPS_ONTIME] || IsVibration() == HIDO_TRUE||uwbqiehuangps_flag==1) + if(lp_time-GPSDateTime > g_com_map[GPS_ONTIME] /*|| IsVibration() == HIDO_TRUE*/||uwbqiehuangps_flag==1) { uwbqiehuangps_flag=0; l_bIsVibration = HIDO_FALSE; @@ -351,7 +357,6 @@ { lora_sendfinalbag_flag=1; lora_sendfinal_rx_bag_flag=1; -// lora_sendfinal_rx_time=lp_time; HIDO_Debug("GPS OFF\r\n"); Power_GPS_LoraOff(); l_eGPSState = GPS_OFF; @@ -364,7 +369,6 @@ { lora_sendfinalbag_flag=1; lora_sendfinal_rx_bag_flag=1; -// lora_sendfinal_rx_time=lp_time; HIDO_Debug("GPS SUCCESS\r\n"); Power_GPS_LoraOff(); l_eGPSState = GPS_OFF; @@ -376,21 +380,20 @@ break; } } -} - -else -{ + } + else + { Power_GPS_LoraOff(); l_eGPSState = GPS_OFF; uwbqiehuangps_flag=1; -} -} - if(nomove_flag==1) - { - Power_GPS_LoraOff(); - l_eGPSState = GPS_OFF; -// uwbqiehuangps_flag=1; } +} +else +{ + Power_GPS_LoraOff(); + l_eGPSState = GPS_OFF; + uwbqiehuangps_flag=1; +} /* 拆卸告警 */ if(IsDisassemblyAlarm()) { -- Gitblit v1.9.3