Skip to content

Commit

Permalink
nrfx 2.5.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
nika-nordic committed May 5, 2021
1 parent c7c5127 commit 7eca6c2
Show file tree
Hide file tree
Showing 479 changed files with 7,871 additions and 4,089 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
doc/html/*
doc/html_sphinx/*
doc/xml/*
doc/warnings_nrfx.txt
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,32 @@
# Changelog
All notable changes to this project are documented in this file.

## [2.5.0] - 2021-05-05
### Added
- Added support for double-buffered transfers in the QSPI driver.
- Added support for one-by-one channel configuration in the SAADC driver.
- Added critical sections for channel allocation and deallocation in the DPPI driver.
- Added support for generating documentation in the RST format using Sphinx tool.
- Added high-drive pin configuration in the QSPI, TWIM, and SPIM drivers.
- Added report period setting of 1 sample in the QDEC HAL.
- Implemented workaround for nRF53 Series anomaly 121 in the QSPI driver.

### Changed
- Updated MDK to version 8.40.2.
- Removed implicit channel deallocation during initialization in the GPIOTE driver.
- Restricted pins that are supported for specific configuration on nRF5340 in the QSPI, TWIM, and SPIM drivers.
- Aligned IRQ handler symbols to new naming scheme for nRF53 Series.

### Fixed
- Fixed register access sequence in the COMP driver.
- Fixed memory corruption when uninitialized channel was freed in the GPIOTE driver.
- Fixed spurious access of DCX pin for every instance of the peripheral when extended features were enabled in the SPIM driver.
- Fixed overwrite of MCUSEL configuration in the nrf_gpio_cfg() function.
- Fixed driver behavior for zero-length transfer in the TWIM driver.
- Fixed internal state handling when transfer is aborted before finishing in the TWI and TWIM drivers.
- Corrected assertions for MPS requirements in the USBD driver.
- Corrected symbol describing maximum data payload for a full-speed isochronous endpoint in the USBD driver.

## [2.4.0] - 2020-11-13
### Added
- Added the channel allocator feature in the GPIOTE driver.
Expand Down
4 changes: 3 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Copyright (c) 2017 - 2020, Nordic Semiconductor ASA
Copyright (c) 2017 - 2021, Nordic Semiconductor ASA
All rights reserved.

SPDX-License-Identifier: BSD-3-Clause

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,4 @@ SoCs, as well as startup and initialization files for them.

nrfx documentation is available in the `doc\html` folder of the release package.

You can also generate documentation yourself from the source code. To do it, install doxygen
and run one of the scripts: `generate_html_doc.bat` or `generate_html_doc.sh`. Generated
documentation will be stored in the `doc\html` directory. Use `index.html` to open it.
Refer to [this guide](doc/README.md) for more details.
44 changes: 44 additions & 0 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# nrfx documentation

## Doxygen

You can generate `doxygen` based documentation by running

```shell
doxygen nrfx.doxyfile
```

You may want to use the provided scripts `generate_html_doc.sh` or
`generate_html_doc.bat`. The result can be viewed by opening
`html/index.html`.

## Sphinx

All the necessary files to compile the Sphinx based documentation for `nrfx`
are located under `sphinx` folder. As of today the content should match with
the one produced using `doxygen` only.

### Requirements

You will need to have Python 3 installed as well as some dependencies, which can
be installed by running:

```shell
pip install -r requirements.txt
```

### Build

You may want to use the provided scripts `generate_sphinx_doc.sh` or
`generate_sphinx_doc.bat`. The result can be viewed by opening
`html_sphinx/index.html`.

If you want to do it manually you can run the following commands from `doc`
directory:

```shell
# compile doxygen documentation (required to generate XML metadata)
doxygen nrfx.doxyfile
# compile Sphinx documentation
sphinx-build -b html sphinx html_sphinx
```
1 change: 0 additions & 1 deletion doc/drv_supp_matrix.dox
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ The following matrix provides a comparative overview of which drivers are suppor
| @ref nrf_qdec |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_qspi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_radio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_reset |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
| @ref nrf_rng |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_rtc |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_saadc |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
Expand Down
2 changes: 1 addition & 1 deletion doc/generate_html_doc.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
del html\*.* /Q
del html\*.* xml\*.* /Q
doxygen nrfx.doxyfile
2 changes: 1 addition & 1 deletion doc/generate_html_doc.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
rm -rf html
rm -rf html xml
doxygen nrfx.doxyfile
3 changes: 3 additions & 0 deletions doc/generate_sphinx_doc.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
del html\*.* xml\*.* html_sphinx\*.* /Q
doxygen nrfx.doxyfile
sphinx-build -b html sphinx html_sphinx
3 changes: 3 additions & 0 deletions doc/generate_sphinx_doc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
rm -rf html xml html_sphinx
doxygen nrfx.doxyfile
sphinx-build -b html sphinx html_sphinx
7 changes: 4 additions & 3 deletions doc/main_page.dox
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ In addition, the following locations should be specified as include paths
[nrfx]/mdk
@endcode

@note nrfx API functions do not provide thread safety themselves. Users are responsible
for providing the proper synchronization of the nrfx function calls in a given environment
if those are to be used from different contexts.
@note Unless otherwise stated, nrfx API functions do not provide thread safety
themselves. Users are responsible for providing the proper synchronization
of the nrfx function calls in a given environment if those are to be used
from different contexts.

@section nrfx_irq_handlers IRQ handlers

Expand Down
2 changes: 0 additions & 2 deletions doc/nrf5340.dox
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_radio

@ref nrf_reset

@ref nrf_rng

@ref nrf_rtc
Expand Down
9 changes: 5 additions & 4 deletions doc/nrfx.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ PROJECT_NAME = "nrfx"

### EDIT THIS ###

PROJECT_NUMBER = "2.4"
PROJECT_NUMBER = "2.5"

# 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 @@ -235,8 +235,9 @@ TAB_SIZE = 4
# newlines (in the resulting output). You can put ^^ in the value part of an
# alias to insert a newline as if a physical newline was in the original file.

ALIASES = tagGreenTick="@htmlonly<CENTER><font color=\"green\">✔</font></CENTER>@endhtmlonly" \
tagRedCross="@htmlonly<CENTER><font color=\"red\">✖</font></CENTER>@endhtmlonly"
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\""

# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
Expand Down Expand Up @@ -1932,7 +1933,7 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation.
# The default value is: NO.

GENERATE_XML = NO
GENERATE_XML = YES

# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
Expand Down
2 changes: 0 additions & 2 deletions doc/nrfx_api.dox
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@

@defgroup nrf_radio RADIO

@defgroup nrf_reset RESET

@defgroup nrf_rng RNG

@defgroup nrf_rtc RTC
Expand Down
3 changes: 3 additions & 0 deletions doc/sphinx/_static/css/nrfx.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:root {
--docset-color: #412ee8;
}
7 changes: 7 additions & 0 deletions doc/sphinx/api_reference.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
API Reference
=============

.. toctree::

drivers/index
nrfx_api/index
1 change: 1 addition & 0 deletions doc/sphinx/changelog.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.. mdinclude:: ../../CHANGELOG.md
51 changes: 51 additions & 0 deletions doc/sphinx/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env python3

from pathlib import Path
import re


CONF_DIR = Path(__file__).absolute().parent
"""conf.py directory."""

with open(CONF_DIR / ".." / "nrfx.doxyfile") as f:
VERSION = re.search(r'PROJECT_NUMBER\s+=\s+"(.*)"', f.read()).group(1)

# General configuration --------------------------------------------------------

project = "nrfx"
copyright = "2021, Nordic Semiconductor ASA"
author = "Nordic Semiconductor"
version = VERSION

extensions = ["breathe", "m2r2"]
source_suffix = {
".rst": "restructuredtext",
".md": "markdown"
}
master_doc = "index"
exclude_patterns = ["theme"]

# Options for HTML output ------------------------------------------------------

html_theme = "sphinx_ncs_theme"
html_static_path = [str(CONF_DIR / "_static")]
html_last_updated_fmt = "%b %d, %Y"
html_show_sphinx = False

# Options for Breathe ----------------------------------------------------------

breathe_projects = {"nrfx": str(CONF_DIR / ".." / "xml")}
breathe_default_project = "nrfx"
breathe_domain_by_extension = {"h": "c", "c": "c"}
breathe_separate_member_pages = True

c_id_attributes = [
"NRF_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/aar/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
AAR HAL
=======

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

.. doxygengroup:: nrf_aar

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/acl/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ACL HAL
=======

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

.. doxygengroup:: nrf_acl

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/adc/driver.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ADC driver
==========

.. doxygengroup:: nrfx_adc
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/adc/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ADC HAL
=======

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

.. doxygengroup:: nrf_adc

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/bprot/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
BPROT HAL
=========

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

.. doxygengroup:: nrf_bprot

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/cache/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CACHE HAL
=========

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

.. doxygengroup:: nrf_cache

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/ccm/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CCM HAL
=======

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

.. doxygengroup:: nrf_ccm

.. toctree::
:glob:

*
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/clock/driver.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CLOCK driver
============

.. doxygengroup:: nrfx_clock
:project: nrfx
:members:
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/clock/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CLOCK HAL
=========

.. doxygengroup:: nrf_clock_hal
:project: nrfx
:members:
10 changes: 10 additions & 0 deletions doc/sphinx/drivers/clock/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CLOCK
=====

.. doxygengroup:: nrf_clock

.. toctree::
:glob:

*
../oscillators/hal.rst
Loading

0 comments on commit 7eca6c2

Please sign in to comment.