The board has history of bugs that (such as broken timer configuration)
that would directly bite any users, but still have gone unnoticed for
significant time periods due to lack of testing. It appears, that none
of the core contributors has access to the boards and the number of
users is limited.
The list of communication tools has been outdated. Rather than keeping
this list up to date, the list was dropped and the wording changed
so that we refer to communication within the community.
- `printf "%d" ""` triggers an "invalid number" warning on ash, so
let's use `0` as portable default for zero
- add quotes where needed to make shellcheck happy
- `gpio_ll_toggle()` now is race-free
- avoid using a look up table but branch to the two different registers
in the `gpio_ll*()` functions
- in most cases the GPIO port is a compile time constant and the
dead branch is eliminated by the optimizer, making this vastly
more efficient
- some MCUs do only have a single port, in which case
`GPIO_PORT_NUM(port)` is known to return `0` even if `port` is
not known, resulting in one of the branch being eliminated as
dead branch no matter what
- in case it really is unknown at compile time which port to work
on, the branch can still be implemented efficiently by the
compiler e.g. using a conditional move; likely more efficient
than fetching a value from the look up table.
Pull in lwip_netdev for netdev integration automatically if there is
any netdev to integrate, otherwise don't pull in the module.
As a result, applications no longer need to select that module by hand.
This is directly useful for the two driver using the bhp API, but also
other drivers profit from not loosing IRQs.
The main selling point is that this paves the way for implementing
netdev_driver_t::confirm_send().
Co-authored-by: benpicco <benpicco@googlemail.com>
Co-authored-by: Erik Ekman <eekman@google.com>
In https://github.com/RIOT-OS/RIOT/pull/20511/files a quick fix was
added to allow resizing the sidenav. But this broke hiding the sidenav
on mobile screen widths. This fixes the issue and also increase the
default sidenav width a tad.
This implements `pm_set_lowest()` for the MSP430. Unlike most other
platforms, it intentionally does not use pm_layered. It is pretty
similar to `pm_layered` in that is does use reference counters, but it
uses them for two independent clock sources.
The main difference is that the low frequency clock domain can be
disabled even when the high frequency clock is still active. With the
layers, disabling layer n-1 while layer n is still blocked would not
work.