1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

452 Commits

Author SHA1 Message Date
Marian Buschsieweke
906e2c3234
build system: document riotbuid.h
This adds a `riotbuild-prefix.h` that is added to the `riotbuild.h`
and processed by Doxygen. It solves two problems:

1. The pre-defined macros where previously fully undocumented, but
   may be useful to real world applications
2. It provides a place where backward compatibility aliases can be
   added with a deprecation notice
2024-09-28 18:32:49 +02:00
Marian Buschsieweke
04620d471c
Merge pull request #20438 from MrKevinWeiss/pr/kconfig/dep/removal
Remove Kconfig dependency modelling
2024-03-27 16:39:56 +00:00
MrKevinWeiss
d265330a26
kconfig.md: Update kconfig doc with removed deps 2024-03-27 10:28:15 +01:00
Remmirad
084c42c2a9 doc: Allow resizing of side-nav
Currently it is not possible to resize the side-nav of the RIOT doxygen website in firefox.
This is caused by the window resize_handler being called even for resizing inside the window.
The resize_handler resets the side-nav to a cached size preventing resizing. This commit fixes
this by checking if the window was actually resized.
2024-03-27 09:31:05 +01:00
Marian Buschsieweke
285b99c87e
Merge pull request #20493 from OlegHahm/pr/doxygen/add_term_config
doc: add terminal program configuration
2024-03-26 15:41:59 +00:00
Karl Fessel
20decc9cfe
Merge pull request #20498 from miri64/doc/enh/vision-graphic
doc: add graphic to vision page
2024-03-26 15:31:38 +00:00
Karl Fessel
7b1ed57513
Merge pull request #20506 from maribu/doc/doxygen-menu/fix-name-of-modules-category
doc/doxygen: fix name and intro of "Modules" section
2024-03-26 15:30:52 +00:00
benpicco
53497750c5
Merge pull request #19709 from benpicco/appendectomy
rdm/radio_hal: remove appendix A
2024-03-26 15:03:36 +00:00
Marian Buschsieweke
5a966fb08a
doc/doxygen: fix name and intro of "Modules" section
This fixes a regression from https://github.com/RIOT-OS/RIOT/pull/20443
which does cause the modules to re-appear in the side panel, but under
the name "Topics" rather than "Modules".
2024-03-26 13:23:43 +01:00
Marian Buschsieweke
6844ba2a0c
doc/community-process: improve markdown style
This contains minor changes to ease maintaining the document (e.g.
by using reference-style links so that an URL needs to be updated
only in a single place) and adds explicit anchors to ease linking to
a certain section.
2024-03-26 10:35:33 +01:00
Martine Lenders
0dc04f6222
doc: add graphic to vision page 2024-03-22 16:07:59 +01:00
Emmanuel Baccelli
fd2a79d650 doxygen: added community processes (import from Wiki) 2024-03-21 11:44:18 +01:00
Oleg Hahm
a21de1bcd3 doc: add terminal program configuration 2024-03-21 10:54:24 +01:00
Emmanuel Baccelli
ec0aaf9068 doxygen: added vision.md imported from wiki 2024-03-20 11:25:33 +01:00
Teufelchen1
a62d77dd77 rdm/radio_hal: remove appendix A, deprecating RDM0002 via RDM0004 2024-03-19 18:17:04 +01:00
Marian Buschsieweke
dc901b0e62
doc/doxygen/src/getting-started.md: fix broken link 2024-03-19 12:54:50 +01:00
Emmanuel Baccelli
d17d315377 rdm/README: add rdm0003 to the list 2024-03-14 14:55:15 +01:00
Marian Buschsieweke
37269c8ec7
Merge pull request #20442 from maribu/fuck-xitter
doc: replace obsolete xitter link with mastodon link
2024-03-01 11:51:56 +00:00
Oleg Hahm
cc14954c57 doc: doxygen: add "Topics" to menus
Beginning with doxygen 1.9.8 "Modules" are renamed to "Topics". This
patch adds the new entry to the layout file. Having both, "Modules" and
"Topics" in the layout file should generate similar output for older and
newer doxygen versions.
2024-03-01 12:15:24 +01:00
Marian Buschsieweke
3bede9c734
doc: replace obsolete xitter link with mastodon link 2024-03-01 09:38:46 +01:00
Dylan Laduranty
5b2beea08a
Merge pull request #20426 from maribu/doc/getting-started/windows
doc: Add guide for dev setup on Windows
2024-02-28 09:58:48 +00:00
Marian Buschsieweke
8b088c8d4a
doc: Add guide for dev setup on Windows
This adds a step-by-step guide to install a dev setup based on
WSL2 / Ubuntu and native VS Code with the WSL extension. The guide
uses screenshots and adds annotations on top using Inkscape, so that
every click is documented.

