Skip to content

Commit

Permalink
nrfx 3.0.0 release
Browse files Browse the repository at this point in the history
Signed-off-by: Nikodem Kastelik <[email protected]>
  • Loading branch information
nika-nordic committed Apr 25, 2023
1 parent 91ec616 commit 1c72117
Show file tree
Hide file tree
Showing 185 changed files with 32,190 additions and 20,958 deletions.
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,58 @@
# Changelog
All notable changes to this project are documented in this file.

## [3.0.0] - 2023-04-25
### Added
- Added the HALY layer for the following peripherals: COMP, DPPI, GPIO, GPIOTE, I2S, LPCOMP, PDM, PWM, QDEC, RTC, SAADC, SPIM, TEMP, TIMER, TWIM, UARTE, WDT. HALY is an extension of the HAL layer that aggregates basic hardware use cases within single functions. Now it is used instead of HAL in the corresponding drivers.
- Added functions for reconfiguring a peripheral outside of the initialization process in the following drivers: COMP, PDM, PWM, QDEC, QSPI, SPI, SPIM, SPIS, TIMER, TWI, TWIM, TWIS, UART, UARTE, WDT.
- Added multi-instance support for the I2S and QDEC drivers. Now a pointer to the driver instance needs to be specified in all relevant functions.
- Added the reportper_inten member to the configuration structure for the QDEC driver. It allows to explicitly enable interrupts associated with the REPORTRDY peripheral event.
- Added the NRFX_ERROR_FORBIDDEN error being returned from the nrfx_spim_init() function when a user attempts to configure a hardware-controlled and software-controlled chip select simultaneously.
- Added the NRFX_TIMER_FREQUENCY_STATIC_CHECK() macro to statically check if the given frequency is achievable for the specified TIMER instance.
- Added the NRFX_TWIM_XFER_DESC() macro to support creation of any type of TWIM transaction for the TWIM driver.
- Added auxiliary macros NRFX_KHZ_TO_HZ() and NRFX_MHZ_TO_HZ() for converting specified frequency value to Hertz.
- Added auxiliary macros for sophisticated handling of the preprocessor symbols to `nrfx_utils.h`.
- Added functions for getting the number of available channels and groups for a given peripheral instance in the DPPIC HAL.
- Added functions for getting the SEQSTART tasks and SEQEND events associated with a specified sequence index in the PWM HAL.
- Added the nrf_rtc_capture_task_get() function for getting the CAPTURE task associated with the specified CC channel in the RTC HAL.
- Added functions for managing the non-maskable watchdog interrupts in the WDT HAL.
- Added functions for getting the address of peripheral tasks and events in the EGU HAL.
- Added a function for enabling the watchdog STOP task in the WDT HAL.
- Added a function for getting the bitmask of all watchdog requests' statuses in the WDT HAL.
- Added a function for clearing the event and task endpoints for a given channel in the GPPI helper.

