1 of 1 people found this helpful
The reason for this might be because the connection interval set in the Central device (mobile). In any BLE connection, the central is the one that decides the connection interval. The peripheral can only negotiate the connection interval and the central may or may not accept for the negotiation request.
To update the connection parameters at the central side, the peripheral has to call the API CyBle_L2capLeConnectionParamUpdateRequest (uint8 bdHandle, CYBLE_GAP_CONN_UPDATE_PARAM_T *connParam). Upon calling this API the central response with
CYBLE_EVT_L2CAP_CONN_PARAM_UPDATE_RSP This event indicates the connection parameter update response received from the master. Event Parameter pointer points to data with two possible values: Accepted = 0x0000 Rejected = 0x0001.
Please refer BLE component datasheet for more information about these APIs and events. Also please refer Day19 code example Conection parameters in Github.
thank you for your reply. This is very helpful! it would appear that the mobile framework is defaulting to 50ms connection interval (which would explain the results being the same with all the examples). I must confess I thought the connection parameters update was only when it was changing (and would be set correctly when first connected - an oversight on my behalf).
Thank you for your help, I will try and make the changes to see if it fixes my issue.