This cleans up the USCI based UART and SPI implementations and allows
multiple instances of either interface to be configured by the
boards. In addition, it allows sharing the USCI peripherals to provide
multiple serial interfaces with the same hardware (round-robin).
In `main.c:115` the call
`ztimer_sleep(ZTIMER_MSEC, _periodic_ctx.period.ms);` depends on the
module `ztimer_msec`. Apparently, this was previously pulled in
indirectly and the missing dep has gone unnoticed. This adds the
dep explicitly to fix compilation issues that now have surfaced in
the CI.
The nRF52840DK is an excellent wireless dev board due to the
integrated debugger, the nRF52840-Dongle is missing the debugger and
therefore a suboptimal choice.
The nRF52840-Dongle is cheap and has an excellent form factor that
allows to easily plug it into e.g. an OpenWRT system to quickly provide
a border router. The nRF52840DK is too large and too expensive for that
use case.
It appears that the rows have just been switched by mistake, this
switches them back to be correct.
This has the following advantages:
- faster and leaner when C11 atomics are not efficient (e.g. on LLVM
this is almost always the case, as LLVM will only use efficient
atomics if it doesn't has to bail out to library calls even for
exotic things)
- Even for GCC e.g. on the nucleo-f429zi this safes 72 B of .text
for examples/filesystem despite runtime checks added for
over- and underflow
- less pain in the ass for C++ and rust users, as both C++ and
c2rust are incompatible with C11 atomics
- adds test for overflow of the open file counter for more robust
operation
- adds `assumes()` so that underflows are detected in non-production
code
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.
The function gomach_vtdma_end is nearly identical to _no_vtdma_after_cp
expect the first few lines. This commit replaces the duplicating code
in gomach_vtdma_end by a call to _no_vtdma_after_cp.
Signed-off-by: Francois Berder <fberder@outlook.fr>
Both _rx_management_failed and _rx_management_success functions
attempt to sleep after handling the packet reception
failure/success. This commit extracts the sleep attempt in a
new _rx_management_attempt_sleep function.
Signed-off-by: Francois Berder <fberder@outlook.fr>