| | |
| | | } |
| | | void MinuteTask(void) |
| | | { |
| | | adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 |
| | | //adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 |
| | | } |
| | | void SecondTask(void) |
| | | {static uint8_t second_count; |
| | |
| | | uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,delaysleep_count; |
| | | static void sleep_timer_callback(void *dev, uint32_t time) |
| | | { |
| | | IO_control_init(); |
| | | //IO_control_init(); |
| | | // UWBPoll(); |
| | | |
| | | |
| | |
| | | if(delaysleep_count>0) |
| | | delaysleep_count--; |
| | | //GPS工作逻辑 |
| | | |
| | | |
| | | update_led_power_state();//更新灯状态测试 |
| | | } |
| | | static void voltage_input_handler(enum IO_PIN_T pin) |
| | | { |
| | |
| | | // open system timer |
| | | //sys_timer_open(); |
| | | |
| | | // TODO 4G |
| | | // // TODO 4G |
| | | Uart_Register(UART_ID_4G, UART_ID0); |
| | | Internet_Init(); |
| | | TCPClient_Init(); |
| | |
| | | gpio_open(); |
| | | //board_led_init(); |
| | | |
| | | adc_open(&usr_adc_cfg); |
| | | // adc_open(&usr_adc_cfg); |
| | | IIC2_Init(); |
| | | Accelerometer_Init(); |
| | | IO_control_init(); |
| | | #ifdef DEBUG_BOXING |
| | | io_pin_mux_set(SCL_PIN, IO_FUNC0);//测试测距波形 |
| | | gpio_pin_set_dir(SCL_PIN , GPIO_DIR_OUT, 0); |
| | | io_pull_set(SCL_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL4); |
| | | #endif |
| | | gps_air780_power_change(0,1);//开启gps,4G |
| | | |
| | | //加速度计初始化必须在IO_control_init之前因为复用SDA引脚 |
| | | adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 |
| | | uart_open(UART_ID1, &test_uart_cfg); |
| | | // adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 |
| | | //uart_open(UART_ID1, &test_uart_cfg); |
| | | Program_Init(); |
| | | // uart1_change_from_gps_to_debug(); |
| | | //Uart1GpsRecDebugSend(); |
| | |
| | | // Initialize low power mode |
| | | power_init(); |
| | | AIR780E_Reset(); //4G模块重启,耗时1.5秒,这个是无法同步的关键 |
| | | //gps_air780_power_change(0,0);//测试 |
| | | sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); |
| | | //sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试 |
| | | sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试 |
| | | // board_5V_input_init(voltage_input_handler); |
| | | board_5V_input_init(voltage_input_handler); |
| | | board_acceleration_detection_init(move_handler); |
| | | // LOG_INFO(TRACE_MODULE_APP, "测试进入app"); |
| | | //// LOG_INFO(TRACE_MODULE_APP, "测试进入app"); |
| | | board_4GUsart_detection_init(_4gUsart_handler); |
| | | tt2 = gpio_pin_get_val(_4G_USART_RX_Pin); |
| | | // tt2 = gpio_pin_get_val(_4G_USART_RX_Pin); |
| | | while (1) |
| | | { |
| | | if(flag_TCP_reconnectting||IfTCPConnected()) |
| | |
| | | LOG_INFO(TRACE_MODULE_APP, "运行Socket_RecvAll\r\n"); |
| | | Socket_RecvAll(); |
| | | } |
| | | air780_led_on(); |
| | | // air780_led_on(); |
| | | //LOG_INFO(TRACE_MODULE_APP, "处理4G\r\n"); |
| | | Internet_Poll(); |
| | | HIDO_ATLitePoll(); |
| | | HIDO_TimerPoll(); |
| | | TCPClient_Poll(); |
| | | air780_led_off(); |
| | | // air780_led_off(); |
| | | } |
| | | if(flag_secondtask) |
| | | { |
| | |
| | | // if(flag_4G_recdata!=2) |
| | | //if(((IfTCPConnected()&&AIR780E_IsIPIdle()&&Socket_IsSendQueueEmpty(0))||((!flag_TCP_reconnectting)&&!IfTCPConnected()))) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。 |
| | | if(delaysleep_count==0) |
| | | if((IfTCPConnected()&&AIR780E_IsIPIdle()&&Socket_IsSendQueueEmpty(0))) |
| | | if(((IfTCPConnected()&&AIR780E_IsIPIdle()&&Socket_IsSendQueueEmpty(0))||((!flag_TCP_reconnectting)&&!IfTCPConnected()))) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。 |
| | | { |
| | | uint32_t lock; |
| | | flag_4guart_needinit = 1; |
| | | Internet_Poll(); |
| | | HIDO_ATLitePoll(); |
| | | HIDO_TimerPoll(); |
| | | TCPClient_Poll(); |
| | | |
| | | // power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)_4G_USART_RX_Pin, POWER_WAKEUP_LEVEL_LOW); |
| | | LOG_INFO(TRACE_MODULE_APP, "进入休眠\r\n"); |
| | | //LOG_INFO(TRACE_MODULE_APP, "进入休眠\r\n"); |
| | | // delay_us(300000); |
| | | trace_flush(); |
| | | lock = int_lock(); |
| | | power_enter_power_down_mode(0); |
| | | uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); |
| | | int_unlock(lock); |
| | | } |
| | | #endif |