Changelog

Main Branch

Changes

  • Removed the mpsl_coex.h API. (DRGN-22567)

  • The timeslot implementation now starts TIMER0 a couple microseconds later. It now starts when the MPSL_TIMESLOT_SIGNAL_START callback is given.

Added

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 configure TIMER0 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() replaces mpsl_fem_pa_gain_set(). mpsl_fem_caps_get() replaces mpsl_fem_pa_is_configured(). The mpsl_tx_power_split_t structure contains the new field fem_pa_power_control to be used with the mpsl_fem_pa_power_control_set() function. The mpsl_fem_gain_t type is deprecated, please use mpsl_fem_pa_power_control_t type instead (KRKNWK-18729).

  • The FEM libraries for nRF2220 and nRF2240 no more link directly to the TWIM library.

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

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 the mpsl_fem_pin_t configuration is supported as a FEM pin configuration now (KRKNWK-16496).

Added

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 the mpsl_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 the mpsl_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 and mpsl_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. Changed mpsl_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

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 or MPSL_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 type MPSL_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 the include directory to the include/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 using mpsl_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

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 in mpsl_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 a session_id as input. The session id is retrieved from mpsl_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 by MPSL_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 to mpsl_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