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

101 Commits

Author SHA1 Message Date
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Gunar Schorcht
c80591779f boards: fix references in documentation 2023-09-27 09:12:06 +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
Marian Buschsieweke
015ee050f2
makefiles/tools/serial.inc.mk: Allow detection of debug adapter
Boards with an integrated debugger/programmer that also provides the
serial as UART <--> USB adapter, the TTY serial matches the serial of
the programmer.

This adapts the `serial.inc.mk` to set the `DEBUG_ADAPTER_ID` to the
TTY serial if (and only if) `MOST_RECENT_PORT` *and*
`DEBUG_ADAPTER_ID_IS_TTY_SERIAL` both have a value of `1`. Boards with
an integrated programmer are expected to set
`DEBUG_ADAPTER_ID_IS_TTY_SERIAL` to `1` in their `Makefile.include`.
2023-02-24 16:50:56 +01:00
Marian Buschsieweke
dadf22f07a
boards/arduino-mega2560: add TTY_BOARD_FILTER
This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

Note: Unless `ARDUINO_MEGA2560_COMPAT_WITH_CLONES` is set to `0`,
this will fall back to detecting any cheap USB UART bridge typically
found in Arduino Mega 2560 clones if no genuine Arduino Mega is found.
2022-12-11 18:58:19 +01:00
Francisco Molina
1f5a96deea boards/arduino-mega2560: add ztimer adjust paramters 2022-03-22 15:20:31 +01:00
Leandro Lanzieri
f684ecfd5c
boards: model avr-based boards Kconfig
Modelled boards:

arduino-duemilanove
arduino-leonardo
arduino-mega2560
arduino-nano
arduino-uno
atmega1284p
atmega256rfr2-xpro
atmega328p-xplained-mini
atmega328p
atxmega-a1-xplained
atxmega-a1u-xpro
atxmega-a3bu-xplained
avr-rss2
derfmega128
derfmega256
mega-xplained
microduino-corerf
zigduino
2021-11-22 12:25:30 +01:00
64b6314807
boards/atmega: cleanup BOOTLOADER variables definitions 2021-02-02 14:10:03 +01:00
f8822b5f8f
boards: remove not need PORT_LINUX/PORT_DARWIN
They defined the same in serial.inc.mk. Some Darwin default are changed because they are probably wrong
2020-12-02 09:20:57 +01:00
Leandro Lanzieri
a8a6babff5
boards/arduino-mega2560: Add Kconfig symbols 2020-06-17 12:44:30 +02:00
Marian Buschsieweke
2f3961690e
cpu/atmega_common: Add feature PUF_SRAM
The feature is implemented in `cpu/atmega_common`, so we can just enable it for
all ATmega boards.
2020-05-15 11:31:23 +02:00
Gunar Schorcht
e41ba8aa8c boards/arduino-mega2560: fix broken links 2020-03-23 18:01:14 +01:00
Marian Buschsieweke
793e1122eb
boards/arduino-mega2560: Updated documentaiton
- Extended documentation regarding debugging
- Removed outdated board state tracking list. (All periphs are now supported)
- Made table code pretty
2020-03-10 20:14:35 +01:00
Koos
cec9817b2e boards/arduino-mega2560: Updated broken image link 2020-03-04 09:54:36 +01:00
Marian Buschsieweke
23531b3a73
boards/arduino-mega2560: Refactor avrdude conf 2020-02-10 14:58:18 +01:00
713fead00a
boards: move some USEMODULE to Makefile.dep 2020-02-07 13:21:22 +01:00
Gaëtan Harter
636285ebe4
boards: move CPU/CPU_MODEL definition to Makefile.features
cpu/$(CPU)/Makefile.features and cpu/$(CPU)/Makefile.dep are
automatically included

Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-08-20 16:11:50 +02:00
Robert Hartung
18117b4eb8 boards/arduino-mega2560: restrics usable pin change interrupts 2019-08-01 09:35:35 +02:00
Robert Hartung
09b26120fd boards: adds atmega pin change interrupt to doc 2019-08-01 09:35:35 +02:00
Sebastian Meiling
d29d336894
Merge pull request #11039 from maribu/avrdude
makefiles/tools: Improved avrdude integration
2019-02-28 22:15:30 +02:00
Marian Buschsieweke
4abc41a227
makefiles/tools: Automatically set avrdude target
The CPU variable in the boards Makefile.include file already contains the target
CPU, so there is no reason to provide it in each board again as avrdude flag.

This commit automatically sets the avrdude target from the CPU variable and
removes the unneeded flags.
2019-02-28 20:55:04 +01: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
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
PeterKietzmann
8d11ca417f cpu/atmega_common: add mega2560 puf_sram feature 2018-11-20 09:45:32 +01:00
cladmi
b450141d4d
boards: unconditionally include CPU/Makefile.features
The file always exist so no need to do '-include'.

Replaced using:

    sed -i 's|-\(include $(RIOTCPU)/.*/Makefile.features\)|\1|' \
        $(git grep -l  '$(RIOTCPU)/.*/Makefile.features' boards)
