sys/ztimer: rework Kconfig
To eliminate circular dependencies based in periph_rtc and xtimer_ztimer_compatibility the following changes are applied:
- Change entrypoint of ztimer as a specific backend is always required
- Add a non-module symbol for ztimer_usec that bring in the ztimer and ztimer_usec module which allows the xtimer ztimer compatibility layer to only select the ztimer_usec module preventing circular dependency issues
This fixes the following warning on newer gcc/ld:
```
/usr/bin/ld: examples/hello-world/bin/native/cpu/tramp.o: warning: relocation against `_native_saved_eip' in read-only section `.text'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
```
`WITHOUT_PEDANTIC(expr)` disables `-Wpedantic` for `expr`, but switches
back to the previous diagnostic settings afterwards. This helps defining
macros that are not strictly ISO compliant without having to drop the
`-Wpedantic` flag entirely.
`DECLARE_CONSTANT(identifier, const_expr)` declares an anonymous `enum`
constant named `identifier` and assigns it the value `const_expr`. Here,
`const_expr` has to be a compile time constant, but is not needed to be
an integer constant expression. It basically is a tool to magically
convert a non-integer constant expression into a integer constant
expression.
- Perform the same computation over and over again. If the results
differ, context switches have an impact on the calculation (e.g.
when the FPU internally uses more bits than a float, but that bits
are not saved / restored on context switch)
- Give the three threads the names "t1", "t2", and "t3" and print them
on console, instead of the process ID. This makes interpretation of
the output easier, as the process IDs depend e.g. on whether a given
platforms requires an idle thread or not.
- Do not use the thread ID in the calculation, but the number at the
end of the thread name. This will result in the number printed only
depending on the precision of the (software) FPU and the printf()
implementation, and not on which threads are created in which order
(including the idle thread)
- Add a script to support running `make test`
Update tests/thread_float/tests/01-run.py
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Some CAN transceivers have a standby pin that has to be pulled low
in order to use it.
If the interface is disabled we can set it to high again to save some
power.
The pkg has not been updated in ages and upstream libcoap provides means
to build with RIOT. Users are better served using the upstream libcoap
approach to use RIOT + libcoap rather than this outdated pkg.
BOARDs with RF switch might only support one of the TX modes, and
on init the BOARD needs to be configured accordingly and the correct
mode selected on TX.