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

46 Commits

Author SHA1 Message Date
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
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
c6151226ad
Merge pull request #17633 from fjmolinas/pr_ztimer_auto_adjust
sys/ztimer: add auto_adjust module
2022-02-23 10:01:05 +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
Francisco Molina
59d069c59d boards: update CONFIG_ZTIMER_USEC_ADJUST% values 2022-02-18 13:07:49 +01:00
Leandro Lanzieri
e5164ca970
boards/common/{atmega,atxmega,arduino-atmega}: model Kconfig 2021-11-22 12:25:30 +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
Leandro Lanzieri
26dae7a198
boards/common/arduino-atmega: define led_init as weak 2020-08-19 09:17:50 +02:00
Leandro Lanzieri
9c6e3ea91a
boards/common/arduino-atmega: Add Kconfig symbols 2020-06-17 10:59:29 +02:00
Marian Buschsieweke
edd93411fe
dist: De-duplicated AVR debug config & scripts
Use common debug.sh, debug_srv.sh and gdb.conf for all AVR boards.
2020-03-10 12:54:51 +01:00
eafba65911 boards/common/arduino-atmega: add ztimer configuration 2020-03-04 12:44:03 +01:00
Marian Buschsieweke
750d3078e4
boards/common/arduino-atmega: Refactoring
- including `avrdude.mk` and `serial.mk` is no longer needed
- the avrdude flag -F is dropped
    - This allows flashing a board having an MCU different to the one
      RIOT was compiled for
    - It is better to let the user provide this flag manually if she/he really
      wants to turn safety off, knows what she/he is doing, and accepts the
      risk associated with this
- the avrdude flag -D is dropped
    - This disables issuing an erase command during flashing, however this
      erase cycle is strictly required to be able to program the flash
    - This is only needed in case of the stk500v2 bootloader, which implicitly
      does the erase cycle and fails if explicitly asked to do so
    - Only for the stk500v2 bootloader this flag is now added
2020-02-10 14:52:07 +01:00
65e0247a9b
boards/arduino-atmega: add mapping for Arduino PWM pins 2019-11-15 17:54:30 +01:00
27f2a19f72
boards/atmega: remove useless provided gpio features
These features are provided at CPU level
2019-10-17 21:42:49 +02:00
Gaëtan Harter
ec93d4c1c4
boards/common/arduino-atmega: remove special case for jiminy-mega256rfr2
The board is deprecated, no need to ignore this board anymore here.

Having the `arduino` and `periph_pwm` features is now required for all
boards using 'arduino-atmega' (as it was except for that board).

If this should change in the future, it should be defined either in each
arduino board, in another board common, or per CPU_MODEL.
2019-10-08 18:37:32 +02:00
49967b2c4a
boards/avr/dist: setsid can be set with env variable 2019-10-03 12:43:49 +02: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
Francisco Acosta
7139393394 boards: include potential features from CPU for atmega boards
Features must be provided by the board if they're actually
available on board. Other features might be provided by the
CPU.

Some grouping is also removed as it is not necessary.
2019-02-05 17:12:04 +01:00
Francisco Acosta
1a98d64cd5 boards/arduino*: use common avrdude.inc.mk from atmega_common
Leverages common flasher (avrdude) and removes unnecessary exports.
Moreover, a reuse of serial.inc.mk is perfomed from the same
atmega_common/Makefile.include
2019-02-05 17:12:03 +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
Joakim Nohlgård
8996cbe313 make: Introduce new feature flag periph_gpio_irq 2018-08-29 08:53:20 +02: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
22aa6b9cc5
Merge pull request #8962 from aabadie/pr/boards/doxygen_cleanup
boards*: cleanup doxygen
2018-04-24 10:56:00 +02:00
7f62fd83ed boards/arduino-atmega: don't provide arduino for jiminy-mega256rfr2 2018-04-20 16:23:17 +02: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
cladmi
3f145413f5 boards/makefiles: Remove '-Otype' from OFLAGS
* Remove '-Oihex' and '-Obinary' from OFLAGS for all boards
  It is now provided by the Makefile.include rule.
2018-04-09 17:32:46 +02:00
Francisco Acosta
69f4d632e3
Merge pull request #8837 from kaspar030/refactor_atmega_stdio
cpu/atmega: refactor stdio init code
2018-04-03 15:56:33 +03:00
60a55eb06d boards/common/arduino-atmega: use common/atmega shared code 2018-04-03 14:18:32 +02:00
Gaëtan Harter
72ddc72f2b make: cleanup HEXFILE/ELFFILE/BINFILE
* Use the existing variable when possible
* Remove duplicate definition
* Remove unused BINFILE variable
2018-03-27 16:02:48 +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