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

connect inteval time

i use  the BLE uart example to test.  I delete the UART hardware init and just use the BLE send data to phone every 500ms.  I found whatever i set the MIN_CONN_INTERVAL and MAX_CONN_INTERVAL,  the connet interval seems have not change. below is the power consumption i have catched. you can see. every 500ms the current is big. It's beacaure i have send data to phone every 500ms. My question is what happend every 50ms?  you can see the current aslo incressd every 50ms. is that mean the connet event will happend every 50ms? how to reduce this event for save power?

Parents Reply Children
  • I misread your post - sorry. Although the central can ignore your connection parameter request I don't think this is happening in your case. It usually happens when the connection interval request is too small. In your case, I don't know why you're getting 50 msec burst in power. Are you sure it is related to radio on time?

  • Hi

    You can check the connection parameters you are given in the connected or conn params update events, and print them to the log:

    case BLE_GAP_EVT_CONNECTED:
      .
      .
      NRF_LOG_INFO("Con params: %i, %i", p_ble_evt->evt.gap_evt.params.connected.conn_params.min_conn_interval, p_ble_evt->evt.gap_evt.params.connected.conn_params.max_conn_interval);
      break;

    case BLE_GAP_EVT_CONN_PARAM_UPDATE:
      NRF_LOG_INFO("Con params: %i, %i", p_ble_evt->evt.gap_evt.params.conn_param_update.conn_params.min_conn_interval, p_ble_evt->evt.gap_evt.params.conn_param_update.conn_params.max_conn_interval);
      break;

    Just multiply the reported number by 1.25 to get the interval in milliseconds. 

    Then you should at least know if the values you see in the log are related to the connection interval. 

    Best regards
    Torbjørn

Related