Commit graph

237 commits

Author SHA1 Message Date
Michael Jones
20986ec45d doc: Switch to using docleaf for doxygen entities
This switches the Sphinx conf.py file over to using the
'docleaf.doxygen' module and the associated docleaf configuration
entries, replacing the breathe module and config.

Signed-off-by: Michael Jones <m.pricejones@gmail.com>
2023-07-03 10:05:52 +00:00
Anas Nashif
79d610a893 doc: release: remove old version from index
Remove old releases from documentation index.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-16 13:29:34 -04:00
Anas Nashif
7ce8b5598c doc: update LTS2 version in docs
LTS is now 2.7.5.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-16 12:12:40 -04:00
Anas Nashif
aa8c6aa067 doc: remove releases before 2.7 from index
Remove all old releases from the index.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-16 12:12:40 -04:00
Anas Nashif
ee72dfa5e2 doc: add 3.4.0 to the index of releases
Add the new release to the doc index.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-16 12:12:40 -04:00
Marc Herbert
9d11943194 Revert "doc: enable figures enumeration" cause numfig is too slow
This reverts commit 4516117e9f.

A git bisect showed that the duration of an incremental build doubled
after this commit enabled `numfig=True`. Measurements shared and
discussed in #37572, #55708 and #56631 confirmed this. Here are yet more
measurements below in two different system configurations building docs
for very recent Zephyr commit b10817ba25 + all `:numref:` removed by
the previous commit. In other words these numbers show the cost of
`numfig=True` _without_ even using `:numref:`.

* Ubuntu 22, 8 cores
  sphinx-build --version 4.3.2

                           numfig=True   numfig=False

- from scratch             7 min 15 s       6 min 40 s

- one-line .rst change           48 s             24s

* Current Arch Linux, 72 cores
  sphinx-build --version 6.2.1

                           numfig=True   numfig=False

- from scratch              5 min 0 s      4 min 50 s

- one-line .rst change           37 s            18 s

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-05-22 11:08:53 +02:00
Carlo Caione
de90dfccbc syscall: Introduce __syscall_always_inline
Sometimes we want to force the inlining of a __syscall. Introduce a new
__syscall_always_inline symbol to do that.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-04-20 14:56:09 -04:00
Marti Bolivar
ee4b134dd6 doc: add snippets documentation
Document this new build system feature.

Since its purpose is customizing application builds, the logical place
for the main body of documentation is in a new snippets/ directory in
doc/build/. Create that directory and add its initial documentation.

Like boards and samples, however, we expect people to write
documentation for each snippet within the directory that defines the
snippet itself. Therefore, add a new top-level snippets/ directory and
stub out the documentation needed to document individual snippets as
well.

Add documentation and cross-references in other required places as
well.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-03-26 16:12:41 +02:00
Stephanos Ioannidis
e62acf92d8 doc: conf: Add 3.3.0 release to version list
This commit adds the Zephyr 3.3.0 release to the documentation version
list.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-02-17 19:46:53 +09:00
Benjamin Cabé
d1ec6f7aaf doc: set documentation base URL to /latest
Help search engines flag "latest" version of the documentation as
the canonical source by setting Sphinx's html_baseurl.
Fixes #54749.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-02-16 22:48:51 +09:00
Benjamin Cabé
3f009bd834 doc: Remove Google Analytics tracking code
This removes Google Analytics related code from the generated
documentation.
Fixes #54873

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-02-16 07:40:34 +09:00
Benjamin Cabé
0eb9c51f5a doc: Improve navigation towards LTS documentation.
Fixed the version selector so that it links to latest version of the LTS
release instead of 2.7.0.
Fixes #54786

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-02-14 14:02:12 +01:00
Benjamin Cabé
a7dee148c3 doc: Update copyright notice in the documentation
Update copyright notice to reflect current year.
Fixes #54763.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-02-13 19:39:14 +09:00
Gaute Svanes Lunde
6acdb1b73a doc: extensions: add custom role 'module_file'
Added another custom role `module_file` which functions like
`zephyr_file` but for any module in the west manifest.

