From 044e855c2e98861290d17bdcace09613f10ede93 Mon Sep 17 00:00:00 2001 From: Nico Date: Fri, 9 Jan 2015 18:00:36 +0100 Subject: [PATCH] Fixed hid core installation It is no longer needed to manually move the hid core to your arduino installation due to a fix in platform.txt --- Readme.md | 7 +- avr/boards.txt | 22 +- avr/platform.txt | 96 +++++ avr/variants/leonardo/pins_arduino.h | 361 +++++++++++++++++++ avr/variants/leonardo_custom/pins_arduino.h | 2 +- avr/variants/leonardo_gamepad/pins_arduino.h | 2 +- avr/variants/leonardo_hid/pins_arduino.h | 2 +- avr/variants/leonardo_no_usb/pins_arduino.h | 2 +- avr/variants/micro/pins_arduino.h | 37 ++ avr/variants/micro_custom/pins_arduino.h | 2 +- avr/variants/micro_gamepad/pins_arduino.h | 2 +- avr/variants/micro_hid/pins_arduino.h | 2 +- avr/variants/micro_no_usb/pins_arduino.h | 2 +- board.png | Bin 27786 -> 27753 bytes hid-core.png | Bin 34248 -> 0 bytes 15 files changed, 514 insertions(+), 25 deletions(-) create mode 100644 avr/variants/leonardo/pins_arduino.h create mode 100644 avr/variants/micro/pins_arduino.h delete mode 100644 hid-core.png diff --git a/Readme.md b/Readme.md index 6ff2a97..6dfbddf 100644 --- a/Readme.md +++ b/Readme.md @@ -42,12 +42,9 @@ Make sure your HoodLoader2 software is up to date when you also update the HID-P [HoodLoader1](https://github.com/NicoHood/HoodLoader) is only supported for legacy but will get a new use soon! For Arduino Micro/Leonardo ignore this step. -Installation has changed over the time. Put all files from *avr/* into *sketchbook/hardware/HID/avr*. +Installation has changed over the time. Make sure you use Arduino IDE 1.5.8 or newer. You don't have to modify the original core any more. - -At the moment you have to move the cores/hid folder into your Arduino installation -*arduino-1.6.0/hardware/arduino/avr/cores/hid* because of a bug in the IDE. -![HID Folder Picture](hid-core.png) +Put all files into *sketchbook/hardware/HID/*. **You have to rename the folder HID-master to HID.** **Your sketchbook folder should look like this:** ![Installation Picture](installation.png) diff --git a/avr/boards.txt b/avr/boards.txt index 43f101d..f1c22bf 100644 --- a/avr/boards.txt +++ b/avr/boards.txt @@ -36,22 +36,21 @@ leonardoExtended.build.extra_flags={build.usb_flags} #USB core selection #HID Project needs to be installed https://github.com/NicoHood/HID -#TODO change to HID:hid leonardoExtended.menu.usbcore.hid=Serial + Extended HID leonardoExtended.menu.usbcore.hid.build.variant=leonardo_hid -leonardoExtended.menu.usbcore.hid.build.core=arduino:hid +leonardoExtended.menu.usbcore.hid.build.core=HID:hid leonardoExtended.menu.usbcore.gamepad=Serial + Gamepad HID leonardoExtended.menu.usbcore.gamepad.build.variant=leonardo_gamepad -leonardoExtended.menu.usbcore.gamepad.build.core=arduino:hid +leonardoExtended.menu.usbcore.gamepad.build.core=HID:hid leonardoExtended.menu.usbcore.custom=Serial + Custom HID leonardoExtended.menu.usbcore.custom.build.variant=leonardo_custom -leonardoExtended.menu.usbcore.custom.build.core=arduino:hid +leonardoExtended.menu.usbcore.custom.build.core=HID:hid leonardoExtended.menu.usbcore.USB_CORE=Default Core leonardoExtended.menu.usbcore.USB_CORE.build.variant=arduino:leonardo leonardoExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino leonardoExtended.menu.usbcore.NO_USB=No USB functions leonardoExtended.menu.usbcore.NO_USB.build.variant=leonardo_no_usb -leonardoExtended.menu.usbcore.NO_USB.build.core=arduino:hid +leonardoExtended.menu.usbcore.NO_USB.build.core=HID:hid ############################################################## @@ -83,22 +82,21 @@ microExtended.build.extra_flags={build.usb_flags} #USB core selection #HID Project needs to be installed https://github.com/NicoHood/HID -#TODO change to HID:hid microExtended.menu.usbcore.hid=Serial + Extended HID microExtended.menu.usbcore.hid.build.variant=micro_hid -microExtended.menu.usbcore.hid.build.core=arduino:hid +microExtended.menu.usbcore.hid.build.core=HID:hid microExtended.menu.usbcore.gamepad=Serial + Gamepad HID microExtended.menu.usbcore.gamepad.build.variant=micro_gamepad -microExtended.menu.usbcore.gamepad.build.core=arduino:hid +microExtended.menu.usbcore.gamepad.build.core=HID:hid microExtended.menu.usbcore.custom=Serial + Custom HID microExtended.menu.usbcore.custom.build.variant=micro_custom -microExtended.menu.usbcore.custom.build.core=arduino:hid +microExtended.menu.usbcore.custom.build.core=HID:hid microExtended.menu.usbcore.USB_CORE=Default Core microExtended.menu.usbcore.USB_CORE.build.variant=arduino:micro microExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino microExtended.menu.usbcore.NO_USB=No USB functions microExtended.menu.usbcore.NO_USB.build.variant=micro_no_usb -microExtended.menu.usbcore.NO_USB.build.core=arduino:hid +microExtended.menu.usbcore.NO_USB.build.core=HID:hid ############################################################## @@ -126,7 +124,7 @@ uno.bootloader.file=arduino:optiboot/optiboot_atmega328.hex uno.build.mcu=atmega328p uno.build.f_cpu=16000000L uno.build.board=AVR_UNO -uno.build.core=arduino:hid +uno.build.core=HID:hid uno.build.variant=arduino:standard ############################################################## @@ -148,7 +146,7 @@ mega.bootloader.unlock_bits=0x3F mega.bootloader.lock_bits=0x0F mega.build.f_cpu=16000000L -mega.build.core=arduino:hid +mega.build.core=HID:hid mega.build.variant=arduino:mega # default board may be overridden by the cpu menu mega.build.board=AVR_MEGA2560 diff --git a/avr/platform.txt b/avr/platform.txt index c1dae04..051ea45 100644 --- a/avr/platform.txt +++ b/avr/platform.txt @@ -10,3 +10,99 @@ name=HID Project USB-Core version=2.1 + + +# AVR compile variables +# --------------------- + +# Default "compiler.path" is correct, change only if you want to overidde the initial value +compiler.path={runtime.ide.path}/hardware/tools/avr/bin/ +compiler.c.cmd=avr-gcc +compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD +# -w flag added to avoid printing a wrong warning http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396 +# This is fixed in gcc 4.8.3 and will be removed as soon as we update the toolchain +compiler.c.elf.flags=-w -Os -Wl,--gc-sections +compiler.c.elf.cmd=avr-gcc +compiler.S.flags=-c -g -x assembler-with-cpp +compiler.cpp.cmd=avr-g++ +compiler.cpp.flags=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD +compiler.ar.cmd=avr-ar +compiler.ar.flags=rcs +compiler.objcopy.cmd=avr-objcopy +compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 +compiler.elf2hex.flags=-O ihex -R .eeprom +compiler.elf2hex.cmd=avr-objcopy +compiler.ldflags= +compiler.size.cmd=avr-size + +# This can be overriden in boards.txt +build.extra_flags= + +# These can be overridden in platform.local.txt +compiler.c.extra_flags= +compiler.c.elf.extra_flags= +compiler.S.extra_flags= +compiler.cpp.extra_flags= +compiler.ar.extra_flags= +compiler.objcopy.eep.extra_flags= +compiler.elf2hex.extra_flags= + +# AVR compile patterns +# -------------------- + +## Compile c files +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Compile c++ files +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Compile S files +recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Create archives +recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}" + +## Combine gc-sections, archives, and objects +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm + +## Create eeprom +recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep" + +## Create hex +recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex" + +## Compute size +recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf" +recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).* +recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* +recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).* + + +# AVR Uploader/Programmers tools +# ------------------------------ + +tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude +tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf + +tools.avrdude.upload.params.verbose=-v +tools.avrdude.upload.params.quiet=-q -q +tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i" + +tools.avrdude.program.params.verbose=-v +tools.avrdude.program.params.quiet=-q -q +tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i" + +tools.avrdude.erase.params.verbose=-v +tools.avrdude.erase.params.quiet=-q -q +tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m + +tools.avrdude.bootloader.params.verbose=-v +tools.avrdude.bootloader.params.quiet=-q -q +tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m + + +# USB Default Flags +# Default blank usb manufacturer will be filled it at compile time +# - from numeric vendor ID, set to Unknown otherwise +build.usb_manufacturer= +build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' diff --git a/avr/variants/leonardo/pins_arduino.h b/avr/variants/leonardo/pins_arduino.h new file mode 100644 index 0000000..fd75373 --- /dev/null +++ b/avr/variants/leonardo/pins_arduino.h @@ -0,0 +1,361 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +// Workaround for wrong definitions in "iom32u4.h". +// This should be fixed in the AVR toolchain. +#undef UHCON +#undef UHINT +#undef UHIEN +#undef UHADDR +#undef UHFNUM +#undef UHFNUML +#undef UHFNUMH +#undef UHFLEN +#undef UPINRQX +#undef UPINTX +#undef UPNUM +#undef UPRST +#undef UPCONX +#undef UPCFG0X +#undef UPCFG1X +#undef UPSTAX +#undef UPCFG2X +#undef UPIENX +#undef UPDATX +#undef TCCR2A +#undef WGM20 +#undef WGM21 +#undef COM2B0 +#undef COM2B1 +#undef COM2A0 +#undef COM2A1 +#undef TCCR2B +#undef CS20 +#undef CS21 +#undef CS22 +#undef WGM22 +#undef FOC2B +#undef FOC2A +#undef TCNT2 +#undef TCNT2_0 +#undef TCNT2_1 +#undef TCNT2_2 +#undef TCNT2_3 +#undef TCNT2_4 +#undef TCNT2_5 +#undef TCNT2_6 +#undef TCNT2_7 +#undef OCR2A +#undef OCR2_0 +#undef OCR2_1 +#undef OCR2_2 +#undef OCR2_3 +#undef OCR2_4 +#undef OCR2_5 +#undef OCR2_6 +#undef OCR2_7 +#undef OCR2B +#undef OCR2_0 +#undef OCR2_1 +#undef OCR2_2 +#undef OCR2_3 +#undef OCR2_4 +#undef OCR2_5 +#undef OCR2_6 +#undef OCR2_7 + +#define NUM_DIGITAL_PINS 30 +#define NUM_ANALOG_INPUTS 12 + +#define TX_RX_LED_INIT DDRD |= (1<<5), DDRB |= (1<<0) +#define TXLED0 PORTD |= (1<<5) +#define TXLED1 PORTD &= ~(1<<5) +#define RXLED0 PORTB |= (1<<0) +#define RXLED1 PORTB &= ~(1<<0) + +static const uint8_t SDA = 2; +static const uint8_t SCL = 3; +#define LED_BUILTIN 13 + +// Map SPI port to 'new' pins D14..D17 +static const uint8_t SS = 17; +static const uint8_t MOSI = 16; +static const uint8_t MISO = 14; +static const uint8_t SCK = 15; + +// Mapping of analog pins as digital I/O +// A6-A11 share with digital pins +static const uint8_t A0 = 18; +static const uint8_t A1 = 19; +static const uint8_t A2 = 20; +static const uint8_t A3 = 21; +static const uint8_t A4 = 22; +static const uint8_t A5 = 23; +static const uint8_t A6 = 24; // D4 +static const uint8_t A7 = 25; // D6 +static const uint8_t A8 = 26; // D8 +static const uint8_t A9 = 27; // D9 +static const uint8_t A10 = 28; // D10 +static const uint8_t A11 = 29; // D12 + +#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0)) +#define digitalPinToPCICRbit(p) 0 +#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0)) +#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4)))))) + +// __AVR_ATmega32U4__ has an unusual mapping of pins to channels +extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; +#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) ) + +#define digitalPinToInterrupt(p) ((p) == 0 ? 2 : ((p) == 1 ? 3 : ((p) == 2 ? 1 : ((p) == 3 ? 0 : ((p) == 7 ? 4 : NOT_AN_INTERRUPT))))) + +#ifdef ARDUINO_MAIN + +// On the Arduino board, digital pins are also used +// for the analog output (software PWM). Analog input +// pins are a separate set. + +// ATMEL ATMEGA32U4 / ARDUINO LEONARDO +// +// D0 PD2 RXD1/INT2 +// D1 PD3 TXD1/INT3 +// D2 PD1 SDA SDA/INT1 +// D3# PD0 PWM8/SCL OC0B/SCL/INT0 +// D4 A6 PD4 ADC8 +// D5# PC6 ??? OC3A/#OC4A +// D6# A7 PD7 FastPWM #OC4D/ADC10 +// D7 PE6 INT6/AIN0 +// +// D8 A8 PB4 ADC11/PCINT4 +// D9# A9 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5 +// D10# A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6 +// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7 +// D12 A11 PD6 T1/#OC4D/ADC9 +// D13# PC7 PWM10 CLK0/OC4A +// +// A0 D18 PF7 ADC7 +// A1 D19 PF6 ADC6 +// A2 D20 PF5 ADC5 +// A3 D21 PF4 ADC4 +// A4 D22 PF1 ADC1 +// A5 D23 PF0 ADC0 +// +// New pins D14..D17 to map SPI port to digital pins +// +// MISO D14 PB3 MISO,PCINT3 +// SCK D15 PB1 SCK,PCINT1 +// MOSI D16 PB2 MOSI,PCINT2 +// SS D17 PB0 RXLED,SS/PCINT0 +// +// TXLED PD5 +// RXLED PB0 +// HWB PE2 HWB + +// these arrays map port names (e.g. port B) to the +// appropriate addresses for various functions (e.g. reading +// and writing) +const uint16_t PROGMEM port_to_mode_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &DDRB, + (uint16_t) &DDRC, + (uint16_t) &DDRD, + (uint16_t) &DDRE, + (uint16_t) &DDRF, +}; + +const uint16_t PROGMEM port_to_output_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &PORTB, + (uint16_t) &PORTC, + (uint16_t) &PORTD, + (uint16_t) &PORTE, + (uint16_t) &PORTF, +}; + +const uint16_t PROGMEM port_to_input_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &PINB, + (uint16_t) &PINC, + (uint16_t) &PIND, + (uint16_t) &PINE, + (uint16_t) &PINF, +}; + +const uint8_t PROGMEM digital_pin_to_port_PGM[] = { + PD, // D0 - PD2 + PD, // D1 - PD3 + PD, // D2 - PD1 + PD, // D3 - PD0 + PD, // D4 - PD4 + PC, // D5 - PC6 + PD, // D6 - PD7 + PE, // D7 - PE6 + + PB, // D8 - PB4 + PB, // D9 - PB5 + PB, // D10 - PB6 + PB, // D11 - PB7 + PD, // D12 - PD6 + PC, // D13 - PC7 + + PB, // D14 - MISO - PB3 + PB, // D15 - SCK - PB1 + PB, // D16 - MOSI - PB2 + PB, // D17 - SS - PB0 + + PF, // D18 - A0 - PF7 + PF, // D19 - A1 - PF6 + PF, // D20 - A2 - PF5 + PF, // D21 - A3 - PF4 + PF, // D22 - A4 - PF1 + PF, // D23 - A5 - PF0 + + PD, // D24 / D4 - A6 - PD4 + PD, // D25 / D6 - A7 - PD7 + PB, // D26 / D8 - A8 - PB4 + PB, // D27 / D9 - A9 - PB5 + PB, // D28 / D10 - A10 - PB6 + PD, // D29 / D12 - A11 - PD6 +}; + +const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { + _BV(2), // D0 - PD2 + _BV(3), // D1 - PD3 + _BV(1), // D2 - PD1 + _BV(0), // D3 - PD0 + _BV(4), // D4 - PD4 + _BV(6), // D5 - PC6 + _BV(7), // D6 - PD7 + _BV(6), // D7 - PE6 + + _BV(4), // D8 - PB4 + _BV(5), // D9 - PB5 + _BV(6), // D10 - PB6 + _BV(7), // D11 - PB7 + _BV(6), // D12 - PD6 + _BV(7), // D13 - PC7 + + _BV(3), // D14 - MISO - PB3 + _BV(1), // D15 - SCK - PB1 + _BV(2), // D16 - MOSI - PB2 + _BV(0), // D17 - SS - PB0 + + _BV(7), // D18 - A0 - PF7 + _BV(6), // D19 - A1 - PF6 + _BV(5), // D20 - A2 - PF5 + _BV(4), // D21 - A3 - PF4 + _BV(1), // D22 - A4 - PF1 + _BV(0), // D23 - A5 - PF0 + + _BV(4), // D24 / D4 - A6 - PD4 + _BV(7), // D25 / D6 - A7 - PD7 + _BV(4), // D26 / D8 - A8 - PB4 + _BV(5), // D27 / D9 - A9 - PB5 + _BV(6), // D28 / D10 - A10 - PB6 + _BV(6), // D29 / D12 - A11 - PD6 +}; + +const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + TIMER0B, /* 3 */ + NOT_ON_TIMER, + TIMER3A, /* 5 */ + TIMER4D, /* 6 */ + NOT_ON_TIMER, + + NOT_ON_TIMER, + TIMER1A, /* 9 */ + TIMER1B, /* 10 */ + TIMER0A, /* 11 */ + + NOT_ON_TIMER, + TIMER4A, /* 13 */ + + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, +}; + +const uint8_t PROGMEM analog_pin_to_channel_PGM[] = { + 7, // A0 PF7 ADC7 + 6, // A1 PF6 ADC6 + 5, // A2 PF5 ADC5 + 4, // A3 PF4 ADC4 + 1, // A4 PF1 ADC1 + 0, // A5 PF0 ADC0 + 8, // A6 D4 PD4 ADC8 + 10, // A7 D6 PD7 ADC10 + 11, // A8 D8 PB4 ADC11 + 12, // A9 D9 PB5 ADC12 + 13, // A10 D10 PB6 ADC13 + 9 // A11 D12 PD6 ADC9 +}; + +#endif /* ARDUINO_MAIN */ + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_USBVIRTUAL Serial +#define SERIAL_PORT_HARDWARE Serial1 +#define SERIAL_PORT_HARDWARE_OPEN Serial1 + +#endif /* Pins_Arduino_h */ diff --git a/avr/variants/leonardo_custom/pins_arduino.h b/avr/variants/leonardo_custom/pins_arduino.h index c198ad0..b6c714d 100644 --- a/avr/variants/leonardo_custom/pins_arduino.h +++ b/avr/variants/leonardo_custom/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard leonardo board definition file -#include <../../variants/leonardo/pins_arduino.h> +#include "../leonardo/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/leonardo_gamepad/pins_arduino.h b/avr/variants/leonardo_gamepad/pins_arduino.h index 85a19e2..75b7638 100644 --- a/avr/variants/leonardo_gamepad/pins_arduino.h +++ b/avr/variants/leonardo_gamepad/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard leonardo board definition file -#include <../../variants/leonardo/pins_arduino.h> +#include "../leonardo/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/leonardo_hid/pins_arduino.h b/avr/variants/leonardo_hid/pins_arduino.h index 22545bf..7378bca 100644 --- a/avr/variants/leonardo_hid/pins_arduino.h +++ b/avr/variants/leonardo_hid/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard leonardo board definition file -#include <../../variants/leonardo/pins_arduino.h> +#include "../leonardo/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/leonardo_no_usb/pins_arduino.h b/avr/variants/leonardo_no_usb/pins_arduino.h index 53dfb82..7d84c5c 100644 --- a/avr/variants/leonardo_no_usb/pins_arduino.h +++ b/avr/variants/leonardo_no_usb/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard leonardo board definition file -#include <../../variants/leonardo/pins_arduino.h> +#include "../leonardo/pins_arduino.h" // deactivate usb functions #undef USBCON diff --git a/avr/variants/micro/pins_arduino.h b/avr/variants/micro/pins_arduino.h new file mode 100644 index 0000000..ea8e42d --- /dev/null +++ b/avr/variants/micro/pins_arduino.h @@ -0,0 +1,37 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +#include "../leonardo/pins_arduino.h" + +#undef TXLED0 +#undef TXLED1 +#undef RXLED0 +#undef RXLED1 +#undef TX_RX_LED_INIT + +#define TXLED0 PORTD &= ~(1<<5) +#define TXLED1 PORTD |= (1<<5) +#define RXLED0 PORTB &= ~(1<<0) +#define RXLED1 PORTB |= (1<<0) +#define TX_RX_LED_INIT DDRD |= (1<<5), DDRB |= (1<<0), TXLED0, RXLED0 \ No newline at end of file diff --git a/avr/variants/micro_custom/pins_arduino.h b/avr/variants/micro_custom/pins_arduino.h index 1b6241f..912bb51 100644 --- a/avr/variants/micro_custom/pins_arduino.h +++ b/avr/variants/micro_custom/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard micro board definition file -#include <../../variants/micro/pins_arduino.h> +#include "../micro/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/micro_gamepad/pins_arduino.h b/avr/variants/micro_gamepad/pins_arduino.h index 18a3497..dcbd43a 100644 --- a/avr/variants/micro_gamepad/pins_arduino.h +++ b/avr/variants/micro_gamepad/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard micro board definition file -#include <../../variants/micro/pins_arduino.h> +#include "../micro/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/micro_hid/pins_arduino.h b/avr/variants/micro_hid/pins_arduino.h index 18ec7e1..6b8fdcf 100644 --- a/avr/variants/micro_hid/pins_arduino.h +++ b/avr/variants/micro_hid/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard micro board definition file -#include <../../variants/micro/pins_arduino.h> +#include "../micro/pins_arduino.h" //================================================================================ // HID Settings diff --git a/avr/variants/micro_no_usb/pins_arduino.h b/avr/variants/micro_no_usb/pins_arduino.h index 43f444c..8cbee83 100644 --- a/avr/variants/micro_no_usb/pins_arduino.h +++ b/avr/variants/micro_no_usb/pins_arduino.h @@ -22,7 +22,7 @@ THE SOFTWARE. */ // include the standard micro board definition file -#include <../../variants/micro/pins_arduino.h> +#include "../micro/pins_arduino.h" // deactivate usb functions #undef USBCON diff --git a/board.png b/board.png index 7ceebc06a547288c080e167729c7d905368c679f..a370b2197177b256674bfab76cf9a6578889a282 100644 GIT binary patch delta 23083 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 Cz|B|y delta 23105 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