s120_nrf51822_1.0.0
This release contains multilink improvements, new features and various changes and bugfixes, see details below.
This SoftDevice release has internal changes that requires that the SoftDevice is programmed onto the chip in a specific way. The following
Nordic tools handle this:
nrfjprog version 5.0.1 or higher
nRFgo Studio version 1.17.0 or higher.
If you have these updated tools, programming can be done as usual. If these tools are not available, a separate programming tool will be
distributed with the release.
Bugfixes
Link layer
SVC handler now checks SPSEL and will use the Process Stack Pointer ( ) if . Previously the SVC handler onlyPSP SPSEL=1
supported the use of the Main Stack Pointer ( ) and using the would result in undefined behavior (NRFFOETT-317,MSP PSP
NRFFOETT-426, FORT-787).
Fixed hard fault handler issue that could corrupt the register or give invalid return address if hard fault triggered whenLR
SoftDevice was disabled (NRFFOETT-478, FORT-793).
ECB, CCM and AAR peripherals are now properly reset at SoftDevice enable (DRGN-3305, FORT-797).
Fixed an issue which could lead to accepting packets with MIC failure, or incorrectly disconnect due to MIC failure (DRGN-3177).
Fixed an issue where the VERSION_IND procedure could cause links to be disconnected (DRGN-3926).
Fixed issue where control procedures initiated from master and slave simultaneously could trigger an assert (DRGN-3945).
Fixed an issue where, under certain conditions, a call to could remain blocked until the next scansd_ble_gap_scan_stop()
interval (DRGN-3936).
Fixed an issue where, under certain conditions, and especially with heavy data traffic ongoing, an encryption procedure could fail
leading to a disconnection (DRGN-3880).
GAP
Directed advertising packets not matching the scanner's address are now ignored and not forwarded up to the application
(DRGN-4047, NRFFOETT-764).
Security: Fixed an issue where the SoftDevice would assert if sd_ble_gap_sec_params_reply() was called after disconnect
(DRGN-3129).
Security: Fixed the cause of a possible assert during the pairing procedure (DRGN-3756, DRGN-3371, DRGN-3320).
Security: Starting encryption while sending data packets at the same time can no longer cause the encryption procedure to fail
and disconnect the link (DRGN-4084).
Security: Pending Security Requests from peripherals no longer prevent the central from initiating authentication procedures on
other links (DRGN-4134).
GATTS
Fixed an issue where the SoftDevice would sometimes assert if the peer disconnected during the Write Long Characteristic
Values and Reliable Writes procedures (DRGN-3759).
System attributes can now be written using the Write Long Characteristic Values or Reliable Writes procedures (DRGN-3493).
Fixed an issue where the SoftDevice would assert if the peer canceled the Write Long Characteristic Values and Reliable Writes
procedures (DRGN-3492).
Changes
SoftDevice
API facing event structures and functions now consistenly use in their names (DRGN-2232).evt
The API now requires the application forwarding address (FORT-822).sd_softdevice_forward_to_application()
SVC numbers changed (DRGN-3147, FORT-798, FORT-836).
Link Layer
The Link Layer Version Parameter, , has been updated as a result of Bluetooth spec 4.1 qualification (DRGN-3956).VersNr
BLE
now checks whether the UUID was previously added and therefore redundant (NRFFOETT-359,sd_ble_uuid_vs_add()
DRGN-2881).
Fixed inconsistent use of , and in API documentation. Also fixed inconsistent use of keyword in[in] [out] [in/out] const
API (DRGN-3440).
GAP
sd_ble_gap_scan_start() and will no longer return . No application retriessd_ble_gap_connect() NRF_ERROR_BUSY
are necessary anymore (DRGN-2997, DRGN-3831, DRGN-3309).