connection interval error

Hi,

nrf SDK 17.1.0

Why am I restricted to keep the connection interval as mentioned in the examples ?

For example, in the template example, it is restricting the user to keep the interval between 0.1 and 0.2. But the BLE spec allows between 7.5 ms and 4000 ms. The above code is generating an error code of 0x07 for function "sd_ble_gap_ppcp_set".

  1. Why am I not free to choose my own conenction interval ? 
  2. How can I configure the connection in "Just works" ? I don't want central/peripheral to initiate any SMP protocol ? I made sec_param_bond to zero in the ble_app_template example as shown below. Is this enough ?

I don't need any security and want any SMP related packet to be sent during the connection.

 

  • Hi. 

    I tested the template example and I had no issues changing the min/max connection interval to lower values using nRF5 SDK v.17.1.0. 

    Maybe you could add some more information about your setup? Which device etc. 

    Have you made any other changes to the example, other than changing the connection interval?

    Br, 
    Joakim

  • Hi Joakim,

    Thank you for your reply.

    Maybe you could add some more information about your setup? Which device etc. 

    Custom board based on nRF52810. 

    SDK 17.1.0

    SD112

    Have you made any other changes to the example, other than changing the connection interval?

    I didn't do any change other than the connection interval. I made change as given below.

    #define MIN_CONN_INTERVAL MSEC_TO_UNITS(2500, UNIT_1_25_MS) /**< Minimum acceptable connection interval (0.1 seconds). */
    #define MAX_CONN_INTERVAL MSEC_TO_UNITS(3000, UNIT_1_25_MS) /**< Maximum acceptable connection interval (0.2 second). */
    #define SLAVE_LATENCY 0 /**< Slave latency. */
    #define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds). */

    I get an error code of 0x7 for sd_ble_gap_ppcp_set() function in  gap_params_init();

  • Thanks. 

    I was concerned that you might violate the below:

    * @note  If both conn_sup_timeout and max_conn_interval are specified, then the following constraint applies:
     *        conn_sup_timeout * 4 > (1 + slave_latency) * max_conn_interval
     *        that corresponds to the following Bluetooth Spec requirement:
     *        The Supervision_Timeout in milliseconds shall be larger than
     *        (1 + Conn_Latency) * Conn_Interval_Max * 2, where Conn_Interval_Max is given in milliseconds.

    But it seems that the values are within the allowed values.

    Let me do some further research on the issue and get back to you.

    The values you listed below (2500/3000/4000) causes the sd_ble_gap_ppcp_set() function to return with the invalid param error?

    Br,
    Joakim

  • Let me do some further research on the issue and get back to you.

    Okay

  • Sorry about the delay.

    I can't see any issues when testing this myself. 

    DanisXZ said:
    Custom board based on nRF52810. 

    I haven't tested with the nRF52810. Do you have a Nordic DK available to test on?

    Br,
    Joakim

Related