The Inkscape sources are also added to allow adjusting / fixing the
annotations later on without having to record a new set of screenshots.

Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-02-28 10:18:39 +01:00
chrysn
9e5e66540d
Merge pull request #20366 from maribu/makefiles/existing_features
build system: add list of features for documentation and sanity checking
2024-02-25 15:36:15 +00:00
chrysn
fee994b9d5
Merge pull request #18589 from chrysn-pull-requests/rdm-board-names
RDM: Naming boards
2024-02-24 23:47:45 +00:00
Marian Buschsieweke
dc040a0fdb
build system: Make use of YAML feature list 2024-02-23 15:12:11 +01:00
chrysn
148a8c195c RDM 0003: is accepted 2024-02-22 22:26:41 +01:00
chrysn
15a090011f RDM: Naming boards 2024-02-22 22:03:27 +01:00
Marian Buschsieweke
3c5ae563d6
doc/roadmap: update contacts
Hauke has stopped working on RIOT for some time now and other
maintainers agreed to step up to take over the steering / contact job
during the VMA. This change replaces Hauke by benpicco and maribu as
contact as agreed upon.
2024-02-22 09:16:50 +01:00
7b92a1beb2
Roadmap: Add Home-Assistant integration on the roadmap 2024-02-21 11:40:54 +01:00
chrysn
2f5ad41e41 doc/roadmap: Make working 6LBR a goal 2024-02-07 14:54:52 +01:00
Marian Buschsieweke
57ecb896ec
doc/getting-started: point out where to run make 2024-02-04 17:54:02 +01:00
chrysn
50c9d93951 rust/doc: Document make info-rust for IDE/editor setup 2024-02-01 14:39:43 +01:00
chrysn
6724884b93 makefiles/rust: Remove CARGO_CHANNEL special casing
Back when specific control of the Rust version used with RIOT was
needed, CARGO_CHANNEL was added to explicitly set the Rust version with
consideration for CI special cases.

Rust's mechansims of selecting a toolchain can be used instead now.
2024-01-31 12:25:09 +01:00
Benjamin Valentin
ca97f8ab2b doc/mainpage: don't claim to be a microkernel
We are clearly not and this just sets wrong expectations.
2024-01-11 16:59:50 +01:00
Marian Buschsieweke
82b7e10988
dist/tools/zsh-completion: provide completion for zsh
This adds command completion that, when manually installed, provides
RIOT-aware command completion for `make` in zsh. The completion
supports:

- most commonly used `make` goals including a help text
- most commonly used `make` variables (such as `BOARD=`, `LTO=`,
  `BUILD_IN_DOCKER=`, `TOOLCHAIN=`)
    - possible values for these variables, including a list of boards
      detected at runtime to complete `BOARD=`

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
2024-01-08 13:48:17 +01:00
Marian Buschsieweke
25e3bcca3b
roadmap: extend peripheral drivers section 2023-12-07 09:22:40 +01:00
Marian Buschsieweke
e7e50caa53
doc: clean up roadmap
- drop completed tasks
- drop tasks that make no sense anymore (e.g. cleanup up MIPS, as
  MIPS was dropped or improving xtimer, as it was superseded by
  ztimer)
2023-12-01 12:40:13 +01:00
chrysn
5542ecd9a7 doc: Extend and take responsibility for 802.15.4 security roadmap 2023-11-30 13:42:57 +01:00
chrysn
7b01d41eca doc: Whitespace cleanup 2023-11-30 11:43:20 +01:00
chrysn
b5b7826b0c doc: Adjust markdown styles from GitHub to doxygen 2023-11-30 11:41:58 +01:00
chrysn
07a26742a4 doc: roadmap now done through pull requests 2023-11-30 11:40:13 +01:00
chrysn
437fb43f12 doc: Move roadmap in from the wiki
This copies the version of 2020-05-29, with only the header line added.
2023-11-30 11:22:29 +01:00
Marian Buschsieweke
61af0f38f8
boards/p-nucleo-wb55: Add pinout and clean up doc 2023-11-16 11:14:45 +01:00
Lena Boeckmann
d4c73d6a30 sys: Add PSA Crypto Module 2023-08-31 14:38:49 +02:00
bors[bot]
ddf1fe252d
Merge #19733 #19747 #19769 #19782
19733: cpu/msp430: reorganize code r=maribu a=maribu

