From d69b18402a9def110c26f0350291ab504da1b878 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 10 四月 2024 14:05:35 +0800 Subject: [PATCH] V1.7,修改为被拆卸的时候10s发一次心跳包,4G不再休眠,。 --- APL/App.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 163 insertions(+), 6 deletions(-) diff --git a/APL/App.c b/APL/App.c index ac4ff7c..4c881e1 100644 --- a/APL/App.c +++ b/APL/App.c @@ -254,7 +254,7 @@ //deca_sleep(1000); g_com_map[GROUP_ID]=0; - g_com_map[VERSION] = (1<<8)|6; + g_com_map[VERSION] = (1<<8)|7; if (g_com_map[COM_INTERVAL] <50) { @@ -468,11 +468,168 @@ } 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(); @@ -486,12 +643,10 @@ if(GPS_successful_flag) { UDPClient_UploadGPS((char*)GPS_data); -// loraled=GREEN; } else { Module_GetLBSLocationAsync(LBSLocationCallback, HIDO_NULL); -// loraled=WHITE; } } if(fangchai_time>DENGDAI_TIME&&fangchai_state==1) @@ -618,3 +773,5 @@ } } } +*/ +//以上是源代码,被拆除时间接性关闭4G \ No newline at end of file -- Gitblit v1.9.3