2023-07-09 07:34 AM
I am developing a BLE product using the stm32wb and have it working as a peripheral/server. I need to add the ability to work as a central also and am following the BLE_p2pRouteur example in STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_p2pRouteur. The device I want to connect to as a central is another of our products in development and uses a different MCU/BLE stack. This device is also working as a peripheral and can connect and pair using Windows, macOS, iOS, and linux.
After connecting to the peripheral, querying the services, and querying the characteristics of the services to get all the handles needed, I try to enable notifications on the characteristic normally used for commands using aci_gatt_write_char_desc() with a 2-byte attribute value set to 0x0001. The stm32wb BLE stack is returning ACI_GATT_ERROR_RESP_VSEVT_CODE with Req_Opcode set to 0x12 and Error_Code set to 0x0e (unlikely error). I am certain that I am passing in the correct connection handle and characteristic handle.
Does anyone have an idea as to what might be going on? I'm not seeing anything from the device being connected to, so this looks like it might be some sort of configuration error in the stm32wb BLE stack.
Thank you,
--b
Solved! Go to Solution.
2023-07-10 07:15 AM
This is my error, I apologize for posting. After going the the example again, there are three calls made to get the handles needed to connect and set notifications:
1) aci_gatt_disc_all_primary_services() responds through ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT
2) aci_gatt_disc_all_char_of_service() responds through ACI_ATT_READ_BY_TYPE_RESP_EVENT
3) aci_gatt_disc_all_char_desc() responds through ACI_ATT_FIND_INFO_RESP_EVENT
You need 3) to get the handle to enable notifications on which is associated with the CHAR_CLIENT_CONFIG_DESC_UUID.
I apologize for wasting anyone's time.
2023-07-10 07:15 AM
This is my error, I apologize for posting. After going the the example again, there are three calls made to get the handles needed to connect and set notifications:
1) aci_gatt_disc_all_primary_services() responds through ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT
2) aci_gatt_disc_all_char_of_service() responds through ACI_ATT_READ_BY_TYPE_RESP_EVENT
3) aci_gatt_disc_all_char_desc() responds through ACI_ATT_FIND_INFO_RESP_EVENT
You need 3) to get the handle to enable notifications on which is associated with the CHAR_CLIENT_CONFIG_DESC_UUID.
I apologize for wasting anyone's time.
2023-07-11 02:30 AM - edited 2023-07-11 02:34 AM
Thank you.