forcing the connection interval from the server

Hi,

When connecting my BLE peripheral sensor from nRF Connect for Desktop Bluetooth LE application, the client console prints out this

14:30:56.686 Connecting to device
14:30:57.004 Connected to device E3:34:73:72:23:58: interval: 562.5ms, timeout: 5620ms, latency: 0
14:31:02.622 Phy updated for device E3:34:73:72:23:58, tx: 2 Mb/s, rx: 2 Mb/s
14:31:05.999 Connection parameters updated for device E3:34:73:72:23:58: interval 30ms, timeout 420ms, latency: 0
14:31:07.340 Attribute value read, handle: 0x07, value (0x): 43-6F-73-6D-65-64-20-4D-69-63-72-6F-20-50-72-6F

I want to increase the packet rate by forcing the connection interval parameter to 7.5ms.

How do we do that acting on the peripheral code ? Consider that our role is GATT server.

Parents
  • Hi

    Just to make sure, is the client a DK using the nRF Connect for Desktop BLE application? If your case is the latter, the only reason it should use a connection interval higher than 7.5ms is because the peripheral is set to use higher connection intervals than 7.5ms. In NCS you can use the Connection Interval update page in the documentation to see how you set the connection interval. 

    You can also set it from the nRF Connect for Desktop app, but it is very lenient on what the connected peripheral prefers and will agree to the settings preferred by the peripheral on the next connection parameter request.

    Best regards,

    Simon

  • Yes, the client is a DK using the nRF Connect for Desktop BLE application.
    I've succeeded by forcing a 10ms connection interval, using bt_conn_le_param_update() api.
    The problem is when using a iPhone 6 running nRF Connect app. In this case I get 30 ms.
    Is it a limit due to the app or to iOS ?

Reply Children
Related