From 522729fd4556d05b61607789ae5a0282c23ef776 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 11 四月 2024 10:05:26 +0800 Subject: [PATCH] V1.8,修改充电灯的逻辑,改为正式频率 --- APL/App.c | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 209 insertions(+), 15 deletions(-) diff --git a/APL/App.c b/APL/App.c index c05b9a8..4c881e1 100644 --- a/APL/App.c +++ b/APL/App.c @@ -191,6 +191,7 @@ extern uint8_t bat_percent; extern uint8_t chargedbg_flag; u8 power_state = 0,chargeon = 0; +uint8_t chongman_flag; void PowerLedTask(void) { static u8 powerled_state=0; @@ -202,12 +203,30 @@ power_state = 1; } while(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)&&DBG_GetMode() == DBG_MODE_CHARGE) - { + { DBG_Poll(); - IdleTask(); - } + IdleTask(); + uwbled=LEDOFF; + Internet_Poll(); + HIDO_TimerPoll(); + HIDO_ATLitePoll(); + UDPClient_Poll(); + if(bat_percent>90) + { + powerled = RED; + gpsled = LEDOFF; + uwbled = LEDOFF; + loraled = LEDOFF; + chongman_flag=1; + } + else + { + powerled = RED; + } + } + } - + chongman_flag=0; chargeon = 0; if(power_state) { @@ -235,7 +254,7 @@ //deca_sleep(1000); g_com_map[GROUP_ID]=0; - g_com_map[VERSION] = (1<<8)|1; + g_com_map[VERSION] = (1<<8)|7; if (g_com_map[COM_INTERVAL] <50) { @@ -432,11 +451,185 @@ } fangchai_flag=1; yundong_state=0; + if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)) + { + if(bat_percent>90) + { + powerled = RED; + gpsled = LEDOFF; + uwbled = LEDOFF; + loraled = LEDOFF; + chongman_flag=1; + } + else + { + powerled = RED; + } + } + else + {chongman_flag=0;} + + GPS_Poll(); + Internet_Poll(); + HIDO_TimerPoll(); + HIDO_ATLitePoll(); + UDPClient_Poll(); + + if(fangchai_time>g_com_map[CHAICHUGPS_HZ]) + { + fangchai_time=0; + if(GPS_successful_flag) + { + UDPClient_UploadGPS((char*)GPS_data); + } + else + { + Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); + } + } + } + else//设备没被拆卸 + { + fangchai_flag=0; + if(fangchai_state>=2) + { + HAL_NVIC_SystemReset(); + } + if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))//5V输入检测 + { yundong_state=0; + PowerLedTask(); + DBG_Poll(); + IdleTask(); + Internet_Poll(); + HIDO_TimerPoll(); + HIDO_ATLitePoll(); + UDPClient_Poll(); + uwbled=LEDOFF; + } + else//没有5V输入 + { + if(nomove_flag)//静止状态 + { + yundong_state=0; + Stop_Mode_Poll(); + HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); + } + else//运动状态 + { + if(yundong_state==0) + {Radio.Rx(0);} + yundong_state=1; + GPS_Poll(); + Internet_Poll(); + HIDO_TimerPoll(); + HIDO_ATLitePoll(); + UDPClient_Poll(); +// taglist_num=5; + if(taglist_num>0) + { + if(air780_state>=2) + { + HAL_NVIC_SystemReset(); + } + if(yundong_time>=YUNDONG_UWB_TIME) + { + air780_state=0; + yundong_time=0; + Uwb_Zubao_Poll(); + HexToAsciiSendUDP(uwb_send,19+5*taglist_num); +// loraled=BLUE; + taglist_num=0; + } + } + else + { + if(g_com_map[GPS_HZ]==1) + { + if(yundong_time>=g_com_map[GPS_HZ]) + { + yundong_time=0; + if(GPS_successful_flag) + { + UDPClient_UploadGPS((char*)GPS_data); +// loraled=GREEN; + } + else + { + Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); +// loraled=WHITE; + } + } + } + else + { + if(yundong_time>=60&&air780_state==0) + { + air780_state=1; + yundong_time=0; + if(GPS_successful_flag) + { + UDPClient_UploadGPS((char*)GPS_data); +// loraled=GREEN; + } + else + { + Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); +// loraled=WHITE; + } + } + if(yundong_time>=30&&air780_state==1) + { + air780_state=2; + yundong_time=0; + Stop_Mode_chulelora_Poll(); + } + if(air780_state==2) + { + HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); + } + if(yundong_time>=g_com_map[GPS_HZ]-60&&air780_state==2) + { + HAL_NVIC_SystemReset(); + } + } + } + } + } + } +} + +/* +void Main_Poll() +{ + u16 uwbchecksum; + IdleTask(); + if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1)) // 设备被拆卸 + { + if(air780_state>=2) + { + HAL_NVIC_SystemReset(); + } + fangchai_flag=1; + yundong_state=0; + if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)) + { + if(bat_percent>90) + { + powerled = RED; + gpsled = LEDOFF; + uwbled = LEDOFF; + loraled = LEDOFF; + chongman_flag=1; + } + else + { + powerled = RED; + } + } + else + {chongman_flag=0;} if(fangchai_state==0||fangchai_state==1) { -// PowerLedTask(); -// DBG_Poll(); -// IdleTask(); GPS_Poll(); Internet_Poll(); HIDO_TimerPoll(); @@ -450,12 +643,10 @@ if(GPS_successful_flag) { UDPClient_UploadGPS((char*)GPS_data); - loraled=GREEN; } else { Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); - loraled=YELLOW; } } if(fangchai_time>DENGDAI_TIME&&fangchai_state==1) @@ -489,6 +680,7 @@ HIDO_TimerPoll(); HIDO_ATLitePoll(); UDPClient_Poll(); + uwbled=LEDOFF; } else//没有5V输入 { @@ -521,7 +713,7 @@ yundong_time=0; Uwb_Zubao_Poll(); HexToAsciiSendUDP(uwb_send,19+5*taglist_num); - loraled=BLUE; +// loraled=BLUE; taglist_num=0; } } @@ -535,12 +727,12 @@ if(GPS_successful_flag) { UDPClient_UploadGPS((char*)GPS_data); - loraled=GREEN; +// loraled=GREEN; } else { Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); - loraled=WHITE; +// loraled=WHITE; } } } @@ -553,12 +745,12 @@ if(GPS_successful_flag) { UDPClient_UploadGPS((char*)GPS_data); - loraled=GREEN; +// loraled=GREEN; } else { Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); - loraled=WHITE; +// loraled=WHITE; } } if(yundong_time>=30&&air780_state==1) @@ -581,3 +773,5 @@ } } } +*/ +//以上是源代码,被拆除时间接性关闭4G \ No newline at end of file -- Gitblit v1.9.3