Commit Graph

221 Commits

Author SHA1 Message Date
Keith Short
d2969dca20 doc: Add guidance for copyright notices on new files
Add language indicating that new files should include a specific
copyright notice.

Signed-off-by: Keith Short <keithshort@google.com>
2025-03-18 16:41:12 +01:00
Benjamin Cabé
95c1c850bc doc: extensions: Add line reference support to zephyr_file/zephyr_module
Enhance the zephyr_file link role to support referencing specific lines
or line ranges in files.
This change allows users to link to exact locations within a file
using GitHub-style line references.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-28 10:10:47 +01:00
Anas Nashif
ac082d17b6 doc: contrib: remove outdated note about rebases
The button for rebasing PRs is not available anymore, so this note does
not apply and will only cause confusion, remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-02-26 01:37:21 +01:00
Anas Nashif
6ca79bba72 doc: contrib: clarify twister support
Twister works on all OSes with different levels of features/targets
supported, so clarify the message.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-02-26 01:37:21 +01:00
Derek Snell
b5de6307d2 doc: getting_started: Install Perl in Windows
Perl is required for check_compliance.py/checkpatch.pl, and needs to be
installed in Windows to run these scripts.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-02-22 07:10:57 +01:00
Benjamin Cabé
c9951281cd doc: boards: extensions: add Sphinx directive for board supported hardware
Introduce a new directive for displaying hardware features supported by
a board, using information available in the devicetree.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 04:47:17 +01:00
Benjamin Cabé
444964e031 doc: extensions: boards: Add hardware features filter to board catalog
Add a new hardware features filter to the board catalog that allows
users to filter boards based on their supported hardware capabilities.
The features are extracted from the devicetree files and organized by
binding type.

Key changes:
- Extract hardware feature descriptions from devicetree bindings
- Add HW_FEATURES_TURBO_MODE option to skip feature generation for
  faster builds (similar to DT_TURBO_MODE)
- Add tag-based UI for filtering boards by hardware features

The feature can be disabled for faster documentation builds using
-DHW_FEATURES_TURBO_MODE=1 or by using 'make html-fast'.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-20 15:08:50 +00:00
Martí Bolívar
56296bbcdf doc: contribute: DTS style guideline updates
This is a follow-up from a recent debate on Discord about whether
splitting up related groups of properties is OK. Record the consensus
outcome of the debate so this question is easier to answer next time.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2025-02-20 06:06:24 +01:00
Mihira Madhava Bollapragada
484a513a99 doc: update zephyr path in docs generation
Under the documentation generation sections, the path to the docs folder
and the zephyr path is inconsistent with the getting started pages.
Update to match

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
2025-02-03 11:17:55 +01:00
Anas Nashif
ef1b3bccdc doc: contribute: remove bullet duplicating same message re bisectability
Remove duplicate text about bisectability which is explained in more
details in following bullets.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-31 16:10:06 +01:00
Anas Nashif
c7ef2e9d5c doc: contribute: consolidate proposal docs
Remove duplicate section about making proposals.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-31 16:10:06 +01:00
Anas Nashif
b1043de5d3 doc: contribute: split style guidelines
Split style guidelines into multiple pages to allow expansion and adding
more details and levels.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-31 16:10:06 +01:00
Anas Nashif
465fb18272 doc: style: move cmake into style guidelines
Consolidate all style guidelines into one place, moving cmake style
guidelines under the contribute section.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-31 16:10:06 +01:00
Don Dominic
858c452d14 doc: doc-guidelines: remove duplicate example for zephyr_file role
This commit removes duplicate example for `:zephyr_file:` custom Sphinx
role.

Signed-off-by: Don Dominic <don.dominic@ti.com>
2025-01-29 04:17:04 +01:00
Anas Nashif
22b1e70b08 doc: contribute: split style guidelines into own document
Move style guidelines into own section and put it along side other
guidelines.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
09a0bebdd1 doc: contribute: up reviewer expectation one level
Reviewer expectation was burried under contributor section, it deserves
to be on the same level and highlighted.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
7676e3602e doc: contribute: remove example sub-header
Remove one level listing one single example.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
4c3bd250b2 doc: contribute: move prerequisites section up
Move prerequisites section to the top of the page.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
831a0184d6 doc: contrib: move section about modifying patches
Move section about modifying changes to the contribution section where
it belongs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
cc21c72392 doc: contrib: dco: remove git tip listed as requirements
Some of the git tips in this sections do not count as 'requirements'.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
fdcfc262d3 doc: remove note about cherry-picking commits from PRs
The text in this note is not accurate and should already be covered by
the license agreement, no need to say what the license already covers in
non-legal terms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
8c20225c80 doc: contrib: move contrib badge info to roles page
Move this to the project role page where the contributor role is listed
and described.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
4cecaf094f doc: contribute: match order of toc
Just match the same order the sections appear in.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-22 18:33:06 +01:00
Anas Nashif
3269b49b66 doc: coding guidelines: move safety related language to saftey section
Move some of the historical safety related language and
enforcement strategy re coding guidelines to the safety section.

