This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

CC2541 can't update S120 connection parameters

Hi Guys,

I'm doing a test between CC2541 and Nordic NRF51822. The CC2541 work as a peripheral role. NRF51822 as central role. But CC2541 can update another CC2541 that work as central role.

I didn't see any packet LL_CONNECTION_UPDATE_REQ on sinffer's capture message. Does this problem is a known problem? And any body have a solution?

Thanks!

  • And I tried to call sd_ble_gap_ppcp_get and sd_ble_gap_ppcp_set. The return error code is 6 (Not Supported). How to update connection interval on S120 side?

  • @bihu: Preferred connection parameter update should be set on the peripheral not on the central side.

    We had the issue with CC2541 with older stack from TI before, that the TI chip doesn't accept connection parameter update with tx windows offset set to 0. In the newer TI stack it works though.

    However, what you described it a little bit different where the S120 didn't sent LL_CONNECTION_UPDATE_REQ. Have you made sure the connection parameter update request is accepted by the S120 ?

    Could you send me the sniffer trace that shows the issue ? Also please let me know your S120 version.

  • I just have another look in the S120 v2.0.0 APIs. We do have the compability mode for legacy devices. Could you try to use the opt api sd_ble_opt_set() with the compat_mode set to 1.

  • I think I ignore the time line on S120 document. The BLE S120 will not send the packet when doing scan. And I saw the packet was sent after 50ms that I set as default connection interval. After I set the connection parameters when establish the connection and not scan when send data. But my application can't set the connection interval when establish the connection for the chip didn't send the data all the time. Do you think the peripheral device didn't send LL_CONNECTION_UPDATE_REQ is the TI's bug?

  • I am sorry that I don't really get what you meant in "The BLE S120 will not send the packet when doing scan. And I saw the packet was sent after 50ms that I set as default connection interval. After I set the connection parameters when establish the connection and not scan when send data."

    How the connection parameter is set in BLE is that, the central set the connection parameter (interval, timeout, slave latency) when it sends the connect request (when the connection is established). If there is no change, this connection parameter will be used all the time. The central and only the central can change this connection parameter by sending the LL_CONNECTION_UPDATE_REQ.

Related