FastArduino - Arduino LEONARDO Support v1.10
C++ library to build fast but small Arduino/AVR projects
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
leonardo.h File Reference

ATmega32u4 (Arduino LEONARDO) specific features and pins. More...

#include "io.h"
#include "../defines.h"
#include <avr/sleep.h>
Include dependency graph for leonardo.h:

Go to the source code of this file.

Namespaces

namespace  board
 Defines all types and constants specific to support Arduino LEONARDO board (ATmega32u4 MCU target).
 

Enumerations

enum class  board::Port : uint8_t {
  board::PORT_B = 0 ,
  board::PORT_C ,
  board::PORT_D ,
  board::PORT_E ,
  board::PORT_F ,
  NONE = UINT8_MAX
}
 Defines all available ports of ATmega32u4. More...
 
enum class  board::DigitalPin : uint8_t {
  board::D0_PD2 = 0 ,
  board::D0 = D0_PD2 ,
  board::D1_PD3 ,
  board::D1 = D1_PD3 ,
  board::D2_PD1 ,
  board::D2 = D2_PD1 ,
  board::D3_PD0 ,
  board::D3 = D3_PD0 ,
  board::D4_PD4 ,
  board::D4 = D4_PD4 ,
  board::D5_PC6 ,
  board::D5 = D5_PC6 ,
  board::D6_PD7 ,
  board::D6 = D6_PD7 ,
  board::D7_PE6 ,
  board::D7 = D7_PE6 ,
  board::D8_PB4 ,
  board::D8 = D8_PB4 ,
  board::D9_PB5 ,
  board::D9 = D9_PB5 ,
  board::D10_PB6 ,
  board::D10 = D10_PB6 ,
  board::D11_PB7 ,
  board::D11 = D11_PB7 ,
  board::D12_PD6 ,
  board::D12 = D12_PD6 ,
  board::D13_PC7 ,
  board::D13 = D13_PC7 ,
  board::A0_PF7 ,
  board::A0 = A0_PF7 ,
  board::A1_PF6 ,
  board::A1 = A1_PF6 ,
  board::A2_PF5 ,
  board::A2 = A2_PF5 ,
  board::A3_PF4 ,
  board::A3 = A3_PF4 ,
  board::A4_PF1 ,
  board::A4 = A4_PF1 ,
  board::A5_PF0 ,
  board::A5 = A5_PF0 ,
  board::SCK_PB1 ,
  board::MOSI_PB2 ,
  board::MISO_PB3 ,
  board::RXLED_PB0 ,
  board::TXLED_PD5 ,
  board::LED = D13_PC7 ,
  NONE = UINT8_MAX
}
 Defines all available digital input/output pins of ATmega32u4, with reference to Arduino LEONARDO pins. More...
 
enum class  board::AnalogClock : uint8_t {
  MAX_FREQ_50KHz = 0 ,
  MAX_FREQ_100KHz ,
  MAX_FREQ_200KHz ,
  MAX_FREQ_500KHz ,
  MAX_FREQ_1MHz
}
 Defines available clocks of ATmega32u4, used for analog input. More...
 
enum class  board::AnalogReference : uint8_t {
  board::AREF = 0 ,
  board::AVCC ,
  board::INTERNAL_2_56V
}
 Defines available voltage references of ATmega32u4, used for analog input. More...
 
enum class  board::AnalogPin : uint8_t {
  board::A0_ADC7 = 0 ,
  board::A0 = A0_ADC7 ,
  board::A1_ADC6 ,
  board::A1 = A1_ADC6 ,
  board::A2_ADC5 ,
  board::A2 = A2_ADC5 ,
  board::A3_ADC4 ,
  board::A3 = A3_ADC4 ,
  board::A4_ADC1 ,
  board::A4 = A4_ADC1 ,
  board::A5_ADC0 ,
  board::A5 = A5_ADC0 ,
  board::A6_D4_ADC8 ,
  board::D4 = A6_D4_ADC8 ,
  board::A7_D6_ADC10 ,
  board::D6 = A7_D6_ADC10 ,
  board::A8_D8_ADC11 ,
  board::D8 = A8_D8_ADC11 ,
  board::A9_D9_ADC12 ,
  board::D9 = A9_D9_ADC12 ,
  board::A10_D10_ADC13 ,
  board::D10 = A10_D10_ADC13 ,
  board::A11_D12_ADC9 ,
  board::D12 = A11_D12_ADC9 ,
  board::TEMP ,
  board::BANDGAP ,
  NONE = UINT8_MAX
}
 Defines all available analog input pins of ATmega32u4, with reference to Arduino LEONARDO pins. More...
 
