Hello,
we are currently facing ann issue with the connection parameter update function.
wee initialized our connection parameters as following:
connection parameters are set here:
and updated in when we receive an event
so we thought we'll set our parameters and if the other device sends other parameters we set and accept them. i think the slave is our bluetooth device and the master was an iphone.
we used the sniffer to check what's going on.
our device is requesting the connection parameters first:
Then i think the iphone is responding with some other parameters:
then the master sends two times that the connection parameters were accepted:
Afterwards the slave sends update requests regularly, but all of them get rejected by the master.
so to us it looks like we're setting the parameters, the iphone accepts but sends other parameters. and as we try to set them from our device, the iphone always rejects the update. same happens with an android device. both times we used the nrf connect app to test.
here's the full wireshark log:
if we remove
sd_ble_gap_conn_param_update(p_gap_evt->conn_handle, &p_gap_evt->params.conn_param_update.conn_params);
in our event, then it looks like the device tries to change parameters 3 times and then it disconnects due to
#define MAX_CONN_PARAMS_UPDATE_COUNT 3
we can set this number up, but that looks like a dirty fix to me and if we use the update in our event connection parameter changed is triggered multiple times a second, so i fear that it affects our data transmisson.
we use s112