I've encountered some strange behavior when I try and discover attributes via uuid. I have two boards with identical QN90x MCU's (host, controller) running the same SDK. The host contains approximately 100 attributes in the gatt db. I am able to discover all services and attributes from gatttool as well as various other tools on my phone and tablet. When I try and discover from the controller, I find that I get a hard fault whenever I set the service limit higher than 40 or so.
This example does not work:
bleUuid_t *myUuid = "UUID corresponding to handle 0x29 in host db";
dummyService. startHandle = 0x0001;
dummyService. endHandle = 0xFFFF;
static gattCharacteristic_t hrcpCharacteristic;
static uint8_t mcHrcpChar;
bleResult_t result = GattClient_DiscoverCharacteristicOfServiceByUuid(deviceId,
I suspect I'm hitting a memory limit somewhere but it's strange that I don't see this error when I try and discover from the gatttool or do a full service discovery. Any suggestions on what buffer I may need to increase or why there might be a difference in behavior?