NRF52810 and NRF52832 HID bluetooth have a different polling rate.

Hi,

I have custom hardware using the NRF52810. Due to its very small RAM size, I developed the code on the NRF52DK_NRF52832 and then removed functionalities to make it fit on the 810.

I'm sending button presses on BT HID as fast as I can. I achieve around 8ms latency with the NRF52832, but 38ms with the NRF52810.

For both applications, I use the same main.c, the same .conf file, same nRFConnect SDK v2.9.1.

Is there a difference between the NRF52810 and the NRF52832 RF stack that could explain this latency difference? If they should behave the same way, can you please give me some pointers to check where my compiled code can differ?

Thanks,

Alex

Parents Reply
  • I have done more testing.
    On the NRF52810, I have only one pin available for toggling, and I observe that the bt_hids_inp_rep_send function is called at an interval of 4ms or less. Same rate on the NRF52832. 

    The sniffer doesn't seem to go fast enough to detect the polling rate. Gamepadal still reports the same latency: 8ms for the 832 and 38ms for the 810. 

    I'm running the same main.c, I can't find anything in the overlays that could account for this behaviour. Could it be down to a difference in Zephyr for both devices? 

    I keep looking. 

Children
  • Hi Alex, 
    Which connection interval was used in the connection ? If it's 7.5ms I don't see a problem for the sniffer to capture that. 
    Or lower interval with LLPM used ? 

    One simple test could be to use peripheral_lbs sample and send a lot of notification as quick as possible and see if you have any limit with the nRF52810, but I don't see it could be a problem. 
    The nRF52810 has only 24kB RAM, you may want to check if there is any configuration that limit the BLE buffer. 

    If you can reproduce the issue with a nRF5 DK, you can send us and we can test here with our sniffers. 

Related