Why do I use this function bt_conn_le_param_update( ), only after the power on the first time to work, then do not work
Why do I use this function bt_conn_le_param_update( ), only after the power on the first time to work, then do not work
Here I call bt_conn_le_param_update() twice, but only the second time to start the rental, the previous call does not work, the first call is to set the connection interval smaller, faster data synchronization, the second call is to set the connection interval larger, which is lower power consumption
Hi,
What is the return value of the first call? I see you do not check that, but you should, and handle it accordingly. I see no point in calling twice, but it could be that by chance the timing there cause problems. Perhaps you can add CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT=7000 or similar to your prj.conf and see if that matters (you can adjust the numer, which is a delay between when the connection is established and the first conn params update procedure. Also note that it is not allowed to perform a connection parameter update the first 5 seconds after establishing the link per Bleutooth specification.
It could also be that conn pams update is allready ongoing but you don't know it? If so, I woudl recomend making a sniffer trace to see what happens on the link.
Can I dynamically adjust CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT?
No. This is static. But note that this only delays connection parameter update after connection establishment. It doe snot delay subsequent connection parameter updates.
One other thing, is CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS enabled? If so, it will automatically appen after the configured delay after the connection is established.
Sorry for chiming in. Are you using LLPM your application? In other words, are you using a connection interval less than 7.5ms in the first connection update call? If so, keep in mind that LLPM is only supported on 2M PHY. See https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/llpm/README.html for more details