I am attempting to send serial data to a device via the built-in Serial Port Service functions provided by the ODIN-W2 driver libraries.
I am able to successfully connect to the device, but when I call cbBSL_write() to send data over the connection, I do not get the expected callback indicating the write was completed, even though I see the data printed out by my receiving device. Since the BLE driver is not thread-safe, I cannot safely make any further BLE stack calls until that callback has been received.
What might prevent the callback from getting triggered? I am passing the cbBSL_Callback structure with appropriate function pointers to cbBSL_open(), and that is not returning any errors, so I do not see any reason for it to not get called.
I am attempting to send serial data to a device via the built-in Serial Port Service functions provided by the ODIN-W2 driver libraries.
I am able to successfully connect to the device, but when I call cbBSL_write() to send data over the connection, I do not get the expected callback indicating the write was completed, even though I see the data printed out by my receiving device. Since the BLE driver is not thread-safe, I cannot safely make any further BLE stack calls until that callback has been received.
What might prevent the callback from getting triggered? I am passing the cbBSL_Callback structure with appropriate function pointers to cbBSL_open(), and that is not returning any errors, so I do not see any reason for it to not get called.