In most of the examples the FIRST_CONN_PARAMS_UPDATE_DELAY define is set to something like 5000ms. Is there a reason it needs to be that long? I would like to switch to a lower power connection scheme (>45ms connection interval with slave latency of 8) as soon as possible after the connection is established. Any guidance on shortening the time before connection parameters get updated?
The examples wanted to make sure that the service discovery is complete before starting connection params update as we have seen some problems starting one procedure while the other did not complete. Service discovery can be very time consuming and it depends on how big the service table on the peer side is. It does not need to be 5 seconds, but the examples wanted to be on the cautious side.
Is it possible to get an event or other way of knowing that service discovery is completed to get the best possible performance?
Strongly suggest that this type of information be included in the SDK documentation.
you do get an event BLE_DB_DISCOVERY_COMPLETE when using ble_db_discovery module. ble_conn_params uses timer to track/poll connection param requests. It would have been nicer if it could have used BLE_DB_DISCOVERY_COMPLETE as a trigger too.