Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Changing advertising modes from IDLE to FAST SDK V15.0

I am migrating from SDK v14.2.0 to v15.0.0 and from S132 to S112 (v6) using the NRF52810. I have mostly everything migrated, but a functionality that worked before does not seem to behave correctly now and have not been able to find the root cause.

I am using a whitelist, but if there are no peers, the device is started with:

ble_advertising_start(&m_advertising, BLE_ADV_MODE_IDLE);

and then after a user button press, the device will then switch to advertising without a whitelist:

    ret_code_t err_code;
    
    m_advertising.adv_mode_current = BLE_ADV_MODE_FAST;
    m_advertising.adv_modes_config.ble_adv_fast_timeout = APP_ADV_NOWHITELEST_TIMEOUT_IN_SECONDS;
    
    err_code = ble_advertising_restart_without_whitelist(&m_advertising);
    if (err_code != NRF_ERROR_INVALID_STATE)
    {
        APP_ERROR_CHECK(err_code);
    }

but that results in an error code 7 (NRF_ERROR_INVALID_PARAM).

If the device starts out in BLE_ADV_MODE_FAST, instead of BLE_ADV_MODE_IDLE, calling ble_advertising_restart_without_whitelist(), returns correctly.

Any suggestions?

Thank you.

Related