### Contribution description

RIOT supports two distinct families of the MSP430: The [MSP430 x1xx] MCU family and the [MSP430 F2xx/G2xx] MCU family. For both incompatible MCU families the code was located in the msp430fxyz folder, resulting in case of the UART driver in particularly bizarre code looking roughly like this:

```C
#ifndef UART_USE_USCI
/* implementation of x1xx peripheral ... */
#else
/* implementation of F2xx/G2xx peripheral ... */
#endif
/* zero shared code between both variants */
```

This moves peripheral drivers shared between the two families to msp430_common and splits the SPI and UART driver into two MCU families.

In addition, it cleans up the `msp430_regs.h` by dropping most of it and using the macros and symbols provided by the vendor header files. There is little reason for us to maintain constants when TI is already doing that.

[MSP430 x1xx]: https://www.ti.com/lit/ug/slau049f/slau049f.pdf
[MSP430 F2xx/G2xx]: https://www.ti.com/lit/ug/slau144k/slau144k.pdf


19747: gnrc/ipv6/nib: reset rs_sent counter also for not-6LN interfaces r=maribu a=fabian18



19769: cpu/nrf53: add initial support with nRF5340DK-APP board r=maribu a=dylad

### Contribution description

This PR adds support for nRF5340 MCU and its associated Nordic development board, nRF5340DK.
This MCU provides a dual Cortex-M33, one application core running at up to 128MHz, and one network core running at up to 64MHz.
Peripherals are inherited from others Nordic MCUs families so it shouldn't be hard to add more of them in followup PRs.

For now, only the minimal set of peripherals is supported:
- GPIO / GPIO_IRQ
- UART
- TIMER

### Testing procedure
Build the usual test application for the supported peripherals and flash the board.
nRF5340DK provides two serial ports on its embedded debugger. RIOT's shell should be available on the first one (/dev/ttyACM0)


### Issues/PRs references
#18576
#19267 


19782: cpu/msp430: fix for ti's msp430-gcc-opensource package ld version r=maribu a=hugueslarrive

