static int btstack_uart_block_freertos_init(const btstack_uart_config_t * config){ uart_config = config; hal_uart_dma_set_block_received(&btstack_uart_block_freertos_received_isr); hal_uart_dma_set_block_sent(&btstack_uart_block_freertos_sent_isr); // set up polling data_source btstack_run_loop_set_data_source_handler(&transport_data_source, &btstack_uart_block_freertos_process); btstack_run_loop_enable_data_source_callbacks(&transport_data_source, DATA_SOURCE_CALLBACK_POLL); btstack_run_loop_add_data_source(&transport_data_source); return 0; }
static int h4_open(void *transport_config){ // open uart hal_uart_dma_init(); hal_uart_dma_set_block_received(h4_block_received); hal_uart_dma_set_block_sent(h4_block_sent); // set up data_source run_loop_add_data_source(&hci_transport_h4_dma_ds); // h4_init_sm(); tx_state = TX_IDLE; return 0; }
static int h4_open(void *transport_config){ // open uart hal_uart_dma_init(); hal_uart_dma_set_block_received(h4_block_received); hal_uart_dma_set_block_sent(h4_block_sent); hal_uart_dma_set_csr_irq_handler(ehcill_cts_irq_handler); // set up data_source run_loop_add_data_source(&hci_transport_h4_dma_ds); // init state machines h4_rx_init_sm(); tx_state = TX_IDLE; tx_len = 0; return 0; }
static int h4_open(void){ // open uart hal_uart_dma_init(); hal_uart_dma_set_block_received(h4_block_received); hal_uart_dma_set_block_sent(h4_block_sent); // set up data_source btstack_run_loop_set_data_source_handler(&hci_transport_h4_dma_ds, &h4_process); btstack_run_loop_enable_data_source_callbacks(&hci_transport_h4_dma_ds, DATA_SOURCE_CALLBACK_POLL); btstack_run_loop_add_data_source(&hci_transport_h4_dma_ds); // h4_init_sm(); tx_state = TX_IDLE; return 0; }