How to request updating connection parameter from peripheral role?

Hi

Q1.

At SDK, peripheral can request connection parameter update to central, such as PHY, connection interval and MTU size.

At SDK Connect (v1.8.0) throughput sample, all the update was begun from central.

Could we request these updates from peripheral side at SDK Connect?

Q2.

At sdk connect, what is different between connection interval and TX/RX payload interval?

Thanks.

Jeffery

  • Hi Jeffery,

    Q1. It should be possible to request updates from peripheral side in nRF Connect SDK, but I am not sure of the samples. I can check internally and get back to you regarding this. 

    Q2. The connection interval, as mentioned in the documentation, "defines how often the devices must listen on the radio", i.e. the more the connection interval, the devices will listen for a longer period during transmission and hence more packets can be transmitted. But, TX/RX payload interval means the interval between the payload(data) transmission and receiving.

    Regards,

    Priyanka

  • Hi Jeffery,

    You can use the same functions for changing the connection parameters, on the peripheral side as well.

    And also, I wanted to rectify a mistake in my explanation of connection interval. The connection interval "defines how often the devices must listen on the radio", i.e. it defines the interval of silence in between the transmission. So for eg, if the connection interval is 7.5ms, the devices turn on their radio and talk after every 7.5ms and have their radio turned off rest of the time.

    Sorry for the confusion.

    Regards,

    Priyanka

  • Hi Priyanka

    At nrf connect sdk v1.8.0\nrf\samples\bluetooth\peripheral_uart

    1. After added below setting at prj.conf, it can modify connection interval after connecting to a central device, such as phone.

    2. However, it failed to update MTU to 247 bytes. It was always 20 bytes.Below is my prj.conf. 

    6327.prj.conf

    Thanks

    Jeffery

  • Hi Jeffery,

    This could be because the CONFIG_BT_L2CAP_TX_MTU has various direct dependencies too, and you could try configuring those too.

    Also, I would also like to mention that the peripheral can have a preference for various changes and it is entirely up to the central to choose whether or not to implement those changes or settings that the peripheral suggests. The central can accept or reject the suggestions given by the peripheral.

    Regards,

    Priyanka

  • Hi Priyanka

    1. Could you check my prj.conf file at previous message? If peripheral wants to request MTU 247 bytes to central

        correctly, did I miss any configuration setting in this file? Thanks.

    2. I knew the finally decision depends on central side even if peripheral request connection interval, PHY and

        MTU changes to central. But, at SDK17.0.2, I had tested requesting connection interval, PHY and MTU

        changes from peripheral side.

        It all worked at my HTC phone. MTU was updated to 247 bytes.

        Unfortunately, Using the same phone, as SDK Connect 1.8.0, MTU failed to be updated to 247 bytes.

         

    Jeffery

Related