I am working with the Nucleo-f401re with the X-Nucleo-IDB05A2 expansion board for Bluetooth via BlueNRG-M0A module.
I am trying to create services and characteristics for those services and I am trying to understand how the memory allocation portion works. For example, in the following service addition:
ret = aci_gatt_add_serv(UUID_TYPE_128, service_uuid.Service_UUID_128, PRIMARY_SERVICE, 1+3*NumberOfCharacters, &SystemControlServHandle);
If NumberOfCharacters = 6, then it initializes the services without issue. However, with NumberOfCharacters = 60, I get the error 0x1F, which means out of memory. What I do not understand is:
1) How is that memory size defined?
2) How can it be increased?
I know there are Bluetooth apps that share considerable amounts of data (100's of characteristics) and do not experience this issue. Can anyone explain what is happening here?