| | |
| | | //deca_sleep(1000); |
| | | |
| | | g_com_map[GROUP_ID]=0; |
| | | g_com_map[VERSION] = (1<<8)|7; |
| | | g_com_map[VERSION] = (2<<8)|1; |
| | | |
| | | if (g_com_map[COM_INTERVAL] <50) |
| | | { |
| | |
| | | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET); |
| | | } |
| | | } |
| | | extern uint16_t testlorarecve; |
| | | void Uwb_Zubao_Poll() |
| | | { |
| | | uint16_t state_flag; |
| | |
| | | uwb_send[7] = (tagseq++)>>8; |
| | | uwb_send[8] = bat_percent; |
| | | uwb_send[9] = state_flag; |
| | | //memcpy(&usart_send[10],&rec_tagheight,2); |
| | | memcpy(&uwb_send[10],&testlorarecve,2); |
| | | testlorarecve=0; |
| | | uwb_send[12] = 0; |
| | | uwb_send[13] = 0; |
| | | uwb_send[14] = 0; |
| | |
| | | uwbchecksum = Checksum_u16(&uwb_send[2],15+5*taglist_num); |
| | | memcpy(&uwb_send[17+5*taglist_num],&uwbchecksum,2); |
| | | } |
| | | //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;} |
| | | |
| | | // 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(); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | extern uint16_t testlorarecve; |
| | | 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;} |
| | | |
| | | 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(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1)) // 设备被拆卸拆卸后每秒发1次XTB,连续发五次。 然后10分钟发送一次定位信息,和XTB,其他时候休眠。 |
| | | { |
| | | if(air780_state>=2) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | */ |
| | | //以上是源代码,被拆除时间接性关闭4G |
| | | |
| | | //*/ |
| | | ////以上是源代码,被拆除时间接性关闭4G |