1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/esp32c3-wemos-mini/Kconfig
Marian Buschsieweke 043e8cc88e
boards,sys/arduino: major clean up
- 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.
2023-06-26 17:24:07 +02:00

52 lines
1.8 KiB
Plaintext

# Copyright (c) 2020 HAW Hamburg
# 2022 Gunar Schorcht
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
config BOARD
default "esp32c3-wemos-mini" if BOARD_ESP32C3_WEMOS_MINI
config BOARD_ESP32C3_WEMOS_MINI
bool
default y
select BOARD_COMMON_ESP32C3
select CPU_MODEL_ESP32C3_FH4
select HAS_ARDUINO_PINS
select HAS_ESP_JTAG
select HAS_PERIPH_ADC
select HAS_PERIPH_I2C
select HAS_PERIPH_PWM
select HAS_PERIPH_SPI
select MODULE_ESP32C3_WEMOS_MINI_V1_0_0 if BOARD_VERSION_ESP32C3_WEMOS_MINI_V1_0_0
select MODULE_ESP32C3_WEMOS_MINI_V2_1_0 if BOARD_VERSION_ESP32C3_WEMOS_MINI_V2_1_0
choice
bool "Wemos ESP32-C3 mini board version"
default BOARD_VERSION_ESP32C3_WEMOS_MINI_V2_1_0
config BOARD_VERSION_ESP32C3_WEMOS_MINI_V1_0_0
bool "Version 1.0.0"
config BOARD_VERSION_ESP32C3_WEMOS_MINI_V2_1_0
bool "Version 2.1.0"
help
There are different versions on the market which differ in the pin
layout for ADC channels and the SPI interface. In addition,
version 2.1.0 has an RGB LED connected to GPIO7 instead of an LED.
Select your version for correct peripheral configuration. If your
board has a RGB LED, it is version 2.1.0 or newer, otherwise it is
version 1.0.0
endchoice
config MODULE_ESP32C3_WEMOS_MINI_V1_0_0
bool
help
Indicates that Wemos ESP32-C3 mini board version v1.0.0 is used.
config MODULE_ESP32C3_WEMOS_MINI_V2_1_0
bool
help
Indicates that Wemos ESP32-C3 mini board version v2.1.0 is used.
source "$(RIOTBOARD)/common/esp32c3/Kconfig"