Bluetooth connection interval configuration

Can I configure BLE communication parameters for my Garmin Fenix BLE app? I have BLE application communicating via BLE as a GATT client with my BM71 based GATT server. I'd like to have faster communication so I need a shorter Bluetooth connection interval. The watches default interval is set 1s but I'd like to have it 200ms. I can send a request from my BM71 but it takes 10s to confirm it from watches. Is there some way how to setup this value as a default in the application config, or before the BLE communication connection phase?

  • One way to speed up things is to skip scanning when you want to connect.  The first time you scan and find a match, save that scan result to Application.Storage.  After that, just use that scan result to pair..

    Once paired, if your turn on notify for a characteristic, I've gotten data multiple times a second.  This part depends on how fast the server does a notify.

    If a scan is always used, I can scan, connect and get data in less than a second.  Some of this can depend on how often the server sends advertisements.

  • Hi Jim, thank you for your answer. That's exactly what I do. But my problem is when I want to change the Bluetooth connection interval parameter to maximize BLE throughput. At the beginning of the communication after successful connection, Garmin watches as a Peripheral device send to my Central device (BM71 electronic) connection interval time 1s. I start with subscribing to the BLE characteristic notify and updating the value with 1s interval. That works fine.

    When I send request from my Central device to have a shorter connection interval it takes about 0s to get a response from the Garmin watches with change acknowledge. Then is connection interval changed to 200 ms and I can update BLE characteristic value with the 200ms period. Problem is that I have to do this connection interval change negotiation after every reconnection so I lose a lot of time and data. So my question is if I can somehow change the default 1 s connection interval in the Garmin Watches from my application?