2023-11-02 08:17 AM
hi all,
I'm working on a STM32WB5MMGHX and I have play with p2p demos and other
I'm trying now to build a Battery service with only a battery level caracteristic
I've set the caracteristic as shown below
my custom app event handler is as folow :
void Custom_STM_App_Notification(Custom_STM_App_Notification_evt_t *pNotification)
{
/* USER CODE BEGIN CUSTOM_STM_App_Notification_1 */
/* USER CODE END CUSTOM_STM_App_Notification_1 */
switch (pNotification->Custom_Evt_Opcode)
{
/* USER CODE BEGIN CUSTOM_STM_App_Notification_Custom_Evt_Opcode */
/* USER CODE END CUSTOM_STM_App_Notification_Custom_Evt_Opcode */
/* BatteryService */
case CUSTOM_STM_BATT_LVL_READ_EVT:
/* USER CODE BEGIN CUSTOM_STM_BATT_LVL_READ_EVT */
APP_BATT_Single_Action();
/* USER CODE END CUSTOM_STM_BATT_LVL_READ_EVT */
break;
case CUSTOM_STM_BATT_LVL_NOTIFY_ENABLED_EVT:
/* USER CODE BEGIN CUSTOM_STM_BATT_LVL_NOTIFY_ENABLED_EVT */
Custom_App_Context.Batt_lvl_Notification_Status = 1;
/* USER CODE END CUSTOM_STM_BATT_LVL_NOTIFY_ENABLED_EVT */
break;
case CUSTOM_STM_BATT_LVL_NOTIFY_DISABLED_EVT:
/* USER CODE BEGIN CUSTOM_STM_BATT_LVL_NOTIFY_DISABLED_EVT */
Custom_App_Context.Batt_lvl_Notification_Status = 0;
/* USER CODE END CUSTOM_STM_BATT_LVL_NOTIFY_DISABLED_EVT */
break;
I'm using a standard ble test tool on my phone to request notification and reading of my characteristic (nrf connect)
it works perfectly for notification requests but for read requests I never fall into CUSTOM_STM_BATT_LVL_READ_EVT
I've try to dig into Custom stm handler mecanism to find out if evet occur or not but I didnt get any results when sending a read request
I've try with or without enabling GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP it doesnt change anything strangely when enabling GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP I have no case event pre-defined by cube mx into my event handler
in a more general question :
I've read st wiki https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_BLE_STM32CubeMX
and other user/beginners guides on ble but I don't find any details on cube my STM32_WPAN parameters
if you can orient me to find something more detailed I would be very grateful
Solved! Go to Solution.
2023-11-07 05:18 AM - edited 2023-11-07 05:23 AM
Hi @oga!
You can try to enable in STM32CubeMX :
GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP
And then in :
custom_stm.c > Custom_STM_Event_Handler() > case ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE :
add the 2 following lines :
/*USER CODE BEGIN CUSTOM_STM_BATT_LVL_ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE_2 */
Notification.Custom_Evt_Opcode = CUSTOM_STM_BATT_LVL_READ_EVT;
Custom_STM_App_Notification(&Notification);
/*USER CODE END CUSTOM_STM_BATT_LVL_ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE_2*/
Please don't hesitate to let me know if it has resolved your issue!
Regarding the details of the STM32WPAN parameters, when you click on the parameters in STM32CubeMX, a small explanation window should open.
Is this the case for you? On which type of parameter would you like to have more information?
2023-11-07 05:18 AM - edited 2023-11-07 05:23 AM
Hi @oga!
You can try to enable in STM32CubeMX :
GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP
And then in :
custom_stm.c > Custom_STM_Event_Handler() > case ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE :
add the 2 following lines :
/*USER CODE BEGIN CUSTOM_STM_BATT_LVL_ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE_2 */
Notification.Custom_Evt_Opcode = CUSTOM_STM_BATT_LVL_READ_EVT;
Custom_STM_App_Notification(&Notification);
/*USER CODE END CUSTOM_STM_BATT_LVL_ACI_GATT_READ_PERMIT_REQ_VSEVT_CODE_2*/
Please don't hesitate to let me know if it has resolved your issue!
Regarding the details of the STM32WPAN parameters, when you click on the parameters in STM32CubeMX, a small explanation window should open.
Is this the case for you? On which type of parameter would you like to have more information?