cancel
Showing results for 
Search instead for 
Did you mean: 

stm32wb1mmc maximum number of services

PLind.2
Associate

hi there,

i'm currently working on a project with the STM32WB1MMC, which is (as far as i know) based on a STM32WB15CCY.

in final configuration there should be 9 services (incl. GAP and GATT) with all in all 17 characteristics.

in now configured my 5th own service and encountering the following log output

grafik.png

i saw in the code that error 0x98 means BLE_STATUS_OUT_OF_MEMORY.

after some recherche this leads me to the assumption that the gatt db size may be too small for my needs.

now my question: what possibilities do i have to get my BLE configuration into this module.

i tried increasing CFG_BLE_NUM_GATT_SERVICES, CFG_BLE_NUM_GATT_ATTRIBUTES and CFG_BLE_ATT_VALUE_ARRAY_SIZE but i can not add the desired services.in some cases the module does not even start.

how can i determine the macimum VALUE_ARRAY_SIZE?

is it possible to give the module more ram for holding the gatt database?

thank you for your help

greets peter

1 REPLY 1
STTwo-32
ST Employee

Hello @PLind.2 

The max size is different for the different stacks. The size allocated for each service and characteristic is linked to the GATT specification. Calculation is done in M0 under different conditions. For WB55 full stack, the max value is 10.5kbytes. For WB55 light stack, the max value is the same as the full one. The size will depend on the flash/SRAM size, sizes are different for WB15 => only 2.7KB for the full BLE stack. For More details. there is a very detailed Wiki: STM32WB-WBA GATT Data Base and bonded devices information storage - stm32mcu that should help you to understand more about all the values to calculate the GATT database needed size (in bytes).

Best Regards.

STTwo-32

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.