If you built an application based on nRF5 SDK v15.3.0, complete the actions listed in the following sections to migrate your application to nRF5 SDK v16.0.0.
Note that this migration guide does not list all changes, but it covers the most important changes that require you to update your code. See the release notes for further information on changes that were made in this release.
The BLE GATT Queue module has been introduced in nRF5 SDK v16.0.0. To use it in your project, do the following:
components/ble/nrf_ble_gq
directory. The module depends on the following components:sdk_config.h
file. Make sure that the module's dependencies are enabled as well.BLE components using GATT Queue module:
The following API has been removed:
Modified the ble_advertising_advdata_update API, such that no additional buffer is required - the module uses its internal swap buffer.
Old:
New:
The following new structures have been defined:
The following structures have been modified:
The following API has been modified:
Old:
New:
Old:
New:
len
and p_len
parameters to pm_peer_data_store() and pm_peer_data_load() as well as their derived functions have had their types changed from uint16_t
to uint32_t
.fds_error
member in pm_evt_t is no longer needed and has been removed. Code that accesses this member can be deleted since only a check against the actual error code value is now needed.slave_security_req
event structure has had its type changed to the type used by the SoftDevice: ble_gap_evt_sec_request_t (defined in ble_gap.h). No change to the existing code should be needed. lesc
. Also, the unused flags have been made accessible via the member reserved
, which should be set to 0.sdk_config.h
as NRF_BL_DELAY_MS
(default 0). You can use this functionality in situations when, for example, your bootloader cannot disconnect or cannot finish printing logs in time for the reset. Previously a static delay of 100 ms was added in debug projects, but this has been removed.Lower layer (the driver) for libuarte has been renamed from nrf_libuarte
to nrf_libuarte_drv
. Renaming includes changing of both file names and API prefixes (from nrf_libuarte_*
to nrf_libuarte_drv_*
).
App Timer v2 is moved out of experimental. It is updated and API-compatible with the old implementation making it easy to replace.
To replace app_timer v1 with app_timer v2 in your existing project, you must add files app_timer2.c
and drv_rtc.c
in place of the app_timer.c file. You must also add an APP_TIMER_V2
define to the project.