### Contribution description
My msp430 toolchain (https://www.ti.com/tool/MSP430-GCC-OPENSOURCE) was broken by #19484:
```
hugues@p700:~/github/cpu_msp430_common/RIOT$ BOARD=msb-430 make -j64 -C examples/hello-world
make : on entre dans le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
Building application "hello-world" for "msb-430" with MCU "msp430fxyz".

"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core/lib
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers/periph_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/auto_init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/div
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/libc
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/malloc_thread_safe
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/newlib_syscalls_default
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz/periph
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/preprocessor
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/stdio_uart
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common/periph
/opt/ti/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: .rodata not found for insert
collect2: error: ld returned 1 exit status
make: *** [/home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/../../Makefile.include:761 : /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/bin/msb-430/hello-world.elf] Erreur 1
make : on quitte le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version
GNU ld (Mitto Systems Limited - msp430-gcc 9.3.1.11) 2.34
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version | grep -Eo '[0-9]\.[0-9]+'
9.3
1.11
2.34
hugues@p700:~/github/cpu_msp430_common/RIOT$ /opt/ti/msp430-gcc/msp430-elf/bin/ld --version | grep -Eo '[0-9]\.[0-9]+$'
2.34
```


### Testing procedure
```
hugues@p700:~/github/cpu_msp430_common/RIOT$ BOARD=msb-430 make -j64 -C examples/hello-world
make : on entre dans le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
Building application "hello-world" for "msb-430" with MCU "msp430fxyz".

"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/core/lib
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/boards/common/msb-430
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/drivers/periph_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/auto_init
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/div
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/libc
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/malloc_thread_safe
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/newlib_syscalls_default
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/preprocessor
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/sys/stdio_uart
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430fxyz/periph
"make" -C /home/hugues/github/cpu_msp430_common/RIOT/cpu/msp430_common/periph
   text	   data	    bss	    dec	    hex	filename
   8612	    722	    866	  10200	   27d8	/home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world/bin/msb-430/hello-world.elf
make : on quitte le répertoire « /home/hugues/github/cpu_msp430_common/RIOT/examples/hello-world »
```


### Issues/PRs references
Introduced by #19484, highlighted in #16727.


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
Co-authored-by: Fabian Hüßler <fabian.huessler@ml-pa.com>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Hugues Larrive <hlarrive@pm.me>
2023-07-04 18:43:26 +00:00
Marian Buschsieweke
043e8cc88e
boards,sys/arduino: major clean up
- Rename all `arduino_pinmap.h` to `arduino_iomap.h`
    - An empty `arduino_pinmap.h` that just includes `arduino_iomap.h`
      is provided for backward compatibility
    - Move all info from `arduino_board.h` into the new file as trivial
      macros, so that they can also be used outside of sketches
    - The new name reflects the fact not just pin mappings, but also
      other I/O features such as PWMs are mapped
- Drop all `arduino_board.h`
    - `arduino_board.h` and `arduino_iomap.h` now provide the exact
      same information, just in a different format
    - a generic `arduino_board.h` is provided instead that just
      uses the info in `arduinio_iomap.h` and provides them in the
      format the code in `sys/arduino` expects it
- Add fine grained features to indicate for mappings
    - availability of mappings for analog pins, DAC pins, PWM pins,
      UART devices, SPI/I2C buses to the corresponding RIOT
      identification can now be expressed:
        - `arduino_pins`: `ARDUINO_PIN_0` etc. are available
        - `arduino_analog`: `ARDUINO_A0` etc. are available
        - `arduino_pwm`: `ARDUINO_PIN_13_PWM_DEV` etc. are available
        - `arduino_dac`: `ARDUINO_DAC0` etc. are available
        - `arduino_uart`: `ARDUINO_UART_D0D1` or similar are available
        - `arduino_spi`: `ARDUINO_SPI_ISP` or similar are available
        - `arduino_i2c`: `ARDUINO_I2C_UNO` or similar are available
    - mechanical/electrical compatibility with specific form factors
      can now be expressed as features:
        - `aruino_shield_nano`: Arduino NANO compatible headers
        - `aruino_shield_uno`: Arduino UNO compatible headers
        - `aruino_shield_mega`: Arduino MEGA compatible headers
        - `aruino_shield_isp`: ISP header is available

This provides the groundwork to implement shield support as modules
that can rely on the I/O mappings, rather than having to provide a
configuration per board.
2023-06-26 17:24:07 +02:00
Marian Buschsieweke
ff7f8ae2f0
cpu/msp430: reorganize code
RIOT supports two distinct families of the MSP430: The [MSP430 x1xx]
MCU family and the [MSP430 F2xx/G2xx] MCU family. For both incompatible
MCU families the code was located in the msp430fxyz folder, resulting
in case of the UART driver in particularly bizarre code looking roughly
like this:

    #ifndef UART_USE_USCI
    /* implementation of x1xx peripheral ... */
    #else
    /* implementation of F2xx/G2xx peripheral ... */
    #endif
    /* zero shared code between both variants */

This splits the peripheral drivers for USCI and USART serial IP blocks
into separate files and relocates everything in cpu/msp430, similar to
how cpu/stm32 is organized.

[MSP430 x1xx]: https://www.ti.com/lit/ug/slau049f/slau049f.pdf
[MSP430 F2xx/G2xx]: https://www.ti.com/lit/ug/slau144k/slau144k.pdf
2023-06-19 17:14:57 +02:00
Benjamin Valentin
6983782891 rdm/radio_hal: remove appendix A
This has no use and will just get outdated - just refer to the actual
file in RIOT instead of a fossilized copy.
2023-06-05 15:54:55 +02:00
bors[bot]
84a3078a93
Merge #19665
19665: doc: do not rebuild riot.css r=maribu a=maribu

### Contribution description

- simplify the makefile
    - changing behavior depending on lessc being installed is surprising and makes the Makefile less readable
    - failing with `make: lessc: No such file or directory` is helpful, but `make: No rule to make target 'src/css/riot.css'` is not clearly indicating that `lessc` was not found
- don't rebuild `riot.css` when generating HTML output
    - anyone touching the less file will have to manually call `make src/css/riot.css -C doc/doxygen`
    - this happens so rarely that implementing a convenient mechanism is not worth the trouble


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-05-25 17:09:27 +00:00
Marian Buschsieweke
cfee27cfb2
doc: do not rebuild riot.css
- simplify the makefile
    - changing behavior depending on lessc being installed is
      surprising and makes the Makefile less readable
    - failing with `make: lessc: No such file or directory` is helpful,
      but `make: No rule to make target 'src/css/riot.css'` is not
      clearly indicating that `lessc` was not found
- don't rebuild `riot.css` when generating HTML output
    - anyone touching the less file will have to manually call
      `make src/css/riot.css -C doc/doxygen`
    - this happens so rarely that implementing a convenient mechanism
      is not worth the trouble

Fixes https://github.com/RIOT-OS/RIOT/issues/8122
2023-05-24 21:24:08 +02:00