18863: boards/esp32s2-mini: add definition for ESP32 S2 Mini r=gschorcht a=benpicco
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
10462: drivers: add driver for ST VL6180X ranging and ambient light sensor r=benpicco a=gschorcht
### Contribution description
This PR adds a driver for the ST VL6180X ranging and ambient light sensor. The driver can be used in two variants which differ in functionality and size:
Module Name | Driver
:-------------|:-------------------------------------------
vl6180x | Driver with standard functionality and larger size
vl6180x_basic | Driver with only basic functionality and smaller size
Both driver variants provide
- continuous ranging and ambient light sensing,
- polling for new measurement results, and
- SAUL capabilies.
In addition to these basic functionalities, the standard driver `vl6180x`
provides interrupt handling, single shot measurements, a number of
configuration functions and power down / power up functionality.
Features of the driver variants are summarized in the following comparison
sheet.
Feature | vl6180x_basic | vl6180x
:---------------------------------------|:-------------:|:--------:
Range measurements [mm] | X | X
Ambient light measurements [Lux, raw] | X | X
SAUL capability | X | X
Continuous measurements | X | X
Single shot measurements | | X
Start and stop measurements | | X
Polling for new measurement results | X | X
Data-ready interrupts | | X
Threshold interrupts | | X
Measurement error status | | X
Configuration during run-time | | X
Power down and power up | | X
Size on reference platform | 1.7 kByte | 3.0 kByte
### Testing procedure
Using the make command
```
make flash -C tests/driver_vl6180x BOARD=...
```
the standard driver variant `vl6180x` is used with the following default
configuration parameters:
- periodic check of the availability of new data every 100 ms
- a ranging inter-measurement period of 100 ms
- a ranging maximum convergence time of 50 ms
- an ambient light sensing (ALS) inter-measurement period of 500 ms
- an ambient light sensing (ALS) integration time of 100 ms
- an ambient light sensing (ALS) analogue light channel gain of 1.0
- an ambient light sensing period of 500 ms
- a ranging period of 100 ms.
To use the basic driver variant, the `vl6180x_basic` module has
to be specified at make command line
```
USEMODULE=vl6180x_basic make flash -C tests/driver_vl6180x BOARD=...
```
The default configuration parameters used for the test application with the
basic driver variant are the same as for the standard driver variant.
To use interrupts to fetch new data instead of polling for new data
periodically, the standard driver variant `vl6180x` has to be used and the
pin connected with the interrupt signal GPIO1 of the sensor has to be
defined by configuration paramater `VL6180X_PARAM_PIN_INT`, e.g.,
```
CFLAGS="-DVL6180X_PARAM_PIN_INT=\(GPIO_PIN\(0,1\)\)" make flash -C tests/driver_vl6180x BOARD=...
```
To test the power down and power up functionality, the pin connected with
the signal GPIO0/CE of the sensor has to be defined by configuration
paramater `VL6180X_PARAM_PIN_SHUTDOWN
`, e.g.,
```
CFLAGS="-DVL6180X_PARAM_PIN_SHUTDOWN=\(GPIO_PIN\(0,2\)\)" make flash -C tests/driver_vl6180x BOARD=...
```
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
19055: shell/gnrc_icmpv6_echo: acquire ZTIMER_USEC clock for time measurement r=benpicco a=jue89
19188: cpu/gd32v: add periph_adc support r=benpicco a=gschorcht
### Contribution description
This PR provides the `periph_adc` support and is one of a bunch of follow up PRs that complete the peripheral drivers for GD32VF103.
This PR depends on PR #19170 and includes this PR to be compilable since includes the ADC configuration also for Sipeed Longan Nano board.
### Testing procedure
`tests/periph_adc` should work on any GD32VF103 board.
### Issues/PRs references
Depends on PR #19170
19225: sys/net/dhcpv6: include IA Prefix Option in SOLICIT r=benpicco a=benpicco
Co-authored-by: Jue <me@jue.yt>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
19228: doccheck: avoid generating dot or html r=benpicco a=kfessel
### Contribution description
doccheck without generating dot or html
this also has some new generated lines for exclude_pattern (some of them where broke so I regenerated the block)
### Testing procedure
doccheck
### Issues/PRs references
Co-authored-by: Karl Fessel <karl.fessel@ovgu.de>
19193: rust: Update dependencies, use riot-wrappers from git r=benpicco a=chrysn
### Contribution description
As riot-wrappers has advanced a bit since it was last released, Rust modules are switched to using it from git again. (This is a regular ping-pong between testing the latest release in RIOT master, and using released support crates when they're current).
This primarily updates riot-wrappers, which has accumulated several compatible changes. Several other crates receive updates as well.
### Testing procedure
* Green CI
### Issues/PRs references
Changes on the riot-wrappers side:
* https://github.com/RIOT-OS/rust-riot-wrappers/pull/17
* https://github.com/RIOT-OS/rust-riot-wrappers/pull/22
* https://github.com/RIOT-OS/rust-riot-wrappers/pull/29
* https://github.com/RIOT-OS/rust-riot-wrappers/pull/30
[edit: added:]
This also serves to help preparing a 0.8.1 release of riot-wrappers, which performs some deprecations so that a breaking 0.9 change can be done more effortlessly later on.
19214: cpu/gd32v: add periph_spi support r=benpicco a=gschorcht
### Contribution description
This PR provides the `periph_spi` support and is one of a bunch of PRs that complete the peripheral drivers for GD32VF103.
The driver is a modified version of the driver for STM32F1 with some changes that were necessary to get it working on GD32V.
### Testing procedure
`tests/periph_spi` as well as a test with any SPI sensor should work. `tests/driver_sdcard_spi` should work on `sipeed-longan-nano`.
### Issues/PRs references
Depeneds on PR #19216
Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
19219: doc/porting-boards.md: fix code snippets in Riot web page/doxygen r=benpicco a=krzysztof-cabaj
### Contribution description
PR #19206 fix issues with code snippets in the[ `porting-boards.md`](https://github.com/RIOT-OS/RIOT/blob/master/doc/doxygen/src/porting-boards.md) presented by GitHub. However, in Riot web page comments in code snippets are not presented and in effect section `doc.txt` shows empty area - see [dox.txt section](https://doc.riot-os.org/porting-boards.html).
This PR should fix this - it change for this code snippet C code to generic code.
### Testing procedure
Generation of doxygen documentation by CI process and manual check if this change fix the problem.
### Issues/PRs references
PR #19206
Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
16782: drivers/mfrc522: add new driver r=benpicco a=HendrikVE
### Contribution description
This PR adds support for the MFRC522. It is quite common in the Arduino world and it is quite cheap. The driver connects to the MFRC522 via SPI and is heavily based on the Arduino driver available [here](https://github.com/miguelbalboa/rfid). Basically it was ported, but with several improvements in readability and documentation.
### Testing procedure
The given (manual) test provides single commands for some driver functions.
19201: cpu/gd32v: add periph_i2c support r=benpicco a=gschorcht
### Contribution description
This PR provides the `periph_i2c` support and is one of a bunch of PRs that complete the peripheral drivers for GD32VF103.
The driver is a modified version of the driver for STM32F1 with some changes that were necessary to get it working on GD32V. As for STM32F1, the driver is using polling instead of interrupts for now. It will be implemented interrupt-driven later.
### Testing procedure
`tests/periph_i2c` as well as a test with any I2C sensor should work. The driver was tested with `tests/driver_l3gxxxx` and `tests/driver_bmp180`.
### Issues/PRs references
Co-authored-by: Hendrik van Essen <hendrik.ve@fu-berlin.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
19215: tests/periph_flashpage_unittest: enable periph_flashpage r=benpicco a=gschorcht
### Contribution description
This PR enables the `periph_flashpage` module for the unittest in `tests/periph_flashpage_unittest` so that it requires feature `periph_flashpage` and expects only correct calculation of flashpage indices if it is used.
Testing the correct calculation of flashpage indices without assuming the `periph_flashpage` feature and enabling the `periph_flashpage` module makes no sense. On ESP32x SoCs for example, the space in the flash is only reserved and `FLASHPAGE_NUMOF` is greater than 0 if `periph_flashpage` is used.
The PR fixes the unittest problem for ESP32x SoCs.
### Testing procedure
Green CI with label `CI: run test`.
### Issues/PRs references
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>