void range_sensor_init(uint8_t uart_id, uint32_t baud, QueueHandle_t queue, range_data_cb_t cb) { range_uart_clear(); range_uart_id = uart_id; uart_init(uart_id, baud); range_data_cb = cb; range_send_queue = queue; uart_int_cb_reg(uart_id, range_recv_ch_cb); }
/** * @brief */ void lora_init(uint8_t uart_id, uint32_t baud) { lora_port = uart_id; lora_gpio_init(); uart_init(lora_port, baud); uart_int_cb_reg(lora_port, lora_recv_ch_cb); lora_daemon_timer = xTimerCreate("LoraTimer", 2, pdTRUE, NULL, lora_recv_timeout_cb); }
static bool_t gprs_init() { wdt_clear(SOFT_WDT); gprs_info.heart = FALSE; port_init(); uart_init(gprs_info.uart_port, gprs_info.uart_speed); uart_int_cb_reg(gprs_info.uart_port, gprs_uart_inter_recv); ipconfig_get(ipconfig, 50); gprs_info.gprs_state = READY_IDLE; gprs_mutex = xSemaphoreCreateMutex(); guart_Semaphore = xSemaphoreCreateBinary(); xTaskCreate(gprs_task, "gprs_task", 300, NULL, tskIDLE_PRIORITY+6, NULL); xTaskCreate(uart_deal_task, "uart_deal_task", 50, NULL, tskIDLE_PRIORITY+7, NULL); if(gprs_info.mode == TRUE) { xTaskCreate(gprs_heart, "gprs_heart", 50, NULL, tskIDLE_PRIORITY+1, NULL); } gprs_daemon_timer = xTimerCreate("GprsTimer", (6 * configTICK_RATE_HZ), pdTRUE, NULL, gprs_sent_timeout_cb); if (gprs_daemon_timer == NULL) { DBG_ASSERT(FALSE __DBG_LINE); } gprs_queue = xQueueCreate(2, sizeof(esn_msg_t)); if (gprs_queue == NULL) { DBG_ASSERT(FALSE __DBG_LINE); } esn_msg_t esn_msg; esn_msg.event = GPRS_EVENT; xQueueSend(gprs_queue, &esn_msg, portMAX_DELAY); return TRUE; }