The new role must take a module as an argument. Example syntax:

```rst
:module_file:`module-name: path/within/module`
```

or with custom link text:

```rst
:module_file:`my link text <module-name: path/within/module>`
```

This change also moves the hardcoded project name and link to
github to `doc/conf.py` by adding the configuration values
`link_roles_manifest_project` and `link_roles_manifest_baseurl`

Signed-off-by: Gaute Svanes Lunde <gaute.lunde@nordicsemi.no>
2022-11-11 11:02:03 +01:00
Fabio Baltieri
896935066b doc: conf: add release version 3.2.0
Add release version 3.2.0 to the documentation version list.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-09-30 11:31:32 -05:00
Gerard Marull-Paretas
41566e2502 doc: add support for linkcheck
This patch adds support for the `linkcheck` Sphinx builder, so that we
can easily check for broken links in the documentation.

It can be run like this:

ninja linkcheck

Or, using the Makefile shim:

make linkcheck

All Zephyr Github issues links are ignored, since we have lots of these
URLs and they quickly hit GH rate limit. They have small chance to be
incorrect, so we should be ok.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-09-23 17:28:47 +00:00
Gerard Marull-Paretas
f9ccac29cd doc: delete dead JIRA links
Zephyr JIRA instance is no longer available. Make JIRA links literals.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-09-23 17:28:47 +00:00
Gerard Marull-Paretas
038ce40c7a doc: add nitpicky mode ignores
The nitpicky mode warns about any broken reference. It is useful to keep
docs in good shape, however, there are some references that will never
be resolvable. Provide an initial list to decrease the number of
warnings that are not relevant/can't be fixed.

Note that the Sphinx nitpicky mode can be enabled by either setting
`nitpicky = True` in `doc/conf.py` or by setting the `-n` flag in
`SPHINXOPTS`.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-26 11:57:26 +02:00
Gerard Marull-Paretas
2a93e8cc44 doc: add missing caption for extlinks
Starting with Sphinx 6.0, extlinks caption with %s will be required.
Sphinx 5.x already warns about this requirements, so fix it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-12 11:04:26 +02:00
Martí Bolívar
2ddd73feaf release: Zephyr 3.1.0
Update versions for release v3.1.0.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-06-05 13:19:10 +02:00
Anas Nashif
6e9a43be79 doc: move DTS under Build/Configuration systems section
Move all DTS guides and APIs under Build/Configuration system.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-04-07 16:35:19 +02:00
Gerard Marull-Paretas
e9d2cea2a3 doc: enable sphinx-copybutton extension
The sphinx-copybutton extension adds a button to every code snippet
that, when clicked, copies the code to the clipboard.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-25 15:05:13 -07:00
Gerard Marull-Paretas
fc942ef7d3 doc: use new kconfig extension
Enable the new extension and delete usage of the old script/extensions.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-02 09:28:37 +01:00
Gerard Marull-Paretas
45eaa60fe4 doc: silent filtered warnings
The filtered warnings are warnings we can't fix due to Sphinx
limitations, so showing them just adds noise to the doc build process.
The extension already defaults to silent mode.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-02-22 16:02:56 -08:00
Dan Kalowsky
3e084ac5c4 doc/conf.py: add release version 3.0.0
Add release version 3.0.0 to the documentation selection.

Signed-off-by: Dan Kalowsky <dank@deadmime.org>
2022-02-21 14:39:23 -08:00
Dan Kalowsky
2a8fa6f094 doc/conf.py: update copyright to 2022
Update copyright time frame.

Signed-off-by: Dan Kalowsky <dank@deadmime.org>
2022-02-21 14:39:23 -08:00
Christopher Friedt
f2d675b7c5 doc: spinlock: ensure spinlock api is added to doxygen
Previously, `k_spin_lock()` and friends had broken links
in html docs.

