Changelog
All notable changes to this project are documented in this file. See also Limitations for permanent limitations.
Main branch - nRF 802.15.4 Radio Driver
nRF Connect SDK v2.8.0 - nRF 802.15.4 Radio Driver
Notable changes
If a time slot ends while waiting for or receiving an ACK frame, the transmission terminates with the
NRF_802154_TX_ERROR_NO_ACK
error code. This behavior allows the higher layer to distinguish between a frame that was not transmitted and a frame that was transmitted but did not receive an ACK frame. (KRKNWK-19126)When the nRF 802.15.4 Radio Driver prepares for a reception but no free buffer is left, the
nrf_802154_receive_failed()
callout is generated with a new error codeNRF_802154_RX_ERROR_NO_BUFFER
. (KRKNWK-19304)The default assignment of the DPPI channels on the nRF54L Series is changed so that the channels 14 and 15 are left unused for other purposes. (KRKNWK-19349)
The binaries of the nRF 802.15.4 SL library for the nRF54L15 SoC are provided also for the non-secure operation. (KRKNWK-19338)
The internal implementation of notification module is selected by the
NRF_802154_NOTIFICATION_IMPL
configuration macro. The internal implementation of request module is selected by theNRF_802154_REQUEST_IMPL
configuration macro.Introduced limited support for receiving and transmitting multipurpose frames. (KRKNWK-19492)
Added
Added the
NRF_802154_EGU_USED_CHANNELS_MASK
to inform about the fixed EGU channels used by the driver. (KRKNWK-19408)Added the functions
nrf_802154_cst_writer_period_set()
andnrf_802154_cst_writer_anchor_time_set()
. (KRKNWK-19492)
nRF Connect SDK v2.7.0 - nRF 802.15.4 Radio Driver
Bug fixes
Fixed an issue causing the driver to report a very inaccurate timestamp if a delayed operation starts shortly after sleep request. (KRKNWK-18589)
Fixed an issue causing the build for the nRF54L15 SoC with
CONFIG_FPU
set toy
to fail. (KRKNWK-19373)
nRF Connect SDK v2.6.0 - nRF 802.15.4 Radio Driver
Notable changes
Added the
nrf_802154_rx_on_when_idle_set()
function which allows to choose between the receive and sleep states during radio idle periods. (KRKNWK-17962)Added a safeguard in the
nrf_802154_delayed_trx_receive()
to disallow scheduling of two delayed reception windows with the same value ofid
parameter. (KRKNWK-18263)The encryption module for the nRF52 and nRF53 series’ SoCs based on the ECB peripheral uses the
nrf_802154_sl_ecb_block_encrypt()
function. (KRKNWK-18576) Thenrf_802154_sl_ecb_block_encrypt()
provided by the closed-source SL uses Multiprotocol Service Layer to share the ECB peripheral in the multiprotocol scenario.
Added
Added the
nrf_802154_security_key_remove_all()
function that allows you to remove all the stored security keys. (KRKNWK-18108)Added
NRF_802154_MAX_PENDING_NOTIFICATIONS
that sets the maximum number of simultaneously pending notifications the driver can issue. (KRKNWK-18110)Added an assert abstraction layer to allow for the customization of the detection and handling of abnormal conditions. (KRKNWK-18116)
Added the possibility to insert the transmission channel value to the transmitted frame metadata. (KRKNWK-17965)
Added the
nrf_802154_ack_data_remove_all()
function that allows you to remove all the stored Ack data of a given type. (KRKNWK-18334)
Removed
Removed the
nrf_802154_debug_assert.c
file. (KRKNWK-18116)Removed the deprecated API for the
nrf_802154_energy_detected()
function. (KRKNWK-17573) Removed the code selected by theNRF_802154_ENERGY_DETECTED_VERSION=0
API migration macro. Removed theNRF_802154_ENERGY_DETECTED_VERSION
API migration macro itself.
Bug fixes
Fixed an issue causing the radio in the nRF54H20 PDK EngA to hang in an intermediate state while the radio is being disabled. (KRKNWK-18223)
nRF Connect SDK v2.5.0 - nRF 802.15.4 Radio Driver
Notable changes
The callout function
nrf_802154_energy_detected()
now takes a parameter of typenrf_802154_energy_detected_t
and provides the ED result in dBm. This change in public API can be enabled by setting theNRF_802154_ENERGY_DETECTED_VERSION
to 1. (KRKNWK-17141)Include files with API common for both driver and serialization interfaces are now available in the
common
directory. This change only affects users who are not using the CMake build system. (KRKNWK-17186)
Added
Added
nrf_802154_timestamp_end_to_phr_convert()
andnrf_802154_timestamp_phr_to_shr_convert()
that can be used to convert the timestamps used by the driver to the timestamp of the first symbol of frame’s PHR. (KRKNWK-17153)Added support for
nrf_802154_pan_coord_get()
through serialization (disabled by default viaNRF_802154_PAN_COORD_GET_ENABLED
). (KRKNWK-10908)Added the possibility to perform multiple CCA attempts before a delayed transmission in case the first CCA attempt detects busy channel. (KRKNWK-17304)
Bug fixes
Fixed an issue causing CSMA/CA procedure to not be terminated correctly in certain Wi-Fi Coexistence scenarios. (KRKNWK-17422)
Fixed an issue causing data corruption when transmitting frames and ACKs containing IE elements. (KRKNWK-17627)
Fixed an issue causing an incorrect driver state after transmission setup failure resulting in failing subsequent calls to the 802.15.4 driver. (KRKNWK-17628)
Other changes
Changed the value of
ED_RSSISCALE
to4
for the nRF5340 and nRF52833. (KRKNWK-16902)Deprecated
nrf_802154_first_symbol_timestamp_get()
andnrf_802154_mhr_timestamp_get()
functions.Improved the modulation filtering when using an external power amplifier on the nRF5340, fixing potential certification issues. (KRKNWK-16949)
Removed deprecated functions
nrf_802154_wifi_coex_enable()
andnrf_802154_wifi_coex_disable()
and accompanying configuration optionNRF_802154_COEX_INITIALLY_ENABLED
. (KRKNWK-14574)The
NRF_802154_IFS_ENABLED
is disabled by default. IFS feature is marked as experimental. (KRKNWK-17198).
nRF Connect SDK v2.4.0 - nRF 802.15.4 Radio Driver
Notable changes
Improved frame filtering routine which reduces the likelihood of encountering
NRF_802154_RX_ERROR_RUNTIME
error during heavier loads. (KRKNWK-15525)Delayed transmissions and receptions are triggered by a hardware timer what makes them more immune to software latencies. (KRKNWK-8615)
Added
Added
nrf_802154_security_global_frame_counter_set_if_larger()
. (KRKNWK-16133)
Bug fixes
Fixed an issue causing the notification about transmission failure to be generated twice what led to a crash on the nRF5340 network core. (KRKNWK-16825)
Fixed an issue with the receive filter, which led to the receiver not being able to receive a frame shorter than 5 bytes in promiscuous mode. (KRKNWK-16977)
Other changes
Removed the
NRF_802154_DISABLE_BCC_MATCHING
config option. Setting this option toNRF_802154_DISABLE_BCC_MATCHING=1
had been not functional for multiple releases. (KRKNWK-15525)Removed the
NRF_802154_TX_STARTED_NOTIFY_ENABLED
config option. (KRKNWK-16364)The total times measurement feature is turned off. (KRKNWK-16189)
Removed the
NRF_802154_TOTAL_TIMES_MEASUREMENT_ENABLED
config option and support for the total times measurement feature. (KRKNWK-16374)CSL Phase is calculated assuming that provided CSL anchor time points to a time where the first bit of MAC header of the frame received from a peer happens. (KRKNWK-16647)
nRF Connect SDK v2.3.0 - nRF 802.15.4 Radio Driver
Notable changes
Added the possibility to disable the continuous and modulated carrier functions by setting the
NRF_802154_CARRIER_FUNCTIONS_ENABLED
define to0
.
nRF Connect SDK v2.2.0 - nRF 802.15.4 Radio Driver
Notable changes
The CSL phase calculation method now depends on the anchor time instead of the nearest scheduled reception window. (KRKNWK-15150)
Added
Added
nrf_802154_csl_writer_anchor_time_set()
. (KRKNWK-15150)
Bug fixes
Implemented a workaround for the YOPAN-158 errata for nRF5340. (KRKNWK-15473)
nRF Connect SDK v2.1.0 - nRF 802.15.4 Radio Driver
Bug fixes
Fixed an issue where the channel for the delayed transmission on the nRF5340 SoC when passing NULL metadata would be set to 11. This was inconsistent with the behavior on nRF52 Series’ SoCs and the channel now defaults to the value in the Personal Area Network Information Base (PIB). (KRKNWK-13539)
Fixed an issue causing the calculated CSL phase to be too small. (KRKNWK-13782)
Fixed an issue causing the nRF5340 SoC to prematurely run out of buffers for received frames on the application core. (KRKNWK-12493)
Fixed an issue causing the nRF5340 SoC to transmit with minimum power when the requested transmit power was greater than 0 dBm. (KRKNWK-14487)
nRF Connect SDK v2.0.0 - nRF 802.15.4 Radio Driver
Notable changes
Reworked the implementation of the internal timer to support 64-bit timestamps. (KRKNWK-8612)
The transmit power is now expressed as antenna output power, including any front-end module used.
Added
The transmit power can be set for each transmission request through the transmit metadata. (KRKNWK-13484)
The use of runtime gain control of the front-end module is now provided by the MPSL library. (KRKNWK-13713)
Bug fixes
Fixed a stability issue where switching the GRANT line of the coexistence interface could cause a crash. (KRKNWK-11900)
Fixed an issue where the setting
NRF_802154_DELAYED_TRX_ENABLED=0
would make the build fail.Fixed an issue where the CSMA-CA procedure was not aborted by pending operations with higher priority.
Fixed an issue where a notification about an HFCLK change could be delayed by a high priority ISR and could cause a crash. (KRKNWK-11466)
Fixed an issue where canceling a delayed time slot (for CSMA-CA, delayed transmission, and delayed reception operations) after the preconditions were requested could cause a crash. (KRKNWK-13175)
Fixed an issue where a coexistence request would not be released at the end of the time slot while operating in multiprotocol mode.
Fixed an issue where the reported ED values with temperature correction were imprecise. (KRKNWK-13599)
Disabled the build of CSMA-CA when using the open-source service layer.
Other changes
Removed the files
nrf_802154_ack_timeout.c
andnrf_802154_priority_drop_swi.c
.
nRF Connect SDK v1.9.0 - nRF 802.15.4 Radio Driver
Added
Delayed transmission and reception feature support for nRF5340. (KRKNWK-12074)
Backforwarding of transmitted frames to support retransmissions through serialization for nRF5340. (KRKNWK-10114)
Serialization of API required by Thread 1.2 (KRKNWK-12077) and other API for nRF5340.
Bug fixes
Fixed an issue where interleaving transmissions of encrypted and unencrypted frames could cause memory corruption. (KRKNWK-12261)
Fixed an issue where interruption of a reception of encrypted frame could cause memory corruption. (KRKNWK-12622)
Fixed an issue where transmission of an encrypted frame could transmit a frame filled partially with zeros instead of proper ciphertext. (KRKNWK-12770)
Fixed stability issues related to CSMA-CA occurring with enabled experimental coexistence feature from Multiprotocol Service Layer. (KRKNWK-12701)
nRF Connect SDK v1.8.0 - nRF 802.15.4 Radio Driver
Notable changes
Incoming frames with Header IEs present but with no payload IEs and with no payload do not need IE Termination Header provided anymore. (KRKNWK-11875)
Bug fixes
Fixed an issue where the notification queue would be overflowed under stress. (KRKNWK-11606)
Fixed an issue where
nrf_802154_transmit_failed
callout would not always correctly propagate the frame properties. (KRKNWK-11605)
nRF Connect SDK v1.7.0 - nRF 802.15.4 Radio Driver
Added
Adopted usage of the Zephyr temperature platform for the RSSI correction.
Support for the coexistence feature from Multiprotocol Service Layer.
Support for nRF21540 FEM GPIO interface on nRF53 Series.
Notable changes
Modified the 802.15.4 Radio Driver Transmit API. It now allows specifying whether to encrypt or inject dynamic data into the outgoing frame, or do both. The
nrf_802154_transmitted_frame_props_t
type is used for this purpose.
Bug fixes
Fixed an issue where it would not be possible to transmit frames with invalid Auxiliary Security Header if
CONFIG_NRF_802154_ENCRYPTION
was set ton
. (KRKNWK-11218)Fix an issue with the IE Vendor OUI endianness. (KRKNWK-10633)
Fixed various bugs in the MAC Encryption layer. (KRKNWK-10646)
nRF Connect SDK v1.6.0 - nRF 802.15.4 Radio Driver
Initial common release.
Added
Added the source code of the 802.15.4 Radio Driver.
Added the 802.15.4 Service Layer library.
Added the source code of the 802.15.4 Radio Driver API serialization library.
Added the possibility to schedule two delayed reception windows.
Added CSL phase injection.
Added outgoing frame encryption and frame counter injection.
Added Thread Link Metrics IEs injection.
Notable Changes
The release notes of the legacy versions of the Radio Driver are available in the Radio Driver section of the Infocenter.
The changelog of the previous versions of the 802.15.4 SL library is now located at the bottom of this page.
The Radio Driver documentation will now also include the Service Layer documentation.
Future versions of the Radio Driver and the Service Layer will follow NCS version tags.
The 802.15.4 Radio Driver API has been modified to support more than a single delayed reception window simultaneously. The
nrf_802154_receive_at()
,nrf_802154_receive_at_cancel()
, andnrf_802154_receive_failed()
functions take an additional parameter that identifies a given reception window unambiguously.
nRF 802.15.4 Service Layer 0.5.0
Added the possibility to check the 802.15.4 capabilities.
Added
Added the possibility to check the 802.15.4 capabilities. Built from commit 2966ae8b4b3fcf2b64d8b987703cbf4ecc0dd60b.
nRF 802.15.4 Service Layer 0.4.0
Added multiprotocol support for the nRF53 family.
Added
Added multiprotocol support for the nRF53 family. Built from commit 5d2497b78683687bdd57fcd6854b1bc3c26871be.
nRF 802.15.4 Service Layer 0.3.0
PA/LNA implementation has been moved to MPSL. Obsolete implementation and API have been removed.
Removed
Removed PA/LNA implementation and API. Built from commit e268db75108016ee02965556aa52cf8437f5e071.
nRF 802.15.4 Service Layer 0.2.0
Initial release.
Added
Added the
libnrf_802154_sl.a
library. Built from commit 4c5ff68c4eb4ba817774bbd6c711a67dfde7d905.