1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

26 Commits

Author SHA1 Message Date
bors[bot]
37c6233bcb
Merge #19764 #19781
19764: drivers/shield_w5100: add module for the W5100 Ethernet Shield r=benpicco a=maribu

### Contribution description

This module provides no more than the correct configuration parameters for the `w5100` driver using the Arduino I/O mapping features. But by doing so, it will work out of the box with every mechanically and electrically compatible board for which the Arduino I/O mapping features are implemented.


19781: cpu/nrf{53,9160}: add pwm support r=benpicco a=dylad

### Contribution description

This PR moves the nRF52 PWM driver to `cpu/nrf5x_common` to allow nRF9160 and nRF53 to use this driver.
IP is identical on these families.

I didn't test on nRF9160DK and I didn't test if there is any regression on nRF52-based board as I don't have any so tests are welcome !
However it works fine on nRF53-based board.


### Testing procedure

Flash the `tests/periph/pwm` test application on `nrf5340dk` or `nrf9160dk`.
You can then use the `osci` command to make the onboard LEDs "breath".
You can also attach an oscilloscope and/or logic analyzer to watch the signal.


### Issues/PRs references
~~Based on #19769~~

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: dylad <dylan.laduranty@mesotic.com>
2023-07-10 10:51:20 +00:00
Marian Buschsieweke
4f0f1be1d2
boards: Fix I2C Arduino mapping
The correct macro name is `ARDUINO_I2C_UNO` for Arduino UNO compatible
I2C bus location, or `ARDUINO_I2C_NANO` for Arduino Nano compatible
I2C bus location.
2023-06-28 09:05:23 +02:00
Marian Buschsieweke
85c2f43415
boards: Remove W5100 configuration
Rather than providing this for every board (or group of boards)
individually, it is better to provide this once relying on the Arduino
I/O mapping features.
2023-06-27 10:03:41 +02: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
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
krzysztof-cabaj
1e8c7980e3 boards/common/adruino-atmega: fix issue with wrong port for LED0 2022-06-23 09:06:08 -04:00
Benjamin Valentin
5d111e71aa boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
Francisco Molina
59d069c59d boards: update CONFIG_ZTIMER_USEC_ADJUST% values 2022-02-18 13:07:49 +01:00
J. David Ibáñez
c965ce3de6 boards/common/arduino-atmega: define F_CPU
This fixes the following error:

$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
[...]
[...]/RIOT/build/pkg/arduino_sdi_12/src/SDI12_boards.cpp:35:16: error: ‘preSDI12_TCCR2B’ defined but not used [-Werror=unused-variable
   35 | static uint8_t preSDI12_TCCR2B;
2021-10-28 15:59:40 +02:00
Francisco Molina
3269bcef88
boards/common/arduino-atmega: add USEC_ADJUST values 2021-06-15 16:45:34 +02:00
eafba65911 boards/common/arduino-atmega: add ztimer configuration 2020-03-04 12:44:03 +01:00
65e0247a9b
boards/arduino-atmega: add mapping for Arduino PWM pins 2019-11-15 17:54:30 +01:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Marian Buschsieweke
7bc9b4b707
boards/common/atmega: Refactoring periph_conf.h
- Moved code for periph_conf of all ATmega based boards to boards/common/atmega
- Added possibility to override config from individual board:
  - Named file `periph_conf_atmega_common.h` and let this be included from
    `board/$BOARD/include/periph_conf.h` to allow modifications
  - Guarded individual periph configs by `#ifndef $PERIPH_NUMOF` ... `#endif`
2019-02-25 18:48:09 +01:00
Marian Buschsieweke
d2c8eab793
boards/arduino*: Added/refactored params for W5100
- ATmega based boards: Added parameter for W5100 to board_common.h
- Arduino Due based boards: Use board.h instead of providing w5100_params.h
2019-01-22 15:46:33 +01:00
Kevin "Bear Puncher" Weiss
153759b926
Merge pull request #10498 from smlng/pr/adapt/7542
atmega: add periph_pwm (taken from #7542)
2018-11-29 15:54:51 +01:00
smlng
262a04c9cf atmega: fix periph timer configuration
- correct number of timers for atmega328p from 2 to 1
- correct number of timer channels for atmega328p from 3 to 2
- adapt atmega periph timer implementation accordingly
2018-11-29 09:30:44 +01:00
Victor Arino
8ff8aefb72 boards/arduino-atmega-common: support for PWM 2018-11-29 08:50:56 +01:00
Francisco Acosta
956ae521dc boards: add atmega based boards clock scale defaults
The `atmega_set_prescaler` was using a "sensible" default
but it's better to define it at the board level to make
it clear.
2018-11-02 16:24:30 +01:00
Francisco Acosta
5823f69123 boards: add LED_PANIC to atmega based boards
This adds a LED_PANIC macro which defines which LED,
or combination of LEDs should notify a panic error.
This is currently used to signal BADISR_vect errors.
2018-11-02 16:23:48 +01:00
Hauke Petersen
c2184f3454 boards/cpu/drivers/sys: use generic stdio_ if 2018-08-22 10:54:25 +02:00
c26888c9f7 boards: adapt atmega boards with new i2c API 2018-07-25 12:01:39 +02:00
Matthew Blue
a6ef6ddbfd boards/common/arduino-atmega: remove context swap defines 2018-04-27 14:13:34 -04:00
70802fc652 boards*: cleanup doxygen
- replace brief with name where required
- remove some unwanted empty lines
- fix missing closing doxygen name block
2018-04-18 12:08:56 +02:00
smlng
800fac5be4 boards/common: enhance doxygen for arduino-atmega 2017-12-15 10:21:10 +01:00
Hauke Petersen
0f155db499 boards/arduino-atmega: move shared code to common/arduino-atmega 2017-11-30 10:26:35 +01:00