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

Setting MIN MAX CONN_INTERVAL

Hi everybody!

I am working with ANCS (nrf51822 SDK 9.0) I am confusing on setting the connection parameters which are MIN an MAX connection interval.

Firstly, I set MIN_CONN_INTERVAL = MAX_CONN_INTERVAL = 1000ms the ANCS notifications come right after I got phone notification (message, phone call). But when I set MIN_CONN_INTERVAL = 500ms and MAX_CONN_INTERVAL = 800ms, the ANCS notification come slower than previous setting. It does not make me sense.

Could you please give me explanation for this? Is it possible to set MIN_CONN_INTERVAL = MAX_CONN_INTERVAL ?

Thank you very much.

Parents
  • Take a look at Apple's Bluetooth Design Guidelines: developer.apple.com/.../BluetoothDesignGuidelines.pdf

    3.6 Connection Parameters
    The accessory isresponsible for the connection parameters used for the Low Energy connection. The accessory
    should request connection parameters appropriate for its use case by sending an L2CAP Connection Parameter
    Update Request at the appropriate time. See the Bluetooth 4.0 specification, Volume 3, Part A, Section 4.20 for
    details. The connection parameter request may be rejected if it does not comply with all of these rules:
    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
    ● Interval Min ≥ 20 ms
    ● Interval Min + 20 ms ≤ Interval Max Slave Latency ≤ 4
    ● connSupervisionTimeout ≤ 6 seconds
    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout
    

    So if MIN_CONN_INTERVAL = MAX_CONN_INTERVAL, it could be rejected since it doesn't satisfy #3

  • The actual connection parameters would be decided by central in that case. In your on_ble_evt() handler you can look for the BLE_GAP_EVT_CONN_PARAM_UPDATE event. You can get the settings from the ble_evt_t struct: p_ble_evt->evt.gap_evt.params.conn_param_update

Reply Children
No Data
Related