| | |
| | | #include "HIDO_Timer.h" |
| | | #include "TCPClient.h" |
| | | #include "PCA9555.h" |
| | | #include "WS2812.h" |
| | | |
| | | #define DEBUG_MODE |
| | | extern int simple_main(void); |
| | |
| | | uint8_t tt=1; |
| | | uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag; |
| | | uint8_t uwb_enable_flag=0; |
| | | |
| | | void check_input_change(void) |
| | | { |
| | | uint16_t gpio_state; |
| | |
| | | { |
| | | nomove_count=0; |
| | | } |
| | | uart_change_check(gpio_state); |
| | | //uart_change_check(gpio_state); |
| | | } |
| | | static void sleep_timer_callback(void *dev, uint32_t time) |
| | | { |
| | | //IO_control_init(); |
| | | if(enbale_blink_flag) |
| | | { |
| | | green_charge_state=0; |
| | | charge_red_on(); |
| | | } |
| | | |
| | | charge_state_change();//充电状态判断 |
| | | if(secondtask_count++%2==0) |
| | | { |
| | | flag_secondtask = 1; |
| | | }else{ |
| | | flag_secondtask = 0; |
| | | } |
| | | if(enbale_blink_flag) |
| | | { |
| | | //delay_us(5000); |
| | | green_charge_state=0; |
| | | charge_red_off(); |
| | | } |
| | | if(delaysleep_count>0) |
| | | delaysleep_count--; |
| | | //GPS工作逻辑 |
| | | } |
| | | |
| | | static void voltage_input_handler(enum IO_PIN_T pin) |
| | | { |
| | | |
| | | } |
| | | static void move_handler(enum IO_PIN_T pin) |
| | | { |
| | | nomove_count=0; |
| | |
| | | } |
| | | void IdleTask(void) |
| | | { |
| | | // if(gpio_pin_get_val(INPUT_5V_Pin)) |
| | | // { |
| | | |
| | | // if(state5v==0) |
| | | // { |
| | | // state5v=1; |
| | | // state5V_prase_flag=state5v; |
| | | // gps_prase_flag=0;//解除gps解析 |
| | | // uart1_change_from_gps_to_debug();//测试 |
| | | // // uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);//开启dma |
| | | // //UartInit(); |
| | | // } |
| | | |
| | | // //UART_CheckSend(); |
| | | // } else { |
| | | // if(state5v==1) |
| | | // { |
| | | // g_com_map[MODBUS_MODE] = 0; |
| | | // state5v=0; |
| | | // state5V_prase_flag=state5v; |
| | | // gps_prase_flag=1;//恢复gps解析 |
| | | // uart1_change_from_debug_to_gps();//测试 |
| | | // // uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);//开启dma |
| | | // //UartDeinit(); |
| | | // } |
| | | // } |
| | | if(read_5v_input_pca()) |
| | | { |
| | | if(state5v==0) |
| | | { |
| | | state5v=1; |
| | | state5V_prase_flag=state5v; |
| | | gps_prase_flag=0;//解除gps解析 |
| | | uart1_change_from_gps_to_debug();//测试 |
| | | PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入 |
| | | } |
| | | }else { |
| | | if(state5v==1) |
| | | { |
| | | g_com_map[MODBUS_MODE] = 0; |
| | | state5v=0; |
| | | state5V_prase_flag=state5v; |
| | | gps_prase_flag=1;//恢复gps解析 |
| | | uart1_change_from_debug_to_gps();//测试 |
| | | PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS |
| | | } |
| | | } |
| | | UART_CheckReceive(); |
| | | } |
| | | int bind_check(void) |
| | |
| | | // TCPClient_Init(); |
| | | |
| | | gpio_open(); |
| | | //board_output_init();//配置adcGND引脚 |
| | | LED_output_init();//配置adcGND引脚 |
| | | // battery_monitor_open(); |
| | | // Voltage_input=battery_monitor_get(); |
| | | // battery_monitor_close(); |
| | |
| | | IIC2_Init(); |
| | | Accelerometer_Init(); |
| | | PCA9555_init(); |
| | | //IO_control_init(); |
| | | if(!read_5v_input_pca()) |
| | | { |
| | | Set4LEDColor(BLUE,GREEN,WHITE,GREEN); |
| | | delay_ms(500); |
| | | Set4LEDColor(RED,WHITE,RED,WHITE); |
| | | delay_ms(500); |
| | | Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF); |
| | | } |
| | | //IO_control_init(); |
| | | // io_pin_mux_set(SCL_PIN, IO_FUNC0);//测试测距波形 |
| | | // gpio_pin_set_dir(SCL_PIN , GPIO_DIR_IN, 0); |
| | | // io_pull_set(SCL_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL4); |
| | | //gps_air780_power_change(0,1);//开启gps,4G |
| | | //加速度计初始化必须在IO_control_init之前因为复用SDA引脚 |
| | | gpio_pin_clr(ADC_GND_ENABLE); |
| | | |
| | | Program_Init(); |
| | | //uart_open(UART_ID1, &test_uart_cfg); |
| | | // uart1_change_from_gps_to_debug(); |