22#ifndef BOARDS_ATMEGA_XX4_HH
23#define BOARDS_ATMEGA_XX4_HH
26#include "../defines.h"
31#define BOARDS_ATMEGAXX4
49 inline static void init() {}
54 enum class Port: uint8_t
218 enum class PWMPin : uint8_t
227#ifdef __AVR_ATmega1284P__
261 D0_PA0_PCI0 = uint8_t(DigitalPin::D0_PA0),
262 D1_PA1_PCI0 = uint8_t(DigitalPin::D1_PA1),
263 D2_PA2_PCI0 = uint8_t(DigitalPin::D2_PA2),
264 D3_PA3_PCI0 = uint8_t(DigitalPin::D3_PA3),
265 D4_PA4_PCI0 = uint8_t(DigitalPin::D4_PA4),
266 D5_PA5_PCI0 = uint8_t(DigitalPin::D5_PA5),
267 D6_PA6_PCI0 = uint8_t(DigitalPin::D6_PA6),
268 D7_PA7_PCI0 = uint8_t(DigitalPin::D7_PA7),
271 D8_PB0_PCI1 = uint8_t(DigitalPin::D8_PB0),
272 D9_PB1_PCI1 = uint8_t(DigitalPin::D9_PB1),
273 D10_PB2_PCI1 = uint8_t(DigitalPin::D10_PB2),
274 D11_PB3_PCI1 = uint8_t(DigitalPin::D11_PB3),
275 D12_PB4_PCI1 = uint8_t(DigitalPin::D12_PB4),
276 D13_PB5_PCI1 = uint8_t(DigitalPin::D13_PB5),
277 D14_PB6_PCI1 = uint8_t(DigitalPin::D14_PB6),
278 D15_PB7_PCI1 = uint8_t(DigitalPin::D15_PB7),
281 D16_PC0_PCI2 = uint8_t(DigitalPin::D16_PC0),
282 D17_PC1_PCI2 = uint8_t(DigitalPin::D17_PC1),
283 D18_PC2_PCI2 = uint8_t(DigitalPin::D18_PC2),
284 D19_PC3_PCI2 = uint8_t(DigitalPin::D19_PC3),
285 D20_PC4_PCI2 = uint8_t(DigitalPin::D20_PC4),
286 D21_PC5_PCI2 = uint8_t(DigitalPin::D21_PC5),
287 D22_PC6_PCI2 = uint8_t(DigitalPin::D22_PC6),
288 D23_PC7_PCI2 = uint8_t(DigitalPin::D23_PC7),
291 D24_PD0_PCI3 = uint8_t(DigitalPin::D24_PD0),
292 D25_PD1_PCI3 = uint8_t(DigitalPin::D25_PD1),
293 D26_PD2_PCI3 = uint8_t(DigitalPin::D26_PD2),
294 D27_PD3_PCI3 = uint8_t(DigitalPin::D27_PD3),
295 D28_PD4_PCI3 = uint8_t(DigitalPin::D28_PD4),
296 D29_PD5_PCI3 = uint8_t(DigitalPin::D29_PD5),
297 D30_PD6_PCI3 = uint8_t(DigitalPin::D30_PD6),
298 D31_PD7_PCI3 = uint8_t(DigitalPin::D31_PD7),
304 enum class USART: uint8_t
315 enum class Timer: uint8_t
323#ifdef __AVR_ATmega1284P__
339 IDLE = SLEEP_MODE_IDLE,
344 ADC_NOISE_REDUCTION = SLEEP_MODE_ADC,
354 POWER_DOWN = SLEEP_MODE_PWR_DOWN,
362 POWER_SAVE = SLEEP_MODE_PWR_SAVE,
367 STANDBY = SLEEP_MODE_STANDBY,
372 EXTENDED_STANDBY = SLEEP_MODE_EXT_STANDBY
#define SIGNAL_HANDLER
Specific GCC attribute for AVR target, declaring a function as a signal handler (aka ISR,...
@ NONE
No interrupt will be generated by the Anolog Comparator.
Defines all types and constants specific to support a specific MCU target.
PWMPin
Defines all digital output pins of target MCU, capable of PWM output.
Port
Defines all available ports of the target MCU.
static void init()
Performs special initialization for the target MCU.
DigitalPin
Defines all available digital input/output pins of the target MCU.
AnalogClock
Defines available clocks of the target MCU, used for analog input.
AnalogPin
Defines all available analog input pins of the target MCU.
InterruptPin
Defines all digital output pins of target MCU, usable as pin change interrupt (PCI) pins.
USART
Defines all USART modules of target MCU.
Timer
Defines all timers available for target MCU.
ExternalInterruptPin
Defines all digital output pins of target MCU, usable as direct external interrupt pins.
SleepMode
Defines all available sleep modes for target MCU.
AnalogReference
Defines available voltage references of the target MCU, used for analog input.
@ PORT_A
The A port of MCP23017.
@ PORT_B
The B port of MCP23017.