On Thu, Apr 20, 2017 at 09:43:12PM -0700, Jacob Rosenthal wrote:
> supervision_timeout = 300 appears to have done it! Any good way to find the
> existing params change just the 1 I actually want to change?
You can use ble_gap_conn_find() to determine the current connection
parameters.
> Maybe nrf51 devices should look up supervision_timeout and either send an
> error code or even request parameter update automatically?
>
> static int
> bleprph_gap_event(struct ble_gap_event *event, void *arg)
> {
> struct ble_gap_conn_desc desc;
> int rc;
>
> switch (event->type) {
> case BLE_GAP_EVENT_CONNECT:
> struct ble_gap_upd_params params = {
> .itvl_min = BLE_GAP_ADV_FAST_INTERVAL1_MIN,
> .itvl_max = BLE_GAP_ADV_FAST_INTERVAL1_MAX,
> .supervision_timeout = 300,
> .min_ce_len = BLE_GAP_INITIAL_CONN_MIN_CE_LEN,
> .max_ce_len = BLE_GAP_INITIAL_CONN_MAX_CE_LEN,
> };
> rc = ble_gap_update_params(event->connect.conn_handle, ¶ms);
> assert(rc == 0);
> return 0;
Careful, you're specifying advertising interval values as connection
interval parameters. Using ble_gap_conn_find() will take care of this.
Chris