s130_nrf51 release notes
Introduction to the s130_nrf51 release notes
These release notes describe the changes in the s130_nrf51 from version to version.
The release notes are intended to list all relevant changes in a given version. They are kept brief, to make it easy to get the overview. More
details regarding changes and new features may be found in the s130_nrf51 migration document (normally available for major releases only).
Issue numbers in parentheses are for internal use, and should be disregarded by the customer.
Copyright (c) Nordic Semiconductor ASA. All rights reserved.
s130_nrf51_2.0.0
The main feature of this release, compared to the 2.0.0-8.alpha version, is the inclusion of support for LE Secure Connections which
introduces public key cryptography into the pairing mechanism.
Notes:
This release has changed the Application Programmer Interface (API), requiring applications to be recompiled.
This SoftDevice version is compatible with the latest nRF51 IC revision (revision 3). It is .not compatible with nRF51 IC revision 1
Users of the SoftDevice for development and for production.must verify the compatibility of their SoftDevice/IC combination
Compatibility information is found in the nRF51 Series Compatibility Matrix, which can be accessed at .infocenter.nordicsemi.com
SoftDevice properties
An updated SoftDevice Specification document is available at .http://infocenter.nordicsemi.com/
This version of the SoftDevice contains the Master Boot Record (MBR) version 1.0.3.
The combined MBR and SoftDevice memory requirements for this version are as follows:
Flash: ( bytes).108 kB 0x1B000
RAM: ( bytes) (minimum required memory - actual requirements are dependent upon the configuration4.9 kB 0x13C8
chosen at time).sd_ble_enable()
New functionality
GAP
Support for LE Secure Connections has been added, along with all required API changes to enable it. This change requires
applications making use of GAP security APIs to adapt to the new interface (DRGN-3979).
L2CAP
The APIs now support packets longer than 23 bytes (DRGN-6649).sd_ble_l2cap_*
Changes
SoftDevice
The timeslot API clock source selection API has been improved (DRGN-5882).
The documentation for has been corrected to no longer state idempotence (DRGN-6910).sd_softdevice_enable()
The documentation for in and has been expanded (DRGN-6912).opt_id sd_ble_opt_set() sd_ble_opt_get()
The API calls have changed from being SV calls to being implemented as static functions in the new sd_nvic_* nrf_nvi
header file (DRGN-7131).c.h
BLE
The Message Sequence Charts (MSCs) have been corrected, extended and improved (DRGN-6529).
It is now possible for the application to queue outgoing packets and process incoming packets during the connection event.
As a result of this more packets can be sent and received per connection event (DRGN-6785).
The documentation for bandwidth configuration of BLE connections has been rewritten to improve its readability
(DRGN-6911).
A new error code, , is now returned when invalid or unsupported connection counts are specifiedNRF_ERROR_CONN_COUNT
by the application (DRGN-6921).
Variable length fields in SoftDevice events are now defined as arrays of size 1 to ensure compatibility with a wider range of
compilers (DRGN-6975).
GATTS
The field has been replaced with a in the and ble_gatts_attr_context_t ble_uuid_t ble_gatts_evt_write_t b
structures (DRGN-6825).le_gatts_evt_read_t
The documentation for has been extended (DRGN-6986).sd_ble_gatts_service_changed()
Bug fixes
SoftDevice
The SV call will now return an error when an invalid pointer is provided as ansd_nvic_critical_region_enter()
input (DRGN-6302).
BLE
Fixed an issue where an application could invoke SVCs without previously having called (Dsd_ble_* sd_ble_enable()
RGN-6862).
Calling ) with an UUID already present in the internal table will no longer fail with error code sd_ble_uuid_vs_add( NRF_
(DRGN-6962).ERROR_NO_MEM
GAP
When trying to establish a connection as a peripheral and there is not enough memory available to honor the bandwidth
configuration, the SoftDevice will return instead of triggering a fault (DRGN-6874).NRF_ERROR_NO_MEM
When disconnecting and reconnecting multiple connections, the SoftDevice will no longer return withNRF_ERROR_NO_MEM
a valid configuration (DRGN-6875).
GAP will no longer trigger a fault when a connection as a peripheral is established right before the advertising timeout, or
just before a call to (DRGN-6976).sd_ble_adv_stop()
GAP will no longer trigger a fault when starting a broadcaster or an observer with all configured connections established. It
will instead return the new error code (DRGN-7090).NRF_ERROR_RESOURCES
Limitations
SoftDevice
If Radio Notifications are enabled, flash write and flash erase operations initiated through the SoftDevice API will be notified
to the application as Radio Events (FORT-809).
Synthesized low frequency clock source is not tested or intended for use with the BLE stack.
On nRF51 series IC revision 2 and earlier, DC/DC converter operation controlled by the SoftDevice may interfere with radio
function. As a result on any IC revision 2 and earlier, the DC/DC mode must not be set by the application to anything
different than NRF_POWER_DCDC_DISABLE (DRGN-2420).
Applications must not modify the SEVONPEND flag in the SCR register when running in priority level 1 as this can lead to
undefined behavior.
LL
The peripheral role has priority over the central role when it comes to keeping the links alive.
GAP
A broadcaster a scanner cannot both be active if there are 8 connections established (DRGN-6543).and
GATTS
To conform to the Bluetooth specification there shall not be a secondary service that is not referenced somehow by a
primary service. The SoftDevice does not enforce this (DRGN-906, DRGN-2260).
Known Issues
If is called with set to or to an invalid function pointer or a pointer to asd_softdevice_enable() fault_handler NULL
returning function, the behaviour will be undefined (DRGN-7122).
During LE Secure Connections pairing, when operating in the peripheral role, the SoftDevice will not automatically fail the pairing
procedure if the peer's key size is smaller than the minimum key size ( ) set during the call to min_key_size sd_ble_gap_sec_pa
. Normally the full key size (16 bytes) is used in LE Secure Connections pairing procedures, so this issue should notrams_reply()
typically manifest itself. If the application expects to interact with a peer central using a reduced key size, it should check the peer's
key size in and reply with BLE_GAP_EVT_SEC_PARAMS_REQUEST sd_ble_gap_sec_params_reply(BLE_GAP_SEC_STATUS_E
if the peer's key size is too small (DRGN-7125).NC_KEY_SIZE, NULL, NULL)
s130_nrf51_2.0.0-8.alpha
This release adds features and fixes going towards the production v2.0.0 release.
Notes:
This release has changed the Application Programmer Interface (API), requiring applications to be recompiled.
This SoftDevice version is compatible with the latest nRF51 IC revision (revision 3). It is .not compatible with nRF51 IC revision 1
Users of the SoftDevice for development and for production.must verify the compatibility of their SoftDevice/IC combination
Compatibility information is found in the nRF51 Series Compatibility Matrix, which can be accessed at .infocenter.nordicsemi.com
SoftDevice properties
An updated SoftDevice Specification document is not available for this alpha release.
This version of the SoftDevice contains the Master Boot Record (MBR) version 1.0.3.
The combined MBR and SoftDevice memory requirements for this version are as follows:
Flash: ( bytes). This number is subject to change before the production release.108 kB 0x1B000
RAM: ( bytes) (minimum required memory - actual requirements are dependent upon the configuration4.7 kB 0x12B8
chosen at time).sd_ble_enable()
New functionality
SoftDevice
The configuration of the 32 kHz RCOSC calibration in has been made more flexiblesd_softdevice_enable()
(DRGN-6362). It now supports more calibration intervals, and the ability to combine temperature and time triggered
calibration.
Changes
SoftDevice
The application priority enumeration has been removed (DRGN-6350).
Type definitions for certain basic types have been removed (DRGN-5348).
The header file is no longer part of the SoftDevice API (DRGN-2548).softdevice_assert.h
The header file has been updated to be compatible with all GCC versions (DRGN-6747).nrf_svc.h
All header files now include C++ guards (DRGN-6777).
Version 1.0.3 release of the MBR now includes the macro in . The MBR binary remainsMBR_SIZE nrf_mbr.h
unchanged (DRGN-6770).
BLE
The API to configure the bandwidth of BLE connections is now functional. The application can configure the bandwidth of
BLE connections with the option before the BLE connection is established (DRGN-6468). WhenBLE_OPT_CONN_BW_SET
using the configurable bandwidth option the application must have specified beforehand, at BLE stack initialization time, a
set of connection bandwidth that includes the ones that it intends to use through this option. The sd_ble_gap_connect()
and SV calls can now return if there is not enough memory to honor thesd_ble_gap_adv_start() NRF_ERROR_NO_MEM
requested bandwidth configuration.
Bug fixes
BLE
Fixed an issue where the maximum number of connections was limited to 6. Connection establishment beyond 6
connections will no longer fail with a timeout (DRGN-6638).
GAP
Fixed an issue where the GAP API accepted channel map updates with only one channel set. This has been done to
comply with the Bluetooth specification (DRGN-6743).
Limitations
SoftDevice
If Radio Notifications are enabled, flash write and flash erase operations initiated through the SoftDevice API will be notified
to the application as Radio Events (FORT-809).
Synthesized low frequency clock source is not tested or intended for use with BLE stack.
On nRF51 series IC revision 2 and earlier, DC/DC converter operation controlled by the SoftDevice may interfere with radio
function. As a result on any IC revision 2 and earlier, the DC/DC mode must not be set by the application to anything
different than NRF_POWER_DCDC_DISABLE (DRGN-2420).
LL
The peripheral role has priority over the central role when it comes to keeping the links alive.
GAP
The maximum amount of concurrent connections is limited to 8, with an additional broadcaster scanner activeor
(DRGN-6543).
GATTS
To conform to the Bluetooth specification there shall not be a secondary service that is not referenced somehow by a
primary service. The SoftDevice does not enforce this (DRGN-906, DRGN-2260).
Known Issues
BLE
In some situations it may not be possible to achieve the full configured bandwidth (DRGN-6785).
When disconnecting and reconnecting multiple connections, the SoftDevice might unexpectedly return NRF_ERROR_NO_ME
(DRGN-6875).M
When trying to establish a connection as a peripheral and there is not enough memory available to honor the bandwidth
configuration, the SoftDevice will trigger a fault instead of returning (DRGN-6874). NRF_ERROR_NO_MEM