I am planning to migrate from the nRF5 SDK to the nrf connect SDK.
My application is processing events from SoftDevice on a single thread.
In the same way, please tell me how to receive HCI events in a single thread with the nrf connect SDK.
I am planning to migrate from the nRF5 SDK to the nrf connect SDK.
My application is processing events from SoftDevice on a single thread.
In the same way, please tell me how to receive HCI events in a single thread with the nrf connect SDK.
Looking at the source code (hci_core.c), rx_thread is
1. System Workq
2. Dedicated workq (bt_workq)
I can select.
On the sending side, tx_thread(tx_thread_data) is used.
Also, it seems that SystemWrokq is used in the connect process (conn.c).
Depending on how it's configured, there will be more than 3 threads, and I'm concerned.
When using SoftDevice Controller, hci_core.c/bt_recv_prio() is not called?(bt_recv() only?)
bt_recv_prio() is only to be used if you have selected this symbol here: https://github.com/nrfconnect/sdk-zephyr/blob/main/subsys/bluetooth/host/Kconfig#L97
OK.
Are the following HighPriority events notified (callback) to the application?
(defined by hci_core.c / struct event_handler prio_events[])
BT_HCI_EVT_CMD_COMPLETE
BT_HCI_EVT_CMD_STATUS
BT_HCI_EVT_DATA_BUF_OVERFLOW
BT_HCI_EVT_DISCONN_COMPLETE
BT_HCI_EVT_NUM_COMPLETED_PACKETS
HCI is the communication interface between the Bluetooth controller and host, so it is the Bluetooth host API you should be looking at.