How to use STM32WB's BLE event callback framework?
I'm trying to use the STM32WB firmware event callbacks defined in ble_events.h and ble_events.c but they don't appear to be working.
According to the documentation in PM0271 revision 2 section 4.4 I should be able to use the event callbacks framework as an alternative to the switch/case event handlers.
However when I implement the event, it never gets hit (tried both with and without the __WEAK attribute):
__WEAK void hci_le_connection_complete_event(
uint8_t Status,
uint16_t Connection_Handle,
uint8_t Role,
uint8_t Peer_Address_Type,
const uint8_t* Peer_Address,
uint16_t Conn_Interval,
uint16_t Conn_Latency,
uint16_t Supervision_Timeout,
uint8_t Master_Clock_Accuracy
)
{
Debug_print("hci_le_connection_complete_event called!");
}But in my switch/case events I do get the EVT_LE_CONN_COMPLETE event triggering.
The version of the STM32WB firmware I'm using is 1.10.0
and the firmware loaded onto my P-NUCLEO-WB55 development board is V2J37M26
loaded with STM32CubeProgrammer v2.5.0.
I did a regex search for _event\s*\( in all STM32WB examples under STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/ but there are no examples of any project using the BLE event callback framework.
Is there an additional setup step I'm missing to use the event callback framework?
Do I need to modify the assembly startup_stm32wb55rgvx.s file?
Is there a specific BLE firmware I need to load onto the coprocessor?
