The ESP32 Ethernet Kit has only a single GPIO pin exposed to SAUL via
`saul_gpio`, but that GPIO doubles as PHY clock input when `esp32_eth`
is used. Hence, the `saul_gpio` dep should be optional and only kick
in when `esp32_eth` is not used.
When using `make flash` or `make term` with `MOST_RECENT_PORT=1`, RIOT
should now only consider plausible TTYs and select the most recently
connected one. The filter is a bit broad, though, and will match
any board with a CP2104 USB2UART bridge. But depending on the boards
attached, it might be good enough to reliably tell it apart from other
boards.
- Rename all `arduino_pinmap.h` to `arduino_iomap.h`
- An empty `arduino_pinmap.h` that just includes `arduino_iomap.h`
is provided for backward compatibility
- Move all info from `arduino_board.h` into the new file as trivial
macros, so that they can also be used outside of sketches
- The new name reflects the fact not just pin mappings, but also
other I/O features such as PWMs are mapped
- Drop all `arduino_board.h`
- `arduino_board.h` and `arduino_iomap.h` now provide the exact
same information, just in a different format
- a generic `arduino_board.h` is provided instead that just
uses the info in `arduinio_iomap.h` and provides them in the
format the code in `sys/arduino` expects it
- Add fine grained features to indicate for mappings
- availability of mappings for analog pins, DAC pins, PWM pins,
UART devices, SPI/I2C buses to the corresponding RIOT
identification can now be expressed:
- `arduino_pins`: `ARDUINO_PIN_0` etc. are available
- `arduino_analog`: `ARDUINO_A0` etc. are available
- `arduino_pwm`: `ARDUINO_PIN_13_PWM_DEV` etc. are available
- `arduino_dac`: `ARDUINO_DAC0` etc. are available
- `arduino_uart`: `ARDUINO_UART_D0D1` or similar are available
- `arduino_spi`: `ARDUINO_SPI_ISP` or similar are available
- `arduino_i2c`: `ARDUINO_I2C_UNO` or similar are available
- mechanical/electrical compatibility with specific form factors
can now be expressed as features:
- `aruino_shield_nano`: Arduino NANO compatible headers
- `aruino_shield_uno`: Arduino UNO compatible headers
- `aruino_shield_mega`: Arduino MEGA compatible headers
- `aruino_shield_isp`: ISP header is available
This provides the groundwork to implement shield support as modules
that can rely on the I/O mappings, rather than having to provide a
configuration per board.
Fixes various issues in documentation:
- replaces HTML anchor tags in markdown headings by markdown heading IDs.
- replaces HTML linebreaks by newline commands
- replaces \htmlonly commands for image resizing by the width argument in \image commands
- uses more unique identifiers for references
- uses stable references for driver documentation
- fix broken links to external HTML documents
- replaces the TOC link in headers by a back to TOC link below each section
- replaces ``` fenced code blocks by ~~~
Since a number of applications rely on the existence of the BTN0_PIN definition, the BUTTON0_PIN definition has been renamed to BTN0_PIN to make the ESP32 boards compatible with these applications. However, for compatibility with earlier versions, BUTTON0_PIN is still defined as an alias of BTN0_PIN.
Instead of using the same MCU feature table in every board documentation, it refers to the MCU documentation. This makes it easier to maintain the MCU feature table.
According to the datasheet, SX1278 covers frequencies till 525MHz
and hence, cannot be used for the 868/915 MHz band. So swap both
chips.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>