WXK
2023-09-05 38ee5f2e88aeba329f35bae9cc0d455e4892a9d1
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;
}