2018-10-11 17:13:40 +02:00
cladmi
6a96042b4a
arduino-mega2560: configure BOOTLOADER_SIZE
Taken from https://store.arduino.cc/arduino-mega-2560-rev3
2018-09-05 12:20:41 +02:00
Jose Alamos
7b28fbf110 boards: fix Doxygen group directives 2018-08-01 15:24:55 +02:00
Jose Alamos
a1e17ab5af doc: add wiki documentation to Doxygen files 2018-08-01 15:24:54 +02:00
Hauke Petersen
0f155db499 boards/arduino-atmega: move shared code to common/arduino-atmega 2017-11-30 10:26:35 +01:00
02e055fc81 make: include cpu Makefile.features from board Makefile.features 2017-09-14 13:15:52 +02:00
Martine Lenders
3a3e993c0c doc: arduino: unify arduino include path and doc with rest of codebase 2017-04-13 18:47:25 +02:00
Anthony Merlino
aa1056a33b boards/arduino*: Unifies PORT_<OS> settings
All boards define a default PORT_LINUX and PORT_DARWIN
arduino-atmega-common uses PORT_LINUX and PORT_DARWIN accordingly
2017-02-02 14:12:03 -05:00
Anthony Merlino
3f7808add0 boards/arduino-mega2560: Alters board to depend on arduino-atmega-common 2017-02-02 14:12:02 -05:00
Bas Stottelaar
3b14a584b8 boards: *: remove SPI_*_EN now rework is merged 2017-01-31 19:38:41 +01:00
ebc35a0613 boards: fix doxygen @brief in periph.conf 2017-01-27 10:31:56 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Cenk Gündoğan
d853dd63c1 cpu: make CFLAGS_DBG configurable 2017-01-16 15:54:59 +01:00
Joakim Nohlgård
24b41dc633 boards: Update XTIMER_SHIFT and XTIMER_HZ configurations to match xtimer changes 2016-11-28 11:05:03 +01:00
Hauke Petersen
fc243f1841 boards: removed some superfluous definitions
- removed UART_STDIO_DEV as they use the default value
- removed BTN_B1_PIN for nucleo-207, as its already defined in the common header
2016-09-29 11:21:48 +02:00
Ludwig Knüpfer
6d30ced410 Merge pull request #5763 from jthacker/avr_thread_arch_isr_stack_usage
atmega: use software interrupt for context swap
2016-09-21 21:13:05 +02:00
Martine Lenders
8a74475e70 Merge pull request #5761 from mali/rmdeadcode
boards/atmega_common: remove dead code on link
2016-09-12 17:01:15 +02:00
Jon Thacker
e0365e0bf9 atmega: use software interrupt for context swap
Fixes #5745
For AVR based boards, three defines must be defined AVR_CONTEXT_SWAP_INIT,
AVR_CONTEXT_SWAP_INTERRUPT_VECT, and AVR_CONTEXT_SWAP_TRIGGER.
These defines are used to trigger a software interrupt used for context
switching.

When AVR_CONTEXT_SWAP_INTERRUPT_VECT is handled, the scheduler is run
and a context swap will happen if necessary, with the resulting thread
starting following the reti instruction. This results in threads running
at normal priority instead of at interrupt priority.

Atmega devices do provide a pure software interrupt. The method used
here for waspmote-pro and arduino-mega2560 is to use pin change
interrupts, set the pin to act as an output, and toggle the value to
simulate a software interrupt. The main limitation here is that a
physical pin is now occupied and must be defined for each board
supported by RIOT. On the plus side, it provides an easy method for
detecting context swaps with an oscilloscope.
2016-09-07 14:35:53 -05:00
Laurent Navet
5791a38668 boards/arduino-mega2560: adapt compilation flags
Remove flags which are now exported in atmega_common
2016-08-31 21:32:10 +02:00
kYc0o
5e3747ea8b Merge pull request #5590 from mali/atmega_common
cpu/atmega_common: improve to add smaller atmega MCUs.
2016-08-31 18:29:53 +02:00
Laurent Navet
2cd918a07a atmega_common: abstract Power Reduction Register
PR Register is PRR0 on atmega2560 and atmega1281
but PRR on atmega328p.
this abstracts as atmega Power Reduction Register as MEGA_PRR.
2016-08-20 12:21:32 +02:00
Joakim Nohlgård
db55740447 boards/arduino-mega2560: Add -Wno-error if building with LTO 2016-08-10 16:18:29 +02:00
Bas Stottelaar
43f146663e boards: arduino-mega2560, waspmote-pro: garbage collect dead code in linker options 2016-07-13 16:45:13 +02:00
46bd2f45d9 sys: xtimer: replace XTIMER_MASK with XTIMER_WIDTH in board config 2016-07-06 18:16:15 +02:00
kYc0o
abba25e068 boards/arduino-mega2560: define UART for STDIO 2016-06-22 14:25:10 +02:00
Hauke Petersen
a2ddb1dd7f boards/atmega2560: adapted UART configuration 2016-06-08 18:32:17 +02:00