The coding guidelines are and have been in effect for a while now,
but it seems this introduction text is confusing contributors.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-18 02:33:02 +01:00
Carles Cufi
ea4e46d075 doc: contribute: Extend Reviewer Expectations with additional rules
This change was triggered by a review comment linked below:
https://github.com/zephyrproject-rtos/zephyr/pull/83117#issuecomment-2549120181

It extends the current Reviewer Expectations with additional rules
agreed upon by multiple Zephyr contributors in order to simplify and
standardize the decision-making process during PR reviews.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-17 19:43:32 +01:00
Carles Cufi
3756f59a55 doc: contribution guidelines: Clarify and extend
Clarify and extend some of the PR and contribution guidelines so that
they cover practices that have been effectively enforced by maintainers,
but were never properly documented.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-17 19:43:17 +01:00
Anas Nashif
4ee6b833c5 doc: convert coding guideline rules to definition lists
Use definition list instead of deep header levels.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-01-15 11:51:42 +01:00
Gerard Marull-Paretas
602290e838 doc: doc-guidelines: document :project: option for doxygengroup
The doxygengroup now supports specifying a project, document this
feature.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-01-08 11:30:54 +01:00
Carles Cufi
3c420a4828 checkpatch: Adapt the braces check to Zephyr
scripts/checkpatch.pl was written originally for the Linux kernel, and
its code reflects the kernel's coding style. In particular, it has
checks for unneeded braces around single-statement if/else/for/while
conditions. In Zephyr however, braces are always required, and so the
checks needed modifying to verify the opposite condition.

In order to enable the now-compatible checks, we also remove the
--ignore BRACES statement in .checkpatch.conf.

