| | |
| | | uint8_t gps_power_state,gps_uwb_flag,gps_4g_flag,gps_timeout_flag,gps_need_data_flag = 1; |
| | | void GPS_Poll(void) |
| | | { |
| | | |
| | | if(gps_4g_flag||gps_uwb_flag) { |
| | | gps_power_state = 1; //打开GPS电源 |
| | | if(!gps_timeout_flag) { |
| | | if(gps_need_data_flag) { |
| | | if(gps_4g_flag||gps_uwb_flag) |
| | | { |
| | | |
| | | if(!gps_timeout_flag) |
| | | { |
| | | if(gps_need_data_flag) |
| | | { |
| | | gps_power_state = 1; //打开GPS电源 |
| | | gps_wait_count++; |
| | | if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态 |
| | | if(gps_wait_count>=GPS_OPEN_TIME_OUT) |
| | | { //超时切换工作状态 |
| | | gps_timeout_flag=1;//串口添加改变timeout逻辑 |
| | | gps_wait_count=0; |
| | | gps_need_data_flag=0;//切换为关闭模式 |
| | |
| | | } else { |
| | | gps_wait_count++; |
| | | gps_power_state=0;//关闭GPS |
| | | if(gps_wait_count>GPS_RESTART_TIME2) { |
| | | if(gps_wait_count>GPS_RESTART_TIME2) |
| | | { |
| | | gps_power_state=1;//开启GPS |
| | | gps_need_data_flag=1; |
| | | gps_wait_count=0; |
| | | } |
| | | } |
| | | } else { //超时工作状态 |
| | | if(gps_need_data_flag) { |
| | | if(gps_need_data_flag) |
| | | { |
| | | gps_power_state = 1; //打开GPS电源 |
| | | gps_wait_count++; |
| | | if(gps_wait_count>=GPS_OPEN_TIME_OUT) { //超时切换工作状态 |
| | | if(gps_wait_count>=GPS_OPEN_TIME_OUT) |
| | | { //超时切换工作状态 |
| | | gps_timeout_flag=1; |
| | | gps_need_data_flag=0; |
| | | gps_wait_count=0; |