Changelog
Main Branch
Changes
Removed support for running MPSL on the nRF54L15 PDK v0.7.0 and earlier. (DRGN-23325)
Removed support for running MPSL on the Engineering A revision of the nRF54H20 SoC. (DRGN-23325)
On nRF54L Series devices, the application now needs to implement
mpsl_constlat_request_callback()
andmpsl_lowpower_request_callback()
. This is already added to the MPSL driver in the nRF Connect SDK. (DRGN-22562)Removed the
mpsl_coex.h
API. (DRGN-22567)The timeslot implementation now starts
TIMER0
a couple microseconds later. It now starts when theMPSL_TIMESLOT_SIGNAL_START
callback is given.
Added
Added production support for the nRF54L Series. (DRGN-23325)
Added
mpsl_fem_enable()
to allow turning on the Front-End Module earlier than through a call tompsl_fem_pa_configuration_set()
(KRKNWK-19275). Added implementation ofmpsl_fem_enable()
for nRF2220 Front-End Module.Added the defines
MPSL_PPI_CHANNELS_USED_MASK
,MPSL_DPPIC_CHANNELS_USED_MASK
,MPSL_DPPIC10_CHANNELS_USED_MASK
,MPSL_DPPIC20_CHANNELS_USED_MASK
, andMPSL_DPPIC020_CHANNELS_USED_MASK
. These represent the same resources asMPSL_RESERVED_PPI_CHANNELS
, but also specify the DPPI controller the channels belongs to.Added the defines
MPSL_PPIB11_CHANNELS_USED_MASK
,MPSL_PPIB21_CHANNELS_USED_MASK
, andMPSL_IPCT130_CHANNELS_USED_MASK
. These represent the PPIB and IPCT resources used.
nRF Connect SDK v2.7.0
Changes
The default bit width within timeslots for
TIMER0
has been increased from 24 to 32 bits. The user may still configureTIMER0
however they like during the timeslot. (DRGN-19050)New FEM protocol APIs are provided to control the PA power, the previous APIs are removed. This change does not affect applications developed in the nRF Connect SDK context.
mpsl_fem_pa_power_control_set()
replacesmpsl_fem_pa_gain_set()
.mpsl_fem_caps_get()
replacesmpsl_fem_pa_is_configured()
. Thempsl_tx_power_split_t
structure contains the new fieldfem_pa_power_control
to be used with thempsl_fem_pa_power_control_set()
function. Thempsl_fem_gain_t
type is deprecated, please usempsl_fem_pa_power_control_t
type instead (KRKNWK-18729).The FEM libraries for nRF2220 and nRF2240 no more link directly to the TWIM library.
The TWI implementation now needs to be provided externally.
The limitation that only the TWIM0 instance could be used for nRF2220 and nRF2240 devices is removed.
mpsl_fem_twi_if_t
replacesmpsl_fem_twi_config_t
.The
twi_if
field replaces thetwi_config
field withinmpsl_fem_nrf2220_interface_config_t
andmpsl_fem_nrf2240_interface_config_t
(KRKNWK-19010).
nRF Connect SDK v2.6.0
All the notable changes included in the nRF Connect SDK v2.6.0 release are documented in this section.
Changes
The MPSL radio notification API has been removed. (DRGN-20447)
nRF Connect SDK v2.5.0
All the notable changes included in the nRF Connect SDK v2.5.0 release are documented in this section.
Changes
FEM-related firmware is now built and deployed into separate libraries, one for each FEM implementation (such as
simple_gpio
).The
mpsl_calibration_timer_handle()
function must now be called when calibrating.
Added
Added
mpsl_tx_power_dbm_to_radio_register_convert()
to convert supported power in dBm to a register code for RADIO. (KRKNWK-17367)Added
mpsl_clock_task_trigger_on_rtc_start_set()
to trigger a PPI/DPPI task when the RTC starts. (DRGN-20396)
nRF Connect SDK v2.4.0
All the notable changes included in the nRF Connect SDK v2.4.0 release are documented in this section.
Changes
Removed deprecated API for specifying the FEM pin configuration type associated with
MPSL_FEM_PIN_CFG_TYPE_PIN_PORT
. Only thempsl_fem_pin_t
configuration is supported as a FEM pin configuration now (KRKNWK-16496).
Added
Function for getting configuration of simple GPIO front-end module
mpsl_fem_simple_gpio_interface_config_get()
.
nRF Connect SDK v2.3.0
All the notable changes included in the nRF Connect SDK v2.3.0 release are documented in this section.
Added
The bool parameter
tx_power_ceiling
to the external model used by thempsl_fem_tx_power_split()
function. When enabled, the function returns the ceiling value instead of the floor.
Bug fixes
Fixed a rare issue that could cause a scheduler assert if two roles were running (DRGN-18308).
Fixed a rare issue that could cause an assert when requesting timeslots with type
MPSL_TIMESLOT_REQ_TYPE_EARLIEST
(DRGN-18555).
nRF Connect SDK v2.2.0
All the notable changes included in the nRF Connect SDK v2.2.0 release are documented in this section.
Bug fixes
Fixed an issue where the scheduler could put events in the past (DRGN-17851, DRGN-18105).
nRF Connect SDK v2.1.0
All the notable changes included in the nRF Connect SDK v2.1.0 release are documented in this section.
Added
Support for the nRF21540 GPIO & SPI front-end module. SPI is used to set Tx gain of the nRF21540 in runtime. Support for this mode of operation for nRF21540 with Bluetooth LE is experimental.
Support for adding an optional external model used to split the requested transmit power into components. This is then used by
mpsl_fem_tx_power_split()
. (KRKNWK-14464)An experimental version of a built-in nRF21540 GPIO & SPI front-end module compensation model.
Changes
Removed the
nrf_802154_fal_tx_power_get()
function that is not used anymore by nRF 802.15.4 Radio Driver. (KRKNWK-14336)Changed
mpsl_fem_tx_power_split()
function so thempsl_tx_power_split_t.radio_tx_power
field contains a value supported by the RADIO peripheral. Previously the value needed to be adjusted before applying to the RADIO peripheral. (KRKNWK-14323)Changed
mpsl_fem_gpiote_pin_config_t
andmpsl_fem_gpio_pin_config_t
to require GPIO port address, port number and relative pin number instead of the absolute pin number. (KRKNWK-11891)Added production support for the 1-wire coexistence interface on the Nordic nRF52 Series. (DRGN-16439)
Added
mpsl_clock_hfclk_latency_set()
which may be used to communicate the true high-frequency oscillator ramp-up time to MPSL. When not used, MPSL will make a worst-case assumption. (DRGN-13559)Added
mpsl_tx_power_radio_supported_power_adjust()
which lets users adjust the TX power to a value supported by the radio peripheral. (KRKNWK-14770)Changed
mpsl_fem_tx_power_split()
so that the returned front-end module gain component is a structure containing the gain in dB and a front-end module implementation specific private setting. Changedmpsl_fem_pa_gain_set()
to accept this structure and apply the settings that it stores.Changed
mpsl_fem_tx_power_split()
to return the real achieved output power.
nRF Connect SDK v2.0.0
All the notable changes included in the nRF Connect SDK v2.0.0 release are documented in this section.
Added
Support for changing PA gain during runtime through MODE pin switching for the nRF21540 GPIO front-end module.
Changes
Removed support for running MPSL on the nRF5340 PDK (DRGN-15174).
Timeslot API values
MPSL_TIMESLOT_DISTANCE_MAX_US
andMPSL_TIMESLOT_EARLIEST_TIMEOUT_MAX_US
increased to 256 seconds (DRGN-16800).Extended
mpsl_fem_nrf21540_gpio_interface_config_t
withmpsl_fem_nrf21540_gpio_interface_config_t.mode_pin_config
andmpsl_fem_nrf21540_gpio_interface_config_t.fem_config.pa_gains_db
Bug fixes
Fixed an issue where
mpsl_uninit()
would not disable the PPI channels used by MPSL (DRGN-16515).Fixed an issue where
mpsl_init()
would reject a certain clock configuration for no longer applicable legacy reasons (DRGN-16884).Fixed an issue where MPSL could assert when radio notifications on ACTIVE (
MPSL_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE
orMPSL_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH
) were used (DRGN-16642).Fixed an issue where
mpsl_uninit()
would hang indefinitely when the RC oscillator was used as the Low Frequency Clock source (DRGN-16515).Fixed an issue where the High Frequency Clock would stay active if it was turned on between timing events. This could occur during Low Frequency Clock calibration when using the RC oscillator as the Low Frequency Clock source (DRGN-17014).
nRF Connect SDK v1.9.0
All the notable changes included in the nRF Connect SDK v1.9.0 release are documented in this section.
Added
Added a new header file
mpsl_dppi_protocol_api.h
which exposes DPPI channels that have a fixed configuration during the lifetime of a radio event (DRGN-16308). This will facilitate debugging of protocol implementations. Currently these channels are guaranteed to be applied correctly for Bluetooth only.
nRF Connect SDK v1.8.0
All the notable changes included in the nRF Connect SDK v1.8.0 release are documented in this section.
Added
Added support for the Simple GPIO Front-End Module implementation on the nRF53 Series.
Added support and separate documentation for Bluetooth External Radio Coexistence on the nRF52 Series (DRGN-11849).
Added experimental support for the 1-wire coexistence interface on the nRF52 Series (DRGN-16439).
Changes
References to Bluetooth support were moved away from
projects/mpsl/doc/public/doc/cx.rst
. Its scope is now limited to IEEE 802.15.4 External Radio Coexistence.
Bug fixes
Fixed an issue where the current consumption in some cases was high after the end of a timeslot when using
MPSL_TIMESLOT_HFCLK_CFG_NO_GUARANTEE
. Now the time from the request with typeMPSL_TIMESLOT_REQ_TYPE_EARLIEST
until the event starts is in some cases increased (DRGN-16506).
nRF Connect SDK v1.7.0
All the notable changes included in the nRF Connect SDK v1.7.0 release are documented in this section.
Added
Added support for nRF21540 GPIO Front-End Module for nRF53 Series.
Added a public interface for the radio coexistence protocol API (KRKNWK-7490). This public interface can be used to replace the example implementation of the radio coexistence with other implementations compliant with other Packet Traffic Arbitration (PTA) interfaces.
Changes
The
mpsl_fem_protocol_api.h
was moved from theinclude
directory to theinclude/protocol
directory (KRKNWK-10507).The start signal jitter for the timeslot API (
MPSL_TIMESLOT_START_JITTER_US
) has been reduced to 1us. (DRGN-15842).
nRF Connect SDK v1.6.0
All the notable changes included in the nRF Connect SDK v1.6.0 release are documented in this section.
Added
Added an API to set and get a flag that determines whether to apply the DEVICE-CONFIG-254. The API user shall set the flag to desired value with
mpsl_fem_device_config_254_shall_apply_set()
. The protocol stacks’ responsibility is to check the flag value usingmpsl_fem_device_config_254_shall_apply_get()
and apply the configuration when the flag value is true.Added support for the nRF5340 device, which was previously only supported for evaluation purposes (DRGN-8639).
Added a function to the FEM protocol API to disable FEM when no radio activity is expected. This function is intended to reduce power consumption (KRKNWK-8842).
Changes
Reserved TIMER1 for use by MPSL on nRF5340 (DRGN-15721).
Bug fixes
Fixed an issue where the clock configuration option
mpsl_clock_lfclk_cfg_t.skip_wait_lfclk_started
did not work as expected with nRF5340 devices (DRGN-15223).
nRF Connect SDK v1.5.0
All the notable changes included in the nRF Connect SDK v1.5.0 release are documented in this section.
Added
Added a new signal to the MPSL timeslot:
MPSL_TIMESLOT_SIGNAL_OVERSTAYED
. This signal is given to the application when a timeslot session is closed too late (DRGN-14677).Added a new clock configuration option
skip_wait_lfclk_started
inmpsl_clock_lfclk_cfg_t
, which does not wait for the start of the low-frequency clock (DRGN-14204).Added macro MPSL_RESERVED_PPI_CHANNELS for a bit mask of (D)PPI channels reserved by MPSL (DRGN-13356).
Bug fixes
Fixed an issue where the low-frequency clock was configured incorrectly when the source configuration signal was set to either External Full swing or External Low swing (DRGN-15064).
Fixed an issue where MPSL waited for the low-frequency clock to start even though it was configured not to wait for it (DRGN-15176).
nRF Connect SDK v1.4.0
All the notable changes included in the nRF Connect SDK v1.4.0 release are documented in this section.
Changes
Changed the timeslot implementation to support up to 8 concurrent sessions (DRGN-13952). It is now necessary to supply a timeslot context configuration using
mpsl_timeslot_session_count_set()
. All timeslot APIs now take asession_id
as input. The session id is retrieved frommpsl_timeslot_session_open()
.Added an API to use Front-End Modules, like the nRF21540 GPIO or a simple GPIO, with the protocols and an API to configure them using the application. Only the nRF52 Series is supported.
Bug fixes
Fixed an issue where both the high-frequency clock and
TIMER0
were not turned off during idle periods shorter than 9 ms (DRGN-14152). This increased the average power consumption. Such a case could occur when running a Bluetooth LE connection with a connection interval of 7.5 ms.
Known Issues and limitations
See the Known issues page in nRF Connect SDK for the list of known issues and limitations for this release.
nRF Connect SDK v1.3.0
All the notable changes included in the nRF Connect SDK v1.3.0 release are documented in this section.
Added
Added API for fetching build revision information.
Added API to set a TX Power envelope. Protocols using MPSL will limit their TX power to a value equal to, or lower than, the provided value.
Added support for using a low-swing and full-swing LF clock.
The support for integrating an 802.15.4 driver is now improved.
Changes
Removed
MPSL_RADIO_NOTIFICATION_DISTANCE_425US
and replaced it byMPSL_RADIO_NOTIFICATION_DISTANCE_420US
.On nRF53, the fix for Errata 16 is now applied.
The scheduling overhead of a timeslot event is reduced.
Bug fixes
Fixed an issue on nRF53 where an assert could occur when using a timeslot.
nRF Connect SDK v1.2.0
All the notable changes included in the nRF Connect SDK v1.2.0 release are documented in this section.
Added
Added a library version with preliminary support for the nRF5340 device. The feature set is the same as in the MPSL library for nRF52. The following library has been added:
soft-float/libmpsl.a
Changes
Removed
_nrf52
from the MPSL library file names.Version numbers have been removed from the libraries.
It is no longer allowed to call
mpsl_init()
if MPSL is already initialized.Clock configuration parameters for any stack that uses MPSL must be provided in
mpsl_clock_lfclk_cfg_t
tompsl_init()
. This now also involves clock accuracy.Clock accuracy must be specified in parts per million (ppm).
Renamed the MPSL clock API for the high-frequency and low-frequency clocks.
MPSL 0.5.0-1.prealpha
Initial release.
Added
Added the following MPSL library build variants:
hard-float/libmpsl_nrf52.a
soft-float/libmpsl_nrf52.a
softfp-float/libmpsl_nrf52.a