keil/include/main/main.c
@@ -359,11 +359,46 @@
//      nomove_count=g_com_map[NOMOVESLEEP_TIME]+1;
//      }
}
void led_offtask()
{
    if(ledonflag==1)
    {
        ledonflag=0;
        uwbled=0;
        rtkled=0;
        led4g=0;
        powerled=0;
        Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
    }
}
uint16_t led_flag;
void Led_Task()
{
    if(led_flag==1)
    {
       led_flag=0;
        if(DBG_GetMode() == DBG_MODE_SHELL)
        {
            if(bat_percent>15)
            {
                powerled = BLUE;
            } else {
                powerled = RED;
            }
            ledonflag=1;
            Set4LEDColor(uwbled,rtkled,led4g,powerled);
        }
    }
}
uint8_t tt=1;
uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
uint8_t uwb_offtime_count=0;
uint8_t input5v_time;
extern uint8_t taglist_num;
uint8_t gps_ntripsend;
extern uint8_t uwb_OpenClose_flag;
static void sleep_timer_callback(void *dev, uint32_t time)
@@ -373,7 +408,8 @@
    {
        input5v_time=1;
        flag_secondtask = 1;
        if(g_com_map[UWBFrequency]>1)
        led_flag=1;
        if(g_com_map[UWBFrequency]>1||current_state==STATE_SLEEP)
        {
            uwb_time_count++;
        }
@@ -397,8 +433,9 @@
            Set4LEDColor(uwbled,rtkled,led4g,powerled);
//        uart_send(UART_ID1, ceshidata, 50,NULL);
        }
        input5v_time=1;
        if(taglist_num==0&&g_com_map[UWBFrequency]==1&&g_com_map[UWBENBLE]==1&&uwb_OpenClose_flag==1)
        if(taglist_num==0&&g_com_map[UWBFrequency]==1&&g_com_map[UWBENBLE]==1&&uwb_OpenClose_flag==1&&current_state == STATE_NORMAL)
        {
            CloseUWB();
            Uwb_init();
@@ -543,8 +580,8 @@
    }
    g_com_map[MODBUS_MODE] = 0;
    log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
    g_com_map[VERSION] = (2<<8)|8;
    log_4g_enable_flag =1;//g_com_map[LOG_4G_ENABLE];
    g_com_map[VERSION] = (2<<8)|12;
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
@@ -650,8 +687,10 @@
                }
                Internet_Poll();
                HIDO_TimerPoll();
                HIDO_ATLitePoll();
                HIDO_ATLitePoll();
                TCPClient_Poll();
                Led_Task();
                if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP)
                {
                    TCPClient_Poll_1();
@@ -661,6 +700,8 @@
                    flag_secondtask = 0;
                    SecondTask();
                }
                led_offtask();
                UserKeyTask();
            }
            UART_CheckReceive();
@@ -671,7 +712,7 @@
            }
            if(DBG_GetMode() == DBG_MODE_SHELL)
            {
                Set4LEDColor(uwbled,rtkled,led4g,powerled);
//                Set4LEDColor(uwbled,rtkled,led4g,powerled);
                if(g_com_map[CNT_RESTART]==1)
                {
                    g_com_map[CNT_RESTART]=0;
@@ -722,15 +763,15 @@
//                    uart1_change_from_debug_to_gps();//测试
            //                PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
            //保留串口输出到debug口这样可以看到看门狗的复位
            //关闭电源前检查PCA输出脚的电平保证不供电在关闭电源脚
            PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
            PCA9555_Set_One_Value_Output(TTS_ENABLE,0);
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关GPS
            delay_ms(200);
//            //关闭电源前检查PCA输出脚的电平保证不供电在关闭电源脚
//            PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
//            PCA9555_Set_One_Value_Output(TTS_ENABLE,0);
//            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
//            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关GPS
//            delay_ms(200);
            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
//            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
            PCA9555_Close_Power();
        }
    }
@@ -746,15 +787,15 @@
        NVIC_SystemReset();
    }
    HIDO_TimerPoll();
    if(ledonflag==1)
    {
        ledonflag=0;
        uwbled=0;
        rtkled=0;
        led4g=0;
        powerled=0;
        Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
    }
//    if(ledonflag==1)
//    {
//        ledonflag=0;
//        uwbled=0;
//        rtkled=0;
//        led4g=0;
//        powerled=0;
//        Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
//    }
    if(bat_percent<5&&jiancebat_percent_flag)
    {
        WT588E_PLAY(14);
@@ -777,11 +818,12 @@
        Set4LEDColor(uwbled,rtkled,led4g,powerled);
        if(HIDO_TimerGetTick() - guanjiflagtime>3)
        {
            PCA9555_Set_One_Value_Output(TTS_ENABLE,0);     //关闭语音输入
            PCA9555_Set_One_Value_Output(LED_POWER,0);      //输出低电平关闭LED
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
            PCA9555_Set_One_Value_Output(GPS_POWER,0);      //关GPS
            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);     //低电平关闭
//            PCA9555_Set_One_Value_Output(TTS_ENABLE,0);     //关闭语音输入
//            PCA9555_Set_One_Value_Output(LED_POWER,0);      //输出低电平关闭LED
//            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
//            PCA9555_Set_One_Value_Output(GPS_POWER,0);      //关GPS
//            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);     //低电平关闭
            PCA9555_Close_Power();
        }
    }
@@ -806,6 +848,7 @@
uint8_t GPS_UPLOAD_FLAG=0;
uint32_t elapsed_time_jibu;
extern uint8_t uwb_OpenClose_flag;
uint8_t uwb_close_count,uwb_close_count1;
void upload_apppoll()
{
@@ -839,6 +882,7 @@
        case UWB_OPEN_COUNT:
            CloseUWB();
            UWBSendUDPTask();
//            uwb_close_count++;
            break;
        case UWB_MEASUREMENT_INTERVAL_SLEEP:
@@ -847,6 +891,7 @@
            Uwb_init();
            OpenUWB();
            state_start_time = uwb_time_count;
//            uwb_close_count1++;
            break;
        }
    }
@@ -1028,6 +1073,8 @@
        }
        IMUTask();
        IdleTask();
//        PCA9555_low_power_consumption();
        check_step_and_update_state();
        led_offtask();
    }
}