From ff27ffd4106d12d68f4da4259279f948e512fc69 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 24 七月 2025 10:28:30 +0800 Subject: [PATCH] 修改网络类型切换,用宏定义控制网络切换,V2.13 --- keil/include/main/main.c | 101 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 74 insertions(+), 27 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index e2b9a02..7b1c14c 100644 --- a/keil/include/main/main.c +++ b/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&¤t_state == STATE_NORMAL) { CloseUWB(); Uwb_init(); @@ -544,7 +581,7 @@ g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag =1;//g_com_map[LOG_4G_ENABLE]; - g_com_map[VERSION] = (2<<8)|9; + g_com_map[VERSION] = (2<<8)|13; 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(); } } -- Gitblit v1.9.3