Fixes #42373

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2022-02-02 08:57:14 -05:00
Gerard Marull-Paretas
ab64a67008 doc: conf: specify which variable is used for output directory
This is needed so that it can be re-used by other Doxygen configuration
entries.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-01-18 13:14:05 -05:00
Gerard Marull-Paretas
204860857e doc: do not use any as default role
References should be maded using the appropriate role, e.g. :ref:,
:c:func:, :kconfig:, etc.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-12-10 16:43:34 -05:00
Gerard Marull-Paretas
b4f968cf9d doc: add a toctree with reference material
Add a new toctree with reference material, including:

- API docs (Doxygen)
- Kconfig options
- Devicetree bindings

Note that the toctree is rendered manually due to the limitations Sphinx
has when it comes to including relative URLs. Hardcoding absolute URLs
in toctrees is possible, but that means we'd need to update the toctree
on every release (to point to /version/ URL), and downstream users of
the documentation would have to manually patch the toctree with their
own URL. In order to make local builds work, version prefix is only
added if publish tag is provided.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-11-02 13:24:40 +01:00
Gerard Marull-Paretas
fe7529f917 doc: enable vcs_link extension
Enable the vcs_link extension so that pages contain "Open on Github"
link at the top.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-10-26 17:00:56 +02:00
Gerard Marull-Paretas
4516117e9f doc: enable figures enumeration
Enable figures enumeration. This option allows to use :numref: in order
to reference figures, thus allowing more precise references other than
"the figure below" or similar.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-10-25 15:26:47 -05:00
Gerard Marull-Paretas
d7b7bb1e75 doc: drop 2.2.0 version
Drop the 2.2.0 version entry so that its link is removed from the docs
drop-down list.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-10-19 12:08:04 -04:00
Gerard Marull-Paretas
9130455677 doc: add 2.7.0 release to versions list
Add 2.7.0 to the version list so that a link to it is created on the
documentation drop-down list.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-10-19 12:08:04 -04:00
Gerard Marull-Paretas
a42ee8bd04 doc: doxygen: add version and shorten brief
Render Zephyr version in both, standalone Doxygen build and Sphinx
controlled build. In standalone mode, the package version given by
find_package(Zephyr...) is used, while in Sphinx build the conf.py
version is used.

The project brief has been shortened to make project title more compact
while still containing relevant information.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-10-07 11:54:23 -04:00
Gerard Marull-Paretas
2f5a9d033d doc: improve latex look and feel
This patch improves the general look and feel of the LaTeX (PDF)
documentation build. Changes include:

