- Allow specifying an alternative board filter for the bootloader TTY,
as this will present different vendor, model, and serial than RIOT's
USB implementation.
- Allow specifying the serial. This is useful when multiple CDC ACM
devices are present.
This adds the board specification of the Adafruit Metro M4 Express [1].
The significance of this board is that it is compatible with both
classical SPI Arduino Shields using the ISP header for SPI
(such as `shield_w5100`) and more recent shields using D11/D12/D13 as
SPI (such as `shield_llcc68`).
[1]: https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51/overview
The board is compatible with Arduino UNO and Arduino MEGA shields and
has an ISP connector, so this adds the corresponding features.
This adds the Arduino I/O-mapping for the ISP SPI and provides the
corresponding feature.
It appears that the SPI on D11/D12/D13 cannot be provided by a SERCOM,
this is under clarification at [1]. For now, no I/O mapping for that
SPI bus is provided.
[1]: https://forums.adafruit.com/viewtopic.php?t=214093
- use `@image` instead of inline images for better aesthetics,
especially on mobile form factors (where the image before overflowed
the screen width)
- add pinout diagram
- use correct units
The Arduino Zero based boards already provided the feature
`arduino_spi`, but were missing the corresponding mapping. This fixes
the issue by adding the SPI bus numbers for the ISP SPI bus and the
D11D12D13 SPI bus.
(And in order to actually add the D11D12D13 SPI bus, the `periph_conf.h`
was extended to provide an SPI configuration for it.)
C preprocessor defines in non-function form are assumed by C2Rust to be
constant if they are an expression and not a statement; the LED_PORT was
the only place in the code where that was wrong, and led to compiler
errors due to the value not being constant.
Altering the internal macro to use function form sidesteps that issue.
The generally preferred alternative of using a `const` is unavailable in
this case because the dereferencing operator is already part of the
vendor header file cpu/stellaris_common/include/vendor/cortex-m4-def.h.
The changed macro is documented as required by doccheck. The doccheck
rule that grandfathered in the LED_PORT macro as allowed undocumented is
not removed because it is also used in other board.h files.