Limitations: the current code works well if there are not conditional
statements (e.g. #if, #ifdef or #endif) next to the if/else/for/while
conditions. This is rarely the case, but triggers with the Bluetooth
controller in code like this:

```
 #if defined(CONFIG_BT_PERIPHERAL)
        if (!lll->is_hdcd)
 #endif /* CONFIG_BT_PERIPHERAL */
        {
```

```
        } else
 #endif /* CONFIG_BT_CTLR_PRIVACY */
        {

```

```
 #if defined(CONFIG_BT_CTLR_DF_ADV_CTE_TX)
        if (lll->cte_started) {
                radio_switch_complete(phy_s, 0, phy_s, 0);
        } else
 #endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
        {
```

```
 #ifdef DUAL_BANK
        while ((FLASH_STM32_REGS(dev)->SR1 & FLASH_SR_QW) ||
               (FLASH_STM32_REGS(dev)->SR2 & FLASH_SR_QW))
 #else
        while (FLASH_STM32_REGS(dev)->SR1 & FLASH_SR_QW)
 #endif
        {
```

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-12-30 21:46:47 +01:00
Anas Nashif
306d2f4a56 doc: contributor: change language around PR review escalation
Refrain from using Escalation language when requesting review and
getting awareness from maintainers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-12-13 17:44:52 +01:00
Jilay Pandya
5f418f506c docs: contribute: documentation: generation: fix missing doc
fix the path where the user has to be in order to execute make html-fast

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-14 20:37:45 -06:00
Pisit Sawangvonganan
1175f57640 doc: fix typo in multiple directories before v4.0.0 release
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `doc` directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-11-13 13:35:49 -06:00
Benjamin Cabé
074c0492ce doc: guidelines: add target-notes instructions and example
.. target-notes:: is a useful directive that needs to explicitly be
included for a "References" section to really be useful. This commit
updates the doc guidelines accordingly to help ensure that future docs
are using it correctly.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-23 15:30:44 -05:00
Benjamin Cabé
b58b8964d3 boards: seeed: adopt new zephyr:board directive and role
This updates the documentation of all the Seeed Studio boards to use
the new `zephyr:board::` directive.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-22 14:11:27 +02:00
Benjamin Cabé
ecb7c875dd doc: boards: extensions: introduce zephyr:board role and directive
A new zephyr:board:: Sphinx directive allows  to flag a documentation
page as being the documentation for a specific board, allowing to
auto-populate some of the contents, ex. by adding a board overview a la
Wikipedia, and later things like supported HW features, etc.

A corresponding :zephyr:board: role allows to link to a board doc page.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-22 14:11:27 +02:00
Reto Schneider
7ba0ee6bca doc: blobs: Document startup notification
Due to the (potentially) hard to understand effects of blobs, it seems
prudent to make their presence more noticeable.

Hopefully, this will make it easier to identify issues (such as those
reported on GitHub) that have been observed on devices running a tainted
build.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-21 15:58:27 +02:00
Reto Schneider
d5559ff82b doc: blobs: Add missing period
A full sentence should be ended by a period.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-21 15:58:27 +02:00
Reto Schneider
bdea85c9cf doc: blobs: Remove superfluous spaces
While not visible in the rendered documentation, double spaces look bad
when reading plaintext file.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-21 15:58:27 +02:00
Benjamin Cabé
f2f1496156 doc: Introduce boards catalog
This commit adds support for generating an interactive catalog of all
the supported boards that can be included in the documentation using
the `.. zephyr:board-catalog::` directive.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-10 14:56:57 -04:00
Arrel Neumiller
703eadde5c Doc: Contribute: Add instructions for GitHub profile name and email
Fixes 78713
Add instructions to the "Git Setup" section to ensure that the user's
GitHub profile name is their full name (first and last) and that the
GitHub profile name and email address match the git config user.name
and user.email.

Page: contribute/guidelines
Tested with:
ninja html
python3 -m http.server 8000

Signed-off-by: Arrel Neumiller <rlneumiller@gmail.com>
2024-09-26 03:32:40 -04:00
Benjamin Cabé
793c70d095 doc: extensions: samples: Introduce code sample categories
This commit adds support for categorizing code samples in the
documentation.

It introduces two new directives:

- `zephyr:code-sample-category::` to create a category and associated
  brief description, that implicitly acts as a toctree too.

- `zephyr:code-sample-listing::` to allow dumping a list of samples
  corresponding to a category anywhere in the documentation.

Fixes #62453.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-23 12:00:00 +02:00
Benjamin Cabé
47a7da9e9f doc: Overhaul doc guidelines
- Improved document structure (was *very* flat before) by adding more
  meaningful top-level headings and re-ordering some of the existing
  sections
- Provide detailed and structured docs for all the custom Sphinx roles
  and directives available in Zephyr, including moving the docs for
  ``.. zephyr-app-commands`` directive and `:dtcompatible:` roles away
  from the extensions' source files to align with how Sphinx typically
  handles docs for custom roles/directives.
- Added more content regarding diagrams guidelines, images,
  cross-referencing of Doxygen documentation, ...

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-18 15:31:39 +02:00
Benjamin Cabé
6cf5ac5879 doc: guidelines: drop mention of "any" links
Commit 204860857e (PR #41061) dropped
support for "any" as the default role, so this should be dropped from
the documentation guidelines as well.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
Benjamin Cabé
df294e34e1 doc: sphinx-lint: fix bad usage of "default role"
Fixes bad usage of single backticks in lieu of double backticks for
rendering inline literals, or simple '*' for italics.

When appropriate, a better construct than double backticks has been
selected (ex. :file:, :kconfig:option:, :c:func:, ...), or proper :ref:
have been used if the original intention was to have a link.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
Benjamin Cabé
b23f43c096 doc: generation: fix link to zephyr.tag
This link probably never worked. This commit fixes the relative
URL to properly point to where Doxygen docs live.

Fixes #78016.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-05 17:12:32 -04:00
Fin Maaß
3887f41ef9 doc: fix links to wiki
This fixes the broken links to the zephyr wiki.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-30 09:07:52 +02:00
Jordan Yates
2f143fb2c1 doc: add make html-live and html-live-fast
Add two new commands that automatically locally host the generated
documentation upon completion and rebuild/rehost when the input files
change without any user interaction.

For more info see: https://pypi.org/project/sphinx-autobuild/

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-26 17:05:39 +02:00
Simon Hein
e37e3d5a85 doc: coding guidelines: Refactor the guidelines rule table
Refactor the guidelines rule table and add a zephyr rule number
to make it more clear that the coding guideline rules are a
subset of the MISRA-C:2012 rules.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-08-22 09:12:23 +02:00
Mathieu Choplain
a304f98ac1 doc: Coding guidelines: use fixed title for reference to Bluetooth APIs
Commit 698a0c3193 changed the bluetooth_api
section title, which made the reference in the Coding guidelines turn into
"API", which is confusing.

Use a fixed title for that reference to fix the issue.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-21 16:43:52 -04:00
Simon Hein
56a691078e doc: doc generation: remove breathe references
Remove the references to the breathe extension in the
Schematic of the documentation build process graph and
the filtering expected warnings section.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-08-21 18:27:04 +01:00