zhangbo
6 天以前 557b784841cac940a796f1cecba1e4120fc79c9d
keil/include/main/main.c
@@ -178,16 +178,20 @@
            bat_percent = ((fVoltage_mv - 3300) /8);
        }
    }
            if(fVoltage_mv<3300)
            {
               //power_low_flag=1;
               //gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G
//               LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n");
            }else{
               //power_low_flag=0;
               //gps_air780_power_change(gps_power_state,1);//gps原样,开启4G
//               LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
            }
      if(bat_percent>100)
         bat_percent=100;
     if(bat_percent<0)
         bat_percent=0;
//            if(fVoltage_mv<3300)
//            {
//               //power_low_flag=1;
//               //gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G
////               LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n");
//            }else{
//               //power_low_flag=0;
//               //gps_air780_power_change(gps_power_state,1);//gps原样,开启4G
////               LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
//            }
      PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//拉高
}
extern uint8_t gps_uwb_flag,gps_need_data_flag;
@@ -323,14 +327,14 @@
    {   
        input5v_time=1;
        flag_secondtask = 1;
           #ifdef UWB_1_5HZ
      #ifdef UWB_1_5HZ
           uwb_time_count++;
        #endif
            uwb_offtime_count++;
           if(uwb_offtime_count>60)
            {
             uwb_offtime_count=0;
//             current_state = STATE_SLEEP;
             current_state = STATE_SLEEP;
            }
        if(!read_5v_input_pca())
        {
@@ -443,11 +447,11 @@
      }
    g_com_map[MODBUS_MODE] = 0;
      log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
    g_com_map[VERSION] = (1<<8)|14;
    g_com_map[VERSION] = (1<<8)|19;
         
        
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
    LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS定位工卡 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
    LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS-URT 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]);
    if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP)
    {
@@ -567,19 +571,28 @@
                }
                }
            }
            NVIC_SystemReset();
//            NVIC_SystemReset();
//                  PCA9555_Set_One_Value_Output(PWR_ENABLE,0);
            input5vflag=1;
      }
        else 
        {
            if(state5v==1)
            {
                g_com_map[MODBUS_MODE] = 0;
                state5v=0;
                state5V_prase_flag=state5v;
                gps_prase_flag=1;//恢复gps解析
                uart1_change_from_debug_to_gps();//测试
                PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
            g_com_map[MODBUS_MODE] = 0;
            state5v=0;
            state5V_prase_flag=state5v;
//                gps_prase_flag=1;//恢复gps解析
//                uart1_change_from_debug_to_gps();//测试
//                PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS
            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);//低电平关闭
            }
        }
      UART_CheckReceive();
@@ -671,7 +684,32 @@
         }   
}
uint8_t send_gps_over=0;
  char gps_str[19]= {"$CFGSYS,h00000010\r\n"};
  char gps_str2[20]= {"$CFGSAVE,h00000010\r\n"};
  char gps_str1[9]={"$CFGSYS\r\n"};
void send_to_gps()
{
//  $CFGSAVE,h00000010
  if(uwb_time_count>10&&send_gps_over==0)
  {
   send_gps_over=1;
   uart_send(UART_ID1, gps_str,19, NULL);
  }
   if(uwb_time_count>13&&send_gps_over==1)
  {
   send_gps_over=2;
   uart_send(UART_ID1, gps_str2,20, NULL);
  }
  if(uwb_time_count>15&&send_gps_over==2)
  {
   send_gps_over=3;
   uart_send(UART_ID1, gps_str1,9, NULL);
  }
}
uint8_t flag_4guart_needinit=0;
uint8_t index1,index2,index3;
int16_t Voltage_input;
@@ -765,7 +803,7 @@
    #endif  
    while (1)
    { 
        send_to_gps();
        uwb_app_poll();
        Internet_Poll();
        HIDO_TimerPoll();