From 08b03003355d51abd21fdf97dd4a4f0225092dc6 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 16 十月 2024 15:57:03 +0800 Subject: [PATCH] 上传测试1s一次 --- APL/APL.c | 272 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 168 insertions(+), 104 deletions(-) diff --git a/APL/APL.c b/APL/APL.c index ceea7e2..17394fc 100644 --- a/APL/APL.c +++ b/APL/APL.c @@ -197,46 +197,49 @@ // l_bIsVibration = HIDO_TRUE; nomove_time=0; } - if(GPIO_Pin == GPIO_PIN_9) - { - HAL_ResumeTick(); +// if(GPIO_Pin == GPIO_PIN_9)//按钮关机 +// { +// HAL_ResumeTick(); - SystemClock_Config(); - MX_Init(); - Uart_ReInit(UART_ID_DBG); - Uart_ReInit(UART_ID_LORA); - Uart_ReInit(UART_ID_GPS); - +// SystemClock_Config(); +// MX_Init(); +// Uart_ReInit(UART_ID_DBG); +// Uart_ReInit(UART_ID_LORA); +// Uart_ReInit(UART_ID_GPS); +// - - PowerDownDetect(); - } +// +// PowerDownDetect(); +// } } +extern uint8_t lora_rxbuf[256]; +extern uint8_t lora_rxbufnum; 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) +// Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); +if(lp_time-lora_sendfinalbag_time>1) { - lora_sendfinal_rx_bag_flag=1; - Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); +// lora_sendfinal_rx_bag_flag=1; + Lora_SendData((HIDO_UINT8 *)GPS_final_data,GPS_final_changdu); //发送数据 + memset(&lora_rxbuf,0,sizeof(lora_rxbuf));//发一次清一次rx的缓存 + lora_rxbufnum=0; 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) - { - lora_sendfinal_rx_bag_flag=0; - lora_sendfinalbag_flag=0; - lora_sendfinalbag_num=0; - } - HIDO_Debug("lora bufa\r\n"); + loraled=LEDOFF; + Set4LEDColor(powerled,loraled,gpsled,uwbled); +// if(lora_sendfinalbag_num>4) +// { +// lora_sendfinal_rx_bag_flag=0; +// lora_sendfinalbag_flag=0; +// lora_sendfinalbag_num=0; +// } +// HIDO_Debug("lora bufa\r\n"); } } @@ -289,7 +292,32 @@ return HIDO_OK; } - +uint8_t Input_5V_flag=0; +void Input_5V_Poll (void) +{ + if(IsTypecCActive() == HIDO_TRUE&&Input_5V_flag==0) + { Input_5V_flag=1; + nomove_time=0; + 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 : @@ -304,6 +332,21 @@ uint32_t GPSDateTime =0; uint8_t uwbqiehuangps_flag; extern uint8_t nomove_flag; +HIDO_INT32 NOWAKEUP_Poll(void) +{ + while(1) + { + HIDO_TimerPoll(); + Lora_Poll();//lora接收函数 + IdleTask(); + if((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ + &&(IsTypecCActive() == HIDO_FALSE) /*5v输入检测时不休眠*/) + { + Power_Sleep(); + } + } +} +extern uint8_t fengming_time,fengming_flag; HIDO_INT32 APL_Poll(void) { // ST_RTCDateTime stNow; @@ -313,98 +356,119 @@ IdleTask(); GPS_Poll();//gps接收函数 Lora_Poll();//lora接收函数 - if(nomove_flag==0) + if(nomove_flag==0&&Input_5V_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(Lora_IsIdle() == HIDO_TRUE) +Input_5V_Poll(); #if 1 - 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(); -//HIDO_Debug("in sleep\r\n"); - } - else - { - } -if(nomove_flag==0) -{ -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) - { - uwbqiehuangps_flag=0; - l_bIsVibration = HIDO_FALSE; - HIDO_Debug("GPS ON\r\n"); - Power_GPS_LoraOn(); - l_eGPSState = GPS_ON; - GPSDateTime=lp_time; - } +// if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ +// && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/ +// &&(lora_sendfinal_rx_bag_flag==0)//防止lora在2s等待接收的时候进入休眠 +// && (IsTypecCActive() == HIDO_FALSE)/*5v输入检测时不休眠*/&&(fangchai_flag==0)&&fengming_flag==0) ||nomove_flag==1/*静止1小时立刻休眠。*/) +// { +//////// if(Lora_IsIdle() == HIDO_TRUE) +// Power_Sleep(); +////HIDO_Debug("in sleep\r\n"); +// } +// else +// { +// } +//if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE)&&Input_5V_flag==0) +//{ +// 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) +// { +// uwbqiehuangps_flag=0; +// l_bIsVibration = HIDO_FALSE; +// HIDO_Debug("GPS ON\r\n"); +// Power_GPS_LoraOn(); +// l_eGPSState = GPS_ON; +// GPSDateTime=lp_time; +// if(IsTypecCActive() == HIDO_FALSE)//如果有5v输入的话不关灯。 +// { +// powerled=LEDOFF; +// Set4LEDColor(powerled,loraled,gpsled,uwbled); //关一下电源灯,防止gps突然工作不进入休眠,电源灯常量 +// } +// +// } - break; - } - case GPS_ON: - { - if(lp_time-GPSDateTime > 60) - { - lora_sendfinalbag_flag=1; - lora_sendfinal_rx_bag_flag=1; - HIDO_Debug("GPS OFF\r\n"); - Power_GPS_LoraOff(); - l_eGPSState = GPS_OFF; - GPSDateTime=lp_time; - } +// break; +// } +// case GPS_ON: +// { +// if(lp_time-GPSDateTime > 60) +// { +// lora_sendfinalbag_flag=1; +// lora_sendfinal_rx_bag_flag=1; +// HIDO_Debug("GPS OFF\r\n"); +// Power_GPS_LoraOff(); +// l_eGPSState = GPS_OFF; +// GPSDateTime=lp_time; +// } - break; - } - case GPS_SUCCESS: - { - lora_sendfinalbag_flag=1; - lora_sendfinal_rx_bag_flag=1; - HIDO_Debug("GPS SUCCESS\r\n"); - Power_GPS_LoraOff(); - l_eGPSState = GPS_OFF; - GPSDateTime=lp_time; - break; - } - default: - { - break; - } - } -} - -else -{ - Power_GPS_LoraOff(); - l_eGPSState = GPS_OFF; - uwbqiehuangps_flag=1; -} -} - if(nomove_flag==1) - { - Power_GPS_LoraOff(); - l_eGPSState = GPS_OFF; - } +// break; +// } +// case GPS_SUCCESS: +// { +// lora_sendfinalbag_flag=1; +// lora_sendfinal_rx_bag_flag=1; +// HIDO_Debug("GPS SUCCESS\r\n"); +// Power_GPS_LoraOff(); +// l_eGPSState = GPS_OFF; +// GPSDateTime=lp_time; +// break; +// } +// default: +// { +// break; +// } +// } +// } +// else +// { +// Power_GPS_LoraOff(); +// l_eGPSState = GPS_OFF; +//// uwbqiehuangps_flag=1;//如果放开,就是uwb切到gps会立刻工作一次,不放开就是就算uwb切换到gps也要判断是否过了一小时 +// } +// if(fengming_flag==1) +// {Beep_On();} +//} +//else +//{ +// Power_GPS_LoraOff(); +// l_eGPSState = GPS_OFF; +// uwbqiehuangps_flag=1; +//} +#ifndef UWB_OFF_FANGCHAI_ON + #else /* 拆卸告警 */ if(IsDisassemblyAlarm()) { + if(lp_time%2==1) Beep_On(); + else + Beep_Off(); + fangchai_flag=1; } else { + if(fengming_flag==0) + { Beep_Off(); fangchai_flag=0; + } } + #endif + #endif return HIDO_OK; } -- Gitblit v1.9.3