enum class  board::PWMPin : uint8_t {
  D11_PB7_OC0A = 0 ,
  D3_PD0_OC0B ,
  D9_PB5_OC1A ,
  D10_PB6_OC1B ,
  D11_PB7_OC1C ,
  D5_PC6_OC3A ,
  D3 = D3_PD0_OC0B ,
  D9 = D9_PB5_OC1A ,
  D10 = D10_PB6_OC1B ,
  D5 = D5_PC6_OC3A ,
  NONE = UINT8_MAX
}
 Defines all digital output pins of ATmega32u4, capable of PWM output. More...
 
enum class  board::ExternalInterruptPin : uint8_t {
  D3_PD0_EXT0 = 0 ,
  D2_PD1_EXT1 ,
  D0_PD2_EXT2 ,
  D1_PD3_EXT3 ,
  D7_PE6_EXT6 ,
  D3 = D3_PD0_EXT0 ,
  D2 = D2_PD1_EXT1 ,
  D0 = D0_PD2_EXT2 ,
  D1 = D1_PD3_EXT3 ,
  D7 = D7_PE6_EXT6
}
 Defines all digital output pins of ATmega32u4, usable as direct external interrupt pins. More...
 
enum class  board::InterruptPin : uint8_t {
  RXLED_PB0_PCI0 = uint8_t(DigitalPin::RXLED_PB0) ,
  SCK_PB1_PCI0 = uint8_t(DigitalPin::SCK_PB1) ,
  MOSI_PB2_PCI0 = uint8_t(DigitalPin::MOSI_PB2) ,
  MISO_PB3_PCI0 = uint8_t(DigitalPin::MISO_PB3) ,
  D8_PB4_PCI0 = uint8_t(DigitalPin::D8_PB4) ,
  D9_PB5_PCI0 = uint8_t(DigitalPin::D9_PB5) ,
  D10_PB6_PCI0 = uint8_t(DigitalPin::D10_PB6) ,
  D11_PB7_PCI0 = uint8_t(DigitalPin::D11_PB7) ,
  D8 = D8_PB4_PCI0 ,
  D9 = D9_PB5_PCI0 ,
  D10 = D10_PB6_PCI0 ,
  D11 = D11_PB7_PCI0
}
 Defines all digital output pins of ATmega32u4, usable as pin change interrupt (PCI) pins. More...
 
enum class  board::USART : uint8_t { USART1 = 1 }
 Defines all USART modules of ATmega32u4, actually only one. More...
 
enum class  board::Timer : uint8_t {
  board::TIMER0 = 0 ,
  board::TIMER1 = 1 ,
  board::TIMER3 = 3
}
 Defines all "standard" timers available for ATmega32u4. More...
 
enum class  board::SleepMode : uint8_t {
  board::IDLE = SLEEP_MODE_IDLE ,
  board::ADC_NOISE_REDUCTION = SLEEP_MODE_ADC ,
  board::POWER_DOWN = SLEEP_MODE_PWR_DOWN ,
  board::POWER_SAVE = SLEEP_MODE_PWR_SAVE ,
  board::STANDBY = SLEEP_MODE_STANDBY ,
  board::EXTENDED_STANDBY = SLEEP_MODE_EXT_STANDBY
}
 Defines all available sleep modes for ATmega32u4. More...
 

Functions

static void board::init ()
 Performs special initialization for ATmega32u4, actually disabling USB related interrupts, to avoid strange behavior at reset time. More...
 

Detailed Description

ATmega32u4 (Arduino LEONARDO) specific features and pins.

Definition in file leonardo.h.