This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/CC2640R2F: [BLE5][CC2640R2]Simple central detected disconnection

Part Number: CC2640R2F
Other Parts Discussed in Thread: BLE-STACK

Tool/software: TI-RTOS

Dear Experts,

Could you please tell me how to configure the detection timer for disconnection?  

Codebase : simplelink_cc2640r2_sdk_2_20_00_49.

BR,

Ivan

  • Hi Ivan,
    Are you referring to the supervision timeout?
  • I suppose so and I believe you will find these resources useful:

     

     

  • Hi Joakim,

    It seems not working.
    I have tried to set "DEFAULT_UPDATE_CONN_TIMEOUT" to 100 (1 second).
    Still, central side could not detect disconnection event immediately.
    After peripheral side power off for 8 seconds , Central detects disconnection event.
    Could central side detect the disconnection event within 2 seconds ?
  • Hi Ivan,

    Please note that the connection interval also limits what supervision timeout you can use. Can you verify with a sniffer, what parameters are negotiated over air? If the central detect disconnect after 8 seconds, I suppose the supervision timeout is 8s.

    As the documentation outlines;

    Supervision Time-out: This time-out is the maximum amount of time between two successful connection events. If this time passes without a successful connection event, the device terminates the connection and returns to an unconnected state. This parameter value is represented in units of 10 ms. The supervision time-out value can range from a minimum of 10 (100 ms) to 3200 (32.0 s). The time-out must be larger than the effective connection interval

    Effective Connection Interval
    The effective connection interval is equal to the amount of time between two connection events, assuming that the slave skips the maximum number of possible events if slave latency is allowed (the effective connection interval is equal to the actual connection interval if slave latency is set to 0).

    The slave latency value represents the maximum number of events that can be skipped. This number can range from a minimum value of 0 (meaning that no connection events can be skipped) to a maximum of 499. The maximum value must not make the effective connection interval (see the following formula) greater than 16 s. The interval can be calculated using the following formula:

    Effective Connection Interval = (Connection Interval) * (1 + [Slave Latency])
    Consider the following example:

    Connection Interval: 80 (100 ms)
    Slave Latency: 4
    Effective Connection Interval: (100 ms) * (1 + 4) = 500 ms
    When no data is being sent from the slave to the master, the slave transmits during a connection event once every 500 ms.

  • Dear Experts,

    Could you please tell me how to configure central connection parameters by GAP_SetParamValue() ?
    Codebase : simplelink_cc2640r2_sdk_2_20_00_49.

    By the way, I find some example code and it passes "TGAP_CONN_EST_SUPERV_TIMEOUT" to GAP_SetParamValue() when function is invoked.
    But I could not find "TGAP_CONN_EST_SUPERV_TIMEOUT" in my central project.
    Please help me to check whether TGAP_CONN_EST_SUPERV_TIMEOUT is removed in simplelink_cc2640r2_sdk_2_20_00_49.

    BR,
    Ivan

  • Hi Ivan,

    are you using the BLE-Stack or the BLE5-Stack?

    You can find all the parameters that can be configured with GAP_SetParamValue() in the API guide ( dev.ti.com/.../group___g_a_p___params.html )