zhangbo
昨天 5ff0b0f86d3f81e2d8aebd5ac5b55eb0d3d09961
keil/include/main/main.c
@@ -27,6 +27,7 @@
#include "dw_app_anchor.h"
#include "ymodem.h"
#include "mk_phy.h"
#include "HIDO_Debug.h"
//#define DEBUG_MODE
extern int simple_main(void);
@@ -443,14 +444,14 @@
        input5v_time=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();
            OpenUWB();
//            CloseUWB();
//            Uwb_init();
//            OpenUWB();
        }
        if(g_com_map[UWBENBLE]==1)
        {
            upload_apppoll();
        }
//        if(g_com_map[UWBENBLE]==1)
//        {
//            upload_apppoll();
//        }
    } else {
        flag_secondtask = 0;
    }
@@ -593,9 +594,9 @@
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
    LOG_INFO(TRACE_MODULE_APP,"固件版本:信标升级工卡 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
    LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",g_com_map[IP_0],g_com_map[IP_1],g_com_map[IP_2],g_com_map[IP_3],g_com_map[PORT]);
//    LOG_INFO(TRACE_MODULE_APP,"设备UWB状态: %x .\r\n",g_com_map[UWBENBLE]);
    LOG_INFO(TRACE_MODULE_APP,"设备UWB状态: %x .\r\n",g_com_map[UWBENBLE]);
//    LOG_INFO(TRACE_MODULE_APP,"设备GPS状态: %x .\r\n",g_com_map[GPSENBLE]);
//    LOG_INFO(TRACE_MODULE_APP,"设备UWB工作间隔: %x .\r\n",g_com_map[UWBFrequency]);
    LOG_INFO(TRACE_MODULE_APP,"设备UWB工作间隔: %x .\r\n",g_com_map[UWBFrequency]);
//    LOG_INFO(TRACE_MODULE_APP,"设备GPS工作间隔: %x .\r\n",g_com_map[GPSFrequency]);
//    LOG_INFO(TRACE_MODULE_APP,"当前GPS工作波特率: %d .\r\n",gpsbaudrate1);
#ifdef _4G_115200
@@ -680,8 +681,8 @@
            } else {
                powerled = RED;
            }
            if(DBG_GetMode() == DBG_MODE_SHELL)
            {
//            if(DBG_GetMode() == DBG_MODE_SHELL)
//            {
                if(ota_flag==1)
                {
                    //                            OTA_Poll();
@@ -709,7 +710,7 @@
                led_offtask();
                UserKeyTask();
            }
//            }
            UART_CheckReceive();
            if(flag_secondtask)
            {
@@ -729,7 +730,7 @@
            }
            else
            {
                Set4LEDColor(0,0,0,powerled);
//                Set4LEDColor(0,0,0,powerled);
            }
            if(input5v_time)
            {
@@ -855,52 +856,52 @@
uint32_t elapsed_time_jibu;
extern uint8_t uwb_OpenClose_flag;
uint8_t uwb_close_count,uwb_close_count1;
void upload_apppoll()
{
//void upload_apppoll()
//{
    if(current_state==STATE_NORMAL&&uwb_OpenClose_flag==1)
    {
        if(g_com_map[UWBFrequency]>1)
        {
            elapsed_time_jibu = uwb_time_count - state_start_time;
            if(elapsed_time_jibu==1)
            {
                CloseUWB();
//                UWBSendUDPTask();
            }
            else if(elapsed_time_jibu==g_com_map[UWBFrequency])
            {
                taglist_num = 0;
                CloseUWB();
                Uwb_init();
                OpenUWB();
                state_start_time = uwb_time_count;
            }
        }
        else
        {}
    }
    else if(current_state==STATE_SLEEP&&uwb_OpenClose_flag==1)
    {
        elapsed_time_jibu = uwb_time_count - state_start_time;
        switch(elapsed_time_jibu)
        {
        case UWB_OPEN_COUNT:
            CloseUWB();
//            UWBSendUDPTask();
//            uwb_close_count++;
            break;
//    if(current_state==STATE_NORMAL&&uwb_OpenClose_flag==1)
//    {
//        if(g_com_map[UWBFrequency]>1)
//        {
//            elapsed_time_jibu = uwb_time_count - state_start_time;
//            if(elapsed_time_jibu==1)
//            {
//                CloseUWB();
////                UWBSendUDPTask();
//            }
//            else if(elapsed_time_jibu==g_com_map[UWBFrequency])
//            {
//                taglist_num = 0;
//                CloseUWB();
//                Uwb_init();
//                OpenUWB();
//                state_start_time = uwb_time_count;
//            }
//        }
//        else
//        {}
//    }
//    else if(current_state==STATE_SLEEP&&uwb_OpenClose_flag==1)
//    {
//        elapsed_time_jibu = uwb_time_count - state_start_time;
//        switch(elapsed_time_jibu)
//        {
//        case UWB_OPEN_COUNT:
//            CloseUWB();
////            UWBSendUDPTask();
////            uwb_close_count++;
//            break;
        case UWB_MEASUREMENT_INTERVAL_SLEEP:
            taglist_num = 0;
            CloseUWB();
            Uwb_init();
            OpenUWB();
            state_start_time = uwb_time_count;
//            uwb_close_count1++;
            break;
        }
    }
//        case UWB_MEASUREMENT_INTERVAL_SLEEP:
//            taglist_num = 0;
//            CloseUWB();
//            Uwb_init();
//            OpenUWB();
//            state_start_time = uwb_time_count;
////            uwb_close_count1++;
//            break;
//        }
//    }
//    switch (current_state)
//    {
////#ifdef UWB_1_5HZ
@@ -945,7 +946,7 @@
//            break;
//    }
}
//}
//uint8_t flag_4guart_needinit=0;
//uint8_t index1,index2,index3;
@@ -1019,7 +1020,18 @@
        }
    }
}
char file_name[25]={0};
uint8_t file_name_lenth;
void get_download_file_name()
{
    uint16_t full_value = 0;
//    memcpy(file_name_lenth,&g_com_map[YAOGEIANC_UPWENJIAN_NAME_LENTH],1);
    memcpy(&full_value, &g_com_map[YAOGEIANC_UPWENJIAN_NAME_LENTH], 2);
    file_name_lenth = full_value & 0xFF;  // 提取低字节
    memcpy(file_name,&g_com_map[YAOGEIANC_UPWENJIAN_NAME],file_name_lenth);
    LOG_INFO(TRACE_MODULE_APP,"文件名: %s .\r\n",file_name);
    LOG_INFO(TRACE_MODULE_APP,"文件名长度: %d .\r\n",file_name_lenth);
}
uint16_t final_bag_num;
extern uint8_t Lora_qingqiu_flag;
@@ -1060,6 +1072,7 @@
            if(jindu>baifenbi)
            {
            uart_send(UART_ID1, Dtu_shengji_jindu,9, NULL);
            TCPClient_Upload_hex(Dtu_shengji_jindu,9);
                baifenbi=baifenbi+10;
            }
            tx_en_start_u32 = phy_timer_count_get()+US_TO_PHY_TIMER_COUNT(100U);//发送必须要延时发送才可以用于测距否则立即发送会获取时间戳不对,需要计算程序运行时间,避免设置过去时间
