I am sending IMU data as 20 byte packets through nus service at the rate of 50 such packets per second. The device is a nrf51 DK configured as ble peripheral (S110). The application contains twi to read data from sensor, nus to send data, and uart to print error messages. The packets are labelled with a continuous sequence number.
When using Master Control panel ( windows 7 and Android 5.0 ) to receive data from the nrf51 DK, the sequence numbers are continuous with no missing packets. However, when I use another nrf51 / 52 DK configured as central (S130 / S132) to receive data (ble_app_uart_c), I observe missing sequence numbers showing loss of about more than 50%. The error code being logged is 0x3004, which means buffer overflow in the stack.
What could the problem possibly be?
I was using Keil IDE initially and recently started working with IAR too.
P.S: I've tested those nrf51 / 52 central devices with other ARM based ble SoCs from other vendors implementing the same nus profiles. They seem to work fine without any packet loss in the reception.