Hello,
Our Peripheral server application regularly uses a stream of notifications to transmit data to a Central client. We have a rare error in which sd_ble_gatts_hvx returns NRF_ERROR_RESOURCES. The interesting part is that this appears be correlated to some corruption within a series of writes to the Peripheral, detected at the application level via a CRC across several writes.
ble_gatts.h says that NRF_ERROR_RESOURCES means "Too many notifications queued." However, we believe we have allocated enough memory for the SoftDevice so that we should never enqueue too many notifications.
Does the SoftDevice have a portion of its memory pool dedicated to buffering notifications, or does it share the this memory with other events? If the memory pool is shared and fills with "too many" events, what are the symptoms?
I am using s132 v5.1.0 and SDK v14.2.