@@ -1072,7 +1085,7 @@
}
extern uint8_t shengji_flag;
int main(void)
{
    __enable_irq();
@@ -1133,22 +1146,22 @@
    power_init();
    Uwb_init();
    
    if(g_com_map[KEY_POWERON]==1)
    {
        WT588E_PLAY(0);                           //播报开机语音
        g_com_map[KEY_POWERON]=0;
        save_com_map_to_flash();
    }
    if(g_com_map[UWBFrequency]&&g_com_map[UWBENBLE])
    {
        OpenUWB();
    }
//    if(g_com_map[KEY_POWERON]==1)
//    {
//        WT588E_PLAY(0);                           //播报开机语音
//        g_com_map[KEY_POWERON]=0;
//        save_com_map_to_flash();
//    }
//    if(g_com_map[UWBFrequency]&&g_com_map[UWBENBLE])
//    {
//        OpenUWB();
//    }
    if(!read_5v_input_pca())
    {
        Set4LEDColor(BLUE,GREEN,WHITE,RED);
        delay_ms(500);
        delay_ms(200);
        Set4LEDColor(RED,WHITE,RED,WHITE);
        delay_ms(500);
        delay_ms(200);
        Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
    }
    g_com_map[MODBUS_MODE] = 0;
@@ -1164,10 +1177,10 @@
    PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS  
#endif    
    if(g_com_map[UWBENBLE]==0)
    {
        CloseUWB();
    }
//    if(g_com_map[UWBENBLE]==0)
//    {
//        CloseUWB();
//    }
    sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
    sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
    Chuanshuwenjian_Poll();
@@ -1176,9 +1189,15 @@
    pca_input_detection_init(pca_handler);//pca检测输入
//    GPS_Init();
//    gaodu=GetPressAndHeight()*100;
    OpenUWB();
    get_download_file_name();
    while (1)
    {
        uwb_app_poll();
        if(!shengji_flag)
        {
         uwb_app_poll();
        }
        Internet_Poll();
        HIDO_TimerPoll();
        HIDO_ATLitePoll();
@@ -1196,6 +1215,6 @@
        IMUTask();
        IdleTask();
//        check_step_and_update_state();
//        led_offtask();
        led_offtask();
    }
}