Part Number: CC2642R
I'm not having any luck getting a LL connection parameter update to go through on my peripheral application running on the CC2642.
I have things configured so that the App should have to approve any update requests, i.e.
#define DEFAULT_PARAM_UPDATE_REQ_DECISION GAP_UPDATE_REQ_PASS_TO_APP
// Configure GAP
{
uint16_t paramUpdateDecision = DEFAULT_PARAM_UPDATE_REQ_DECISION;
// Pass all parameter update requests to the app for it to decide
GAP_SetParamValue(GAP_PARAM_LINK_UPDATE_DECISION, ¶mUpdateDecision);
}
I would expect receive the GAP_UPDATE_LINK_PARAM_REQ_EVENT in my SimplePeripheral_processGapMessage() function. However, I never get this event. It doesn't seem to matter if the update requests are initiated locally or from the central's side, the event never triggers. All update requests are rejected for an "Unacceptable Connection Interval". I see this on the BLE sniffer as well as receiving the GAP_LINK_PARAM_UPDATE_EVENT with a status of 0x3b in the application (LL_STATUS_ERROR_UNACCEPTABLE_CONN_INTERVAL). We do run the shortest connection interval possible as latency is very important to our application. Here's what the central's asking for:
Control Pkt: LL_CONNECTION_PARAM_REQ
Minimum Interval: 6
Maximum Interval: 6
Latency: 0
Timeout: 2000
Preferred Periodicity: 0
Reference Connection Count: 11
Offset 0: 0
Offset 1: 1
Offset 2: 2
Offset 3: 3
Offset 4: 4
Offset 5: 5
I'll have to take a look a the BT5 spec to make sure these tight connection interval's are still valid, maybe they increased the minimum interval and that's all I'm running into? I don't have control over the central's code, or I would relax things a bit and give it a test.
I've also tried setting DEFAULT_PARAM_UPDATE_REQ_DECISION to GAP_UPDATE_REQ_ACCEPT_ALL as a temporary workaround, but I get the same behavior where the stack rejects the updated parameters.
Any thoughts on how to troubleshoot this issue? I've checked all the usual suspects,:stack / heap blowouts, confirmed I am getting all the other GAP messages in the application, etc.