This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF52 BLE HID packet rate problem

Hello everyone!
I'm creating BLE HID controller, where high packet rate is important. I expect about 100 packets per second.
But when I try to launch hid mouse or hid keyboard example, the maximum rate is 34 pps. I tried to make gamepad device and custom hid device, but result is still 34 pps.
Connection interval is set to minumum

setConnInterval(6, 12);

Also I tried to connect to different hosts (windows 10, android, iphone) - result is the same.
But when a tried BLE MIDI example, maximum packet rate is more than 100 pps, and it is real packets, I can read it on my laptop.
I'm asking for help in searching for the bottleneck in hid profile.
Thank you!

Here are my input characteristic properties:

chr_input.setUuid(UUID16_CHR_REPORT);
chr_input.setProperties(CHR_PROPS_READ | CHR_PROPS_NOTIFY);
chr_input.setPermission(SECMODE_ENC_NO_MITM, SECMODE_NO_ACCESS);
chr_input.setReportRefDescriptor(0, REPORT_TYPE_INPUT);

chr_input.setFixedLen( 10 );
chr_input.begin();

Parents Reply Children
No Data
Related