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!

  • What the peripheral can do is to set it's preferred connection parameter so that the central device can read and update accordingly if the central wants. Or the peripheral can send the connection parameter request (it's not the same as LL_CONNECTION_UPDATE_REQ) if the central accept that it will send LL_CONNECTION_UPDATE_REQ to update the connection parameter that justified with the request from peripheral. You can have a look here.

  • I'm sorry that makes you confused. From the Figure 16 in S120_Softdevice_Specification_V1.0.pdf. I found the S120 can't send data packet when doing scanning. I know the S120 can set the connection parameters when establish the connection. My confuse is the TI's peripheral device can't send LL_CONNECTION_UPDATE_REQ.

  • @bihu: It's correct that the scanning period will drop any connection packet inside that period. However, this only happens when the scan window is large and conflict with connection event. You would need to adjust the scan windows so that it won't block all the connection event.

    No, the TI device when working as peripheral can't send LL_CONNECTION_UPDATE_REQUEST, what it can send is Conection parameter update request on L2CAP layer (Logical link controla and Adaption protocol). The LL_CONNECTION_UPDATE_REQUEST is on link layer and it should be from the master.

  • Both peripheral and central role device are TI CC2541, I call GAPRole_SendUpdateParam on peripheral role device, I can see the LL_CONNECTION_UPDATE_REQUEST. But I can't see the update packet when central device change to NRF51822. How to explain this problem? I also use the latest TI stack.

    I will try the S110 stack and try to update the connection interval to find the difference. I will tell you if I found clues.

  • @bihu: It depends on what you implemented on the nRF51 central. Have you called sd_ble_gap_conn_param_update() anywhere in the nRF51 central firmware? There are 2 cases:

    • The central actively update the connection parameter without any request.

    • The central receive the request from the peripheral (BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST event) then update the connection parameter accordingly.

    In both case, sd_ble_gap_conn_param_update() must be called in the nRF51 central firmware.

Related