- A custom title with relevant information has been created
- Some colors have been adjusted to match those in the web template
- Charter font family is used

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-22 19:37:03 +03:00
Gerard Marull-Paretas
1829dc8875 doc: do not use env vars to discover paths
ZEPHYR_BASE and ZEPHYR_BUILD directories were passed to Sphinx via
environment variables. However, these paths can be easily discovered by
the conf.py file itself. As a result, Sphinx is less dependent on CMake
to operate.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-21 07:28:18 -04:00
Gerard Marull-Paretas
4127138475 doc: enable graphviz extension
Enable the built-in Sphinx Graphviz extension to allow creating Graphviz
diagrams natively on the source files. Some style defaults have been
enabled to make sure diagrams are consistent and have good quality in
both light and dark modes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-20 19:54:52 -04:00
Gerard Marull-Paretas
1cecfe7348 doc: move favicon to static folder
Similar to other assets, e.g. logo, move favicon to the static folder.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-19 20:06:00 -04:00
Anas Nashif
cadd062ce4 doc: create an index for PDF files
Most of the content in the default index is HTML only, so create an
index just for PDF and keep it clean.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-07-15 07:07:21 -04:00
Gerard Marull-Paretas
a9b1c42f40 doc: extensions: remove eager_only
The eager_only is currently breaking the usage of the `.. only``
directive, so remove it. Documentation seems to build fine without it,
so it has been removed for now.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-30 08:29:01 -04:00
Gerard Marull-Paretas
9dfbdf1997 doc: use kconfig role and directive
Stop using :option: for Kconfig options.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-29 10:26:28 -04:00
Gerard Marull-Paretas
45cce736e2 doc: fix notfound prefix for latest docs
The notfound extension prefix was incorrect for 'latest' docs version.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-22 06:34:51 -04:00
Kumar Gala
79a6c07536 release: Updates for v2.6.0
VERSION and conf.py updates for v2.6.0 release

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 16:07:47 -05:00
Gerard Marull-Paretas
4dd15539a9 doc: use external_content
Use external_content Sphinx extensions to gather documentation sources.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-25 19:38:11 +02:00
Gerard Marull-Paretas
830de4c905 doc: conf: remove unused breathe project
the `doc-examples` project is not used and, in fact, is a duplicate of
the Zephyr project.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 20:04:51 +02:00
Gerard Marull-Paretas
2d06ad7ee4 doc: make some Sphinx config path absolute
Make all paths absolute.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 20:04:51 +02:00
Gerard Marull-Paretas
95d8d2cc58 doc: fix 404 page
Sphinx handling of 404 page is not that easy when using theme
customizations. Enabled the `sphinx-notfound-page` extension (maintained
by readthedocs) to fix its displaying.

Also adjusted Zephyr logo (was causing some Sphinx processing errors
when trying to scale it).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 16:48:39 -04:00
Gerard Marull-Paretas
073c8cf849 doc: remove scrolling customizations
The scrolling customizations were used to hide the logo when scrolling
down. With this change, logo is always displayed.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 16:48:39 -04:00
Gerard Marull-Paretas
f0d3db29ed doc: show logo only
Since logo already brings to home page, remove the link displayed above.
It saves some vertical pixels while making docs nicer. Also adjusted
wy-menu-vertical max-height to account for the new height (note: was
wrong before).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 16:48:39 -04:00
Gerard Marull-Paretas
0e503418ad doc: enable members option by default when using breathe
Enable the :members: option by default when using breathe directives.
This exposes automatically stuff like structure fields.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 06:21:53 -04:00
Gerard Marull-Paretas
aad84e702a doc: doxygen: do not use separate member pages
When this option is enabled some data structures have missing pages. Use
the default setting (NO).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 06:21:53 -04:00
Gerard Marull-Paretas
457f3a46d6 doc: use doxyrunner
doxyrunner plugin replaces a series of CMake+Python hacks. These include
input changes tracking and incremental build output simulation.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-06 13:19:19 +02:00
Gerard Marull-Paretas
aa0b02bf75 doc: use pygments devicetree language support
Since Pygments 2.7.0 devicetree syntax is supported, so there is no need
to use a custom lexer. Version 2.9.0 introduces a fix that is required
for some devicetree snippets.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-04 22:42:15 -04:00
Gerard Marull-Paretas
a6d8c232e0 doc: new look and feel
A new look and feel for the Zephyr documentation. It is largerly based
on the work done by Godot Engine docs, but with some Zephyr specific
customizations.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-04-20 19:17:15 +02:00
Nicolas Pitre
0dc7b9ee46 k_current_get(): make it a "const" function
This function always returns the same value for a given thread.
Add the const attribute to it so the compiler won't call it over and
over needlessly each time _current is referenced, making for far more
efficient code.

The __attribute_const__ symbol is used to mimic the Linux equivalent.
We want to make it clear that this is distinct from the const keyword.

Fix the test_x86_cpu_scrubs_regs where the compiler wasn't told that a
bunch of registers are being clobbered as highlighted by this change.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-04-14 20:32:05 -04:00
Gerard Marull-Paretas
96c7d10a15 doc: use warnings_filter
Replace current filter setup with the warnings_filter Sphinx extension.
Note that current regexes have been simplified to make them more
readable while keeping the most relevant information.

Sphinx warnings are now treated as errors (-W).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-07 14:15:29 +02:00
Gerard Marull-Paretas
f4edff068f doc: format configuration file
Format the configuration file so that it is more consistent (e.g.
uniform usage of single/double quotes).

Some minor cleanup performed too: removed some comments and a default
setting.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
4b09faf4b9 doc: use pathlib for paths in configuration file
Switch to pathlib to make configuration more readable. sys.exit has been
replaced with an exception so that in case of failure error is displayed
(error details were hidden).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
7abf838394 doc: use regex to parse Zephyr version
Simplify the logic of version extraction by using regexes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
d45079aca1 doc: remove unicode prefix from strings
This is not needed on Python 3.x as it's the default.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
603e875ab8 doc: organize configuration sections better
Organize configuration sections per group (project, general, HTML,
plugin options...).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
0312b0ba7f doc: move imports to the top of the file
Some are not really at the top because of path inserts, but are as up as
possible.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
4114d6e16b doc: simplify some html_context logic
Simplify is_release and docs_title logic and move it closer to where it
is used.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
2b9b16360e doc: add configuration reference and remove parameter details
It is easy to have out-of-date comments since Sphinx settings evolve
(defaults, behavior...). A reference to the official documentation is
provided at the top of the file instead.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
c166f93442 doc: remove settings for unused builders
manpage, texinfo and htmlhelp builders are not used, so remove their
settings as they are redundant.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
b2469e1dec doc: move redirects to a utility module
Isolate the list of redirects in order to improve conf.py readability.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
4d624c0a6e doc: remove Sphinx defaults
Remove settings that are Sphinx defaults in order to simplify
configuration.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
cbe7a78635 doc: remove commented options from config
Remove options that are commented out from conf.py. It improves
readability of the file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
a4ea28236c doc: move all css files to _static/css
Move all CSS files to the _static/css subfolder.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
bbab8152ce doc: move all js files to _static/js
Move all Javascript files to the _static/js subfolder.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
38b1f7a15e doc: move extensions to _extensions
Move all Sphinx related content to folders prefixed with an underscore.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Gerard Marull-Paretas
6b1a7faf92 doc: move static folder to _static
Move static content to _static. It is better to prefix all Sphinx
related folders with an underscore to emphasize that the folder does not
contain actual documentation. Static content gets copied into _static
folder when documentation is built, so it also makes things more
consistent.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-31 10:39:48 +02:00
Martí Bolívar
e4c0783bfd doc: add new :dtcompatible: role / directive
This allows RST documentation to do something like this:

   See :dtcompatible:`vnd,foo` for more information.

This is transformed into a link to documentation for the "vnd,foo"
compatible.

Some devicetree compatibles may be handled by multiple bindings.
This can happen when the binding file is bus-dependent. Therefore, to
make this work, we need to change the way gen_devicetree_rest.py works
to ensure we have a good source of information for this compatible
regardless of how many bindings are associated with as follows:

- When only a single binding is associated with a compatible, the
  :dtcompatible: link goes directly to the per-binding HTML page.

- When multiple bindings are associated with a compatible, this goes
  to a new generated "disambiguation" page which links to all the
  per-binding pages.

To avoid clashes, we stick the disambiguation pages into a
compatibles/ subdirectory of the generated bindings index root
directory.

Also reorganize the generated bindings output directory into
.../bindings/subdir/binding.rst files. For example,
dts/bindings/arm/arm,dtcm.yaml now gets its generated content in
.../bindings/arm/arm,dtcm.rst.

This brings the 'category' of binding (like 'sensor', 'i2c', etc.)
into the URL, which is a useful hint.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-29 16:33:51 +02:00
Mikkel Jakobsen
4cd0199406 doc: update doc footer copyright year
Update the documentation footer copyright year.

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@prevas.dk>
2021-03-19 19:17:20 +01:00
Anas Nashif
ccc185be63 doc: add 2.5.0 to pick list
Add 2.5 to release list to be shown on documentation side bar.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 09:58:55 -05:00
Martí Bolívar
673474b020 doc: clean up west index
Rename the 'basics' page to basics.rst, adding a redirect for the old
title.

Rearrange some other index pages to improve the flow:

- Put relatively stale content in moving-to-west.rst to the bottom. I
  expect pepole have either moved west or are choosing not to.

- Promote the release notes page higher up, since that seems more
  important.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
e36fc11100 doc: sort redirects
Just to keep things easier to find.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Gerson Fernando Budke
43a0dbe260 doc: guides: debugging: Move to flash_debug dir
The debugging section was generalized for flash and debugging tools.
The links were refactored accordly and all references were updated.
To be consistent, the directory doc/guides/debbugging was renamed to
doc/guides/flash_debug.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2020-12-03 10:50:23 -06:00
Fabio Utzig
8cd7ed1980 doc: bump breathe requirement to >=4.23.0
Breathe>=4.23.0 brings in basic xrefitem rendering support and fixes
issues parsing anonymous struct/unions. This version also adds a config
knob for showing or hiding enumerator values, so set it to generate
documentation compatible with previous versions.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-10-27 13:09:24 +01:00
Maureen Helm
3dc0a7c965 doc: conf: Add 2.4.0 version selector
Adds the 2.4.0 release to the documentation version selector.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-09-27 15:15:49 -05:00
Fabio Utzig
5ee34e1fae doc: enable SEPARATE_MEMBER_PAGES compatibility
Enable Breathe SEPARATE_MEMBER_PAGES compatibilty; this option allows
resolution of a huge amount of references that are currently broken
(around 650 based on my grep foo!) due to issues in the Doxygen XML
generation when this option is enabled.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-09-15 15:25:01 +02:00
Fabio Utzig
a56446051e doc: add __subsystem attribute and c attributes
Add __subsystem to list of attributes for the parser, and make the c
parser accept the same attributes than the cpp parser, after the change
to use the c parser for ".c" files.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
dcfe684440 doc: move tabs to spaces in Sphinx config
Sphinx's config file is a python script, so follow the standards and use
spaces for identation.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
2825f0bcac doc: switch from CPP to C domain for .c files
Older Breathe versions didn't work correctly with the C domain, so there
was a mismatch when refering to functions and #defines, using :cpp: or
:c: depending on the origin of the refered symbol. With Breathe >=4.19
the C domain works correctly so all symbols can be refered to with the
:c: role.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
6111da4481 doc: use non-deprecated CSS/JS import methods
Update methods used to include JS/CSS files, avoiding deprecated
versions the don't work on Sphinx>=3.x. The new methods work on both
Sphinx==3.x and Sphinx>=2.4.x.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Carles Cufi
964da1ca6c doc: conf: Add 2.3.0 version selector
Add the 2.3.0 release to the version selector for the documentation.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 22:03:54 +02:00
Carles Cufi
81c2f10c38 doc: redirects: Fix nRF board redirects
Fix the board redirects. The following boards existed before we moved to
a new style of URL for boards, and thus each have 2 entries (old style
old name to old style new name; new style old name to new style
new name):

- nrf51_pca10028
- nrf52810_pca10040
- nrf52840_pca10056
- nrf52840_pca10059
- nrf52_pca10040
- nrf52_pca20020

The following boards did not exist (or were not referenced) before we
moved to the new style of URL for boards, and thus only have one entry
(new style old name to new style new name):

- nrf51_pca10031
- nrf52811_pca10056
- nrf52833_pca10100
- nrf52840_pca10090
- nrf5340_dk_nrf5340
- nrf9160_pca10090

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-04-07 16:20:31 +02:00
Ioannis Glaropoulos
55ed0828f8 doc: allow redirect old url for nrf5340 DK documentation page
We are renaming the nrf5340 DK documentation page, and due to
re-organizing the doc directory we need to allow redirecting
the old URLs for nrf5340 DK board targets' documentation.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-04-06 15:21:45 +02:00
Carles Cufi
0f9b3626c1 boards: nrf52_pca20020: Rename to thingy52_nrf52832
The board name for the Thingy:52, so far known as nrf52_pca20020, is
renamed to thingy52_nrf52832.  Its documentation and all references to
its name in the tree are updated accordingly. Overlay and configuration
files specific to this board are also renamed, to match the new board
name.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-04-06 13:09:07 +02:00
Carles Cufi
233d6c87e6 boards: nrf52840_pca10059: Rename to nrf52840dongle_nrf52840
The board name for the nRF52840 Dongle, so far known as
nrf52840_pca10059, is renamed to nrf52840dongle_nrf52840. Its
documentation and all references to its name in the tree are updated
accordingly. Overlay and configuration files specific to this board are
also renamed, to match the new board name.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-04-06 13:09:07 +02:00
Carles Cufi
205cf1595e boards: nrf52810_pca10040: Rename to nrf52dk_nrf52810
The board target for emulation of nRF52810 on nRF5DK, so far
known as nrf52810_pca10040, is renamed to nrf52dk_nrf52810.
Its documentation and all references to its name in the tree are
updated accordingly. Overlay and configuration files specific to
this board are also renamed, to match the new board name.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-04-06 13:09:07 +02:00
Carles Cufi
6656214af2 boards: nrf52_pca10040: Rename to nrf52dk_nrf52832
The board name for the nRF52 DK, so far known as nrf52_pca10040, is
renamed to nrf52dk_nrf52832.  Its documentation and all references
to its name in the tree are updated accordingly. Overlay and
configuration files specific to this board are also renamed, to
match the new board name.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-04-06 13:09:07 +02:00
Ioannis Glaropoulos
8b5892588a doc: allow redirect old url for nrf9160 DK documentation page
We are renaming the nrf9160 DK documentation page, and due to
re-organizing the doc directory we need to allow redirecting
the old URLs for nrf916 DK board targets' documentation.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-03-31 15:16:08 +02:00
Andrzej Głąbek
4253eae005 boards: nrf52840_pca10056: Rename board to nrf52840dk_nrf52840
The nRF52840 DK board target, so far known as nrf52840_pca10056,
is renamed to nrf52840dk_nrf52840.
Its documentation and all references to its name in the tree are
updated accordingly. Overlay and configuration files specific to
this board are also renamed, to match the new board name.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-03-27 09:14:08 +01:00
Ioannis Glaropoulos
f3807f19dc boards: arm: nrf51_pca10028: rename board to nrf51dk_nrf51422
We rename the nRF51 Dev Kit board target (nrf51_pca10028)
to nrf51dk_nrf51422. We update all associated references
in the supportive documentation and all nRF51-related
cofigurations and overlay files in the samples and tests
in the tree.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-03-24 11:45:27 +01:00
Johan Hedberg
883f1aede0 doc: Update generated version list for 2.2.0
Add 2.2.0 to the version pick list. Also remove old versions so that
the oldest one is the LTS release.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2020-03-10 10:49:52 +02:00
Henrik Brix Andersen
cfdabcf448 doc: update doc footer copyright year
Update the documentation footer copyright year.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-01-20 22:48:23 -05:00
Kumar Gala
b1602c8e39 arm: Removed support for CC2650
The SoC, driver, and board support for the CC2650 and CC2650 Sensortag
aren't currently supported and we are removing them as such.  If anyone
is interesting in supporting this platform we can easily recovery it
from git.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-01-18 09:27:55 -06:00
David B. Kinder
efffdfc4d0 doc: tweak search to to understate certain docs
All docs are treated equally in the search results. The built-in search
system knows to emphasize hits in titles and object names, but could use
some help understating hits in non-definitive docs.  In particular, hits
to docs in the  /boards, /samples, and /reference/kconfig docs are often
not as important as hits in other docs, so let's push them later in the
search result output.

We can tweak the search results scoring (and thereby the order of
display) via the ``html_search_scorer`` setting in ``conf.py`` along
with a piece of JavaScript to adjust the result score.

Fixes: #16935

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-12-19 15:52:11 -05:00