1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

26 Commits

Author SHA1 Message Date
Marian Buschsieweke
97b91b4f8f
boards/stm32: use GPIO LL for LEDs
This fixes a race in `LED<NUM>_TOGGLE`, which is a read-copy-write
operation. Any access to a GPIO pin on the same GPIO port that
happens concurrently could result in data corruption. Using the
GPIO LL API, which is thread-safe, fixes the issue.

Note: The used GPIO LL functions will work even in when the GPIO LL
      module is not used.
2024-08-02 09:55:24 +02:00
Marian Buschsieweke
97a6543c10
tree-wide: Introduce netif feature and use it
This gets rid of a long list of boards with network interfaces and
instead let's boards (or MCUs with peripheral network interfaces)
provide the netif feature.

The apps that before used the long list are not depending on the
feature instead (in case of the default example, this is an
optional dependency).

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
Co-authored-by: mewen.berthelot <mewen.berthelot@orange.com>
2024-05-22 10:39:56 +02:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
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
MrKevinWeiss
464f57b4a3
boards: Remove PLL overrides in kconfig
Since we know the HSE speed, manual overrides are not needed anymore
2022-11-03 13:38:09 +01:00
MrKevinWeiss
17cce015d4
treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
J. David Ibáñez
739c9a91fd boards/lora-e5-dev: add arduino feature 2022-10-24 12:16:47 +02:00
Marian Buschsieweke
1fd9913293
boards/common/stm32: clean up LED definitions
Let boards only define the port and pin number of each LEDs. The common
definitions in `stm32_leds.h` will provide `LED<x>_ON`, `LED<x>_OFF`,
`LED<x>_TOGGLE`, `LED<x>_PIN`, `LED<x>_MASK` and `LED<x>_PORT`.

In addition to code de-duplication, this also makes it easier to use
LEDs in GPIO LL, which can be beneficial for super low overhead
debugging output - e.g. when a bug is timing sensitive and `DEBUG()`
would spent to much time for stdio to reproduce a bug.
2022-08-08 23:35:06 +02:00
fdacb1a118
boards/stm32: adapt I2C configuration where needed 2022-03-23 10:10:08 +01:00
Benjamin Valentin
5d111e71aa boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
Fabian Hüßler
9163d78910 boards: add VBAT for stm32 based boards with ADC 2022-02-21 10:49:43 +01:00
Benjamin Valentin
468ea89953 boards: drop LED init
This is handled by periph_init_leds now
2022-02-18 14:35:43 +01:00
MrKevinWeiss
92fff8976b
boards/lora-e5-dev: HSE/LSE available in kconfig 2022-02-07 13:05:55 +01:00
796e127df9
boards/stm32: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
MrKevinWeiss
deda2cfb97
boards: Fix stm32 based boards kconfig models 2021-12-15 09:31:45 +01:00
Francisco Molina
3174e847d6 boards/lora-e5-dev: fix default DARWIN port 2021-12-10 11:08:26 +01:00
Francisco Molina
d5fed21277 boards/lora-e5-dev: extended documentation 2021-11-21 15:22:04 +01:00
Francisco
72abac66f1
Merge pull request #17183 from fjmolinas/pr_stm32wl_adc
cpu/stm32/wl: initial periph_adc implementation
2021-11-15 19:06:24 +01:00
Francisco Molina
6346fc8613 boards/lora-e5-dev: map a4, a5 analog inputs 2021-11-15 17:07:21 +01:00
benpicco
1c3ceb2bd6
Merge pull request #17185 from fjmolinas/pr_lora_e5_dev_warning
boards/lora-e5-dev: add warning in doc
2021-11-12 13:42:17 +01:00
Francisco Molina
773d576bdc boards/lora-e5-dev: add warning in doc 2021-11-11 16:51:51 +01:00
Francisco Molina
002df1c5c2 boards/lora-e5-dev: set tx_pa_mode to HPA 2021-11-08 18:42:34 +01:00
Francisco Molina
c208300f2b boards/lora-e5-dev: add lm75a to saul default 2021-11-08 09:37:51 +01:00
Francisco Molina
c393efd360 boards/lora-e5-dev: enable 3.3V and 5V output by default 2021-11-08 09:37:51 +01:00
Benjamin Valentin
fc88c4c4e5 boards: drop cpu_init() 2021-10-13 23:36:41 +02:00
Francisco Molina
1fa6374530
boards/lora-e5-dev: initial support 2021-07-21 11:28:16 +02:00