WXK
2024-03-12 a489e104f73fe7bbe78892b416f716ef501059cc
APL/APL.c
@@ -233,7 +233,7 @@
        HAL_Delay(100);
        loraled=LEDOFF;
        Set4LEDColor(powerled,loraled,gpsled,uwbled);
        if(lora_sendfinalbag_num>30)
        if(lora_sendfinalbag_num>4)
        {
        lora_sendfinal_rx_bag_flag=0;
        lora_sendfinalbag_flag=0;
@@ -292,11 +292,12 @@
    return HIDO_OK;
}
static uint8_t Input_5V_flag=0;
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;
@@ -331,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;
@@ -340,7 +356,7 @@
    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次
}
@@ -350,7 +366,7 @@
    if(((Lora_IsIdle() == HIDO_TRUE)/*为了防止lora初始化的时候进入休眠*/ 
      && (GPS_IsIdle() == HIDO_TRUE)/*防止gps工作时进入休眠*/
      &&(lora_sendfinal_rx_bag_flag==0)//防止lora在2s等待接收的时候进入休眠
      && (IsTypecCActive() == HIDO_FALSE)&&(fangchai_flag==0)) /*5v输入检测时不休眠*/||nomove_flag==1/*静止1小时立刻休眠。*/)
      && (IsTypecCActive() == HIDO_FALSE)/*5v输入检测时不休眠*/&&(fangchai_flag==0)&&fengming_flag==0) ||nomove_flag==1/*静止1小时立刻休眠。*/)
    {
//////    if(Lora_IsIdle() == HIDO_TRUE)
        Power_Sleep();
@@ -359,7 +375,7 @@
    else
    {
    }
if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE))
if(nomove_flag==0&&(Lora_IsIdle() == HIDO_TRUE)&&Input_5V_flag==0)
{
    if(GPS_ON_flag)
    {
@@ -422,6 +438,8 @@
            l_eGPSState = GPS_OFF;
//            uwbqiehuangps_flag=1;//如果放开,就是uwb切到gps会立刻工作一次,不放开就是就算uwb切换到gps也要判断是否过了一小时
    }
  if(fengming_flag==1)
  {Beep_On();}
}
else
{
@@ -434,13 +452,20 @@
    /* 拆卸告警 */
    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