### Changed
- Renamed a macro from NRFX_VOLTAGE_THRESHOLD_TO_INT() to NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT() in the COMP HAL.
- Renamed functions for getting the task of event address in the following drivers: CLOCK, GPIOTE, PPI, SPIM, TWIM. Now they follow a common scheme.
- Renamed configuration structure members `hal` and `hal_config`, containing low-level peripheral settings, to `config` in the LPCOMP and UARTE drivers.
- Renamed a function from nrfx_pwm_is_stopped() to nrfx_pwm_stopped_check() in the PWM driver.
- Renamed a symbol from NRF_QDEC_LED_NOT_CONNECTED to NRF_QDEC_PIN_NOT_CONNECTED in the QDEC HAL. Now it is consistent with other, similar symbols.
- Changed the way the API version to be used is specified. Now the following dedicated symbols shall be defined to form the API version as a numerical value: NRFX_CONFIG_API_VER_MAJOR, NRFX_CONFIG_API_VER_MINOR, NRFX_CONFIG_API_VER_MICRO.
- Changed prototypes of several functions in the UARTE driver. Now all functions have a return value, and some of them accept additional parameters.
- Changed a type of configuration structure members that hold a pin number from `uint8_t` to `uint32_t` in the following drivers: I2S, PWM, SPIM.
- Changed the prototypes of the nrf_i2s_pins_set() and nrf_i2s_configure() functions in the I2S HAL. Now they accept a pointer to the configuration structure instead of several individual parameters.
- Changed a default value of the `gain` structure member from `1/6` to `1` in the SAADC driver configuration structure.
- Changed a type of the configuration structure member specifying the clock frequency from an enumeration to an unsigned integer in the TIMER driver. Now the timer clock frequency must be specified in Hertz. Use the NRFX_TIMER_FREQUENCY_STATIC_CHECK() macro to check if the requested frequency is achievable for a given TIMER instance.
- Changed a type of the configuration structure member specifying the clock frequency from an enumeration to an unsigned integer in the SPIM driver. Now the clock signal frequency must be specified in Hertz. Use the NRFX_SPIM_FREQUENCY_STATIC_CHECK() macro to check if the requested frequency is achievable for a given SPIM instance.
- Changed the prototype of the NRFX_TIMER_DEFAULT_CONFIG() macro in the TIMER driver. Now the desired timer clock frequency in Hertz needs to be specified as a parameter.
- Changed a prototype of the WDT driver callback. Now a bitmask specifying which reload request caused the timeout is provided.
- Changed the prototype of the initialization and callback functions of the QDEC driver. Now the user context can be provided and accessed during the interrupt handler execution.
- Removed the deprecated nrf_gpio_pin_mcu_select() function and the corresponding nrf_gpio_pin_mcusel_t enumerator. Use the nrf_gpio_pin_control_select() function and the nrf_gpio_pin_sel_t enumerator instead.
- Removed the deprecated and spurious NRF_QDEC_REPORTPER_DISABLED symbol from the QDEC HAL.
- Removed the deprecated nrf_qdec_pio_assign() function from the QDEC HAL. Use the nrf_qdec_pins_set() function instead.
- Removed the deprecated nrf_timer_frequency_set() and nrf_timer_frequency_get() functions in the TIMER HAL. Use nrf_timer_prescaler_set() and nrf_timer_prescaler_get() instead.
- Removed symbols that mark a pin as unused in the following drivers: I2S, PWM, SPIM, SPIS. Now the HAL variant should be used instead.
- Removed deprecated functions from the GPIOTE driver. Use new functions instead.
- Removed the deprecated callback prototype in the IPC driver. Use a new variant instead.
- Removed the following redundant functions from the PWM driver: nrfx_pwm_sequence_values_update(), nrfx_pwm_sequence_length_update(), nrfx_pwm_sequence_repeats_update(), nrfx_pwm_sequence_end_delay_update(). Use the nrfx_pwm_sequence_update() function instead.
- Moved static inline functions from the header file to the source file in the GPPI helper.
- Refactored the method of configuring pins that should use inverted polarity in the PWM driver. Now an array inside driver configuration structure needs to be used instead of masking the pin number value. As a consequence, the NRFX_PWM_PIN_INVERTED symbol was removed.
- Renamed configuration structure members used for setting peripheral pins in the following drivers: PDM, TWIM, TWIS, UARTE. Now they use a common scheme.
- Renamed the nrf_wdt_started() and nrf_wdt_request_status() functions in the WDT HAL. Now they are named as nrf_wdt_started_check() and nrf_wdt_request_status_check() respectively.

### Fixed
- Fixed a misleading description for the nrf_rtc_event_disable() function in the RTC HAL. It accepts a bitmask of events instead of a single event.

## [2.11.0] - 2023-04-07
### Added
- Added support for the nRF9161 and nRF9131 SiPs. Use `NRF9120_XXAA` as the compilation symbol.
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ SoCs, as well as startup and initialization files for them.
│ ├── include # nrfx driver headers
│ └── src # nrfx driver sources
├── hal # Hardware Access Layer files
├── haly # Extended Hardware Access Layer files
├── helpers # nrfx driver helper files
├── mdk # nRF MDK files
├── soc # SoC specific files
Expand Down
16 changes: 16 additions & 0 deletions doc/config_dox/nrfx_common_dox_config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* @defgroup nrfx_common_config Common configuration
* @{
* @ingroup nrfx
*/

/** @brief Symbol specifying major version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MAJOR

/** @brief Symbol specifying minor version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MINOR

/** @brief Symbol specifying micro version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MICRO

/** @} */
2 changes: 1 addition & 1 deletion doc/drv_supp_matrix.dox
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The following matrix provides a comparative overview of which drivers are suppor
| @ref nrf_dppi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
| @ref nrf_ecb |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_egu |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_ficr |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_icr |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_fpu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
| @ref nrf_gpio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_gpiote |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
Expand Down
2 changes: 1 addition & 1 deletion doc/nrf51_series.dox
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_ecb

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52805.dox
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52810.dox
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52820.dox
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52832.dox
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52833.dox
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf52840.dox
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf5340.dox
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_fpu

Expand Down
2 changes: 1 addition & 1 deletion doc/nrf91_series.dox
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_egu

@ref nrf_ficr
@ref nrf_icr

@ref nrf_gpio

Expand Down
13 changes: 8 additions & 5 deletions doc/nrfx.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ PROJECT_NAME = "nrfx"

### EDIT THIS ###

PROJECT_NUMBER = "2.11"
PROJECT_NUMBER = "3.0"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down Expand Up @@ -281,7 +281,8 @@ TAB_SIZE = 4

ALIASES = "tagGreenTick=\htmlonly<CENTER><font color=\"green\">✔</font></CENTER>\endhtmlonly \xmlonly<verbatim>embed:rst:inline :green:`✔`</verbatim>\endxmlonly" \
"tagRedCross=\htmlonly<CENTER><font color=\"red\">✖</font></CENTER>\endhtmlonly \xmlonly<verbatim>embed:rst:inline :red:`✖`</verbatim>\endxmlonly" \
"nRF5340pinAssignmentsURL=\"https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf5340%2Fchapters%2Fpin.html\""
"nRF5340pinAssignmentsURL=\"https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf5340%2Fchapters%2Fpin.html\"" \
"refhal{1}=\sa \1 \copydoc \1"

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
Expand Down Expand Up @@ -917,14 +918,15 @@ WARN_LOGFILE = warnings_nrfx.txt

### EDIT THIS ###

INPUT = ../helpers \
INPUT = config_dox \
../helpers \
../drivers \
../hal \
../haly \
../soc \
../templates/nrfx_glue.h \
../templates/nrfx_log.h \
../CHANGELOG.md \
config_dox \
.

# This tag can be used to specify the character encoding of the source files
Expand Down Expand Up @@ -2297,7 +2299,8 @@ INCLUDE_FILE_PATTERNS =
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

PREDEFINED = SUPPRESS_INLINE_IMPLEMENTATION \
__NRFX_DOXYGEN__
__NRFX_DOXYGEN__ \
__PACKED=

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
Expand Down
5 changes: 3 additions & 2 deletions doc/nrfx_api.dox
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@

@defgroup nrf_egu EGU

@defgroup nrf_ficr FICR

@defgroup nrf_fpu FPU

@defgroup nrf_gpio GPIO
Expand All @@ -39,6 +37,8 @@

@defgroup nrf_i2s I2S

@defgroup nrf_icr ICR

@defgroup nrf_ipc IPC

@defgroup nrf_kmu KMU
Expand Down Expand Up @@ -102,6 +102,7 @@
@defgroup nrf_vmc VMC

@defgroup nrf_wdt WDT

@}

@defgroup nrfx nrfx API
Expand Down
2 changes: 1 addition & 1 deletion doc/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@

c_id_attributes = [
"NRF_STATIC_INLINE",
"NRFY_STATIC_INLINE",
"NRFX_STATIC_INLINE",
"__STATIC_INLINE",
]
cpp_id_attributes = c_id_attributes


def setup(app):
app.add_css_file("css/nrfx.css")
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/comp/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
COMP HALY
=========

.. doxygengroup:: nrfy_comp
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/dppi/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
DPPI HALY
=========

.. doxygengroup:: nrfy_dppi
:project: nrfx
:members:
9 changes: 0 additions & 9 deletions doc/sphinx/drivers/ficr/index.rst

This file was deleted.

6 changes: 6 additions & 0 deletions doc/sphinx/drivers/gpio/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
GPIO HALY
=========

.. doxygengroup:: nrfy_gpio
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/gpiote/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
GPIOTE HALY
===========

.. doxygengroup:: nrfy_gpiote
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/i2s/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
I2S HALY
========

.. doxygengroup:: nrfy_i2s
:project: nrfx
:members:
9 changes: 9 additions & 0 deletions doc/sphinx/drivers/icr/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ICR
===

.. doxygengroup:: nrf_icr

.. toctree::
:glob:

../ficr/hal.rst
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/lpcomp/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
LPCOMP HALY
===========

.. doxygengroup:: nrfy_lpcomp
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/pdm/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
PDM HALY
========

.. doxygengroup:: nrfy_pdm
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/pwm/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
PWM HALY
========

.. doxygengroup:: nrfy_pwm
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/qdec/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
QDEC HALY
=========

.. doxygengroup:: nrfy_qdec
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/rtc/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
RTC HALY
========

.. doxygengroup:: nrfy_rtc
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/saadc/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
SAADC HALY
==========

.. doxygengroup:: nrfy_saadc
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/spim/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
SPIM HALY
=========

.. doxygengroup:: nrfy_spim
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/temp/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TEMP HALY
=========

.. doxygengroup:: nrfy_temp
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/timer/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TIMER HALY
==========

.. doxygengroup:: nrfy_timer
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/twim/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TWIM HALY
=========

.. doxygengroup:: nrfy_twim
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/uarte/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
UARTE HALY
==========

.. doxygengroup:: nrfy_uarte
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/wdt/haly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
WDT HALY
========

.. doxygengroup:: nrfy_wdt
:project: nrfx
:members:
Loading

0 comments on commit 1c72117

Please sign in to comment.