# See: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
# See: http://code.google.com/p/arduino/wiki/Platforms

##############################################################

menu.cpu=Processor

########################################
## Arduino Mega or Mega 2560
########################################

mega.name=Arduino Mega or Mega 2560

mega.vid.0=0x2341
mega.pid.0=0x0010
mega.vid.1=0x2341
mega.pid.1=0x0042
mega.vid.2=0x2A03
mega.pid.2=0x0010
mega.vid.3=0x2A03
mega.pid.3=0x0042

mega.upload.tool=avrdude
mega.upload.maximum_data_size=8192

mega.bootloader.tool=avrdude
mega.bootloader.low_fuses=0xFF
mega.bootloader.unlock_bits=0x3F
mega.bootloader.lock_bits=0x0F

mega.build.f_cpu=16000000L
mega.build.core=arduino
mega.build.variant=mega
# default board  may be overridden by the cpu menu
mega.build.board=AVR_MEGA2560
mega.build.mcu=atmega2560

## Arduino Mega w/ ATmega2560
## -------------------------
mega.menu.cpu.atmega2560=ATmega2560 (Mega 2560)

mega.menu.cpu.atmega2560.upload.protocol=wiring
mega.menu.cpu.atmega2560.upload.maximum_size=253952
mega.menu.cpu.atmega2560.upload.speed=115200

mega.menu.cpu.atmega2560.bootloader.high_fuses=0xD8
mega.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD
mega.menu.cpu.atmega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex

mega.menu.cpu.atmega2560.build.mcu=atmega2560
mega.menu.cpu.atmega2560.build.board=AVR_MEGA2560

## Arduino Mega w/ ATmega1280
## -------------------------
mega.menu.cpu.atmega1280=ATmega1280

mega.menu.cpu.atmega1280.upload.protocol=arduino
mega.menu.cpu.atmega1280.upload.maximum_size=126976
mega.menu.cpu.atmega1280.upload.speed=57600

mega.menu.cpu.atmega1280.bootloader.high_fuses=0xDA
mega.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5
mega.menu.cpu.atmega1280.bootloader.file=atmega/ATmegaBOOT_168_atmega1280.hex

mega.menu.cpu.atmega1280.build.mcu=atmega1280
mega.menu.cpu.atmega1280.build.board=AVR_MEGA

########################################
## RAMBo
########################################
rambo.name=RAMBo

rambo.upload.tool=arduino:avrdude
rambo.upload.protocol=wiring
rambo.upload.maximum_size=258048
rambo.upload.speed=115200

rambo.bootloader.low_fuses=0xFF
rambo.bootloader.high_fuses=0xD8
rambo.bootloader.extended_fuses=0xFD
rambo.bootloader.path=stk500v2
rambo.bootloader.file=stk500boot_v2_mega2560.hex
rambo.bootloader.unlock_bits=0x3F
rambo.bootloader.lock_bits=0x0F

rambo.build.mcu=atmega2560
rambo.build.f_cpu=16000000L
rambo.build.board=AVR_RAMBO
rambo.build.core=arduino:arduino
rambo.build.variant=rambo

########################################
## Sanguino
########################################
sanguino.name=Sanguino

sanguino.upload.tool=arduino:avrdude
sanguino.upload.protocol=arduino
sanguino.upload.maximum_size=131072
sanguino.upload.speed=57600

sanguino.bootloader.low_fuses=0xD6
sanguino.bootloader.high_fuses=0xDA
sanguino.bootloader.extended_fuses=0xFD
sanguino.bootloader.path=atmega
sanguino.bootloader.unlock_bits=0x3F
sanguino.bootloader.lock_bits=0x0F

sanguino.build.mcu=atmega1284p
sanguino.build.f_cpu=16000000L
sanguino.build.board=AVR_SANGUINO
sanguino.build.core=arduino:arduino
sanguino.build.variant=sanguino

sanguino.menu.cpu.atmega644=ATmega644P
sanguino.menu.cpu.atmega644.upload.maximum_size=63488
sanguino.menu.cpu.atmega644.bootloader.low_fuses=0xFF
sanguino.menu.cpu.atmega644.bootloader.high_fuses=0x9A
sanguino.menu.cpu.atmega644.bootloader.extended_fuses=0xFF
sanguino.menu.cpu.atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex
sanguino.menu.cpu.atmega644.build.mcu=atmega644p

sanguino.menu.cpu.atmega12848m=ATmega1284p 8MHz
sanguino.menu.cpu.atmega12848m.upload.speed=19200
sanguino.menu.cpu.atmega12848m.bootloader.file=ATmegaBOOT_168_atmega1284p_8m.hex
sanguino.menu.cpu.atmega12848m.build.f_cpu=8000000L

sanguino.menu.cpu.atmega1284=ATmega1284p 16MHz
sanguino.menu.cpu.atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex

sanguino.menu.cpu.atmega1284m=ATmega1284p 20MHz
sanguino.menu.cpu.atmega1284m.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
sanguino.menu.cpu.atmega1284m.build.f_cpu=20000000L

########################################
## Brainwave
########################################
Brainwave.name=Brainwave

Brainwave.bootloader.tool=avrdude
Brainwave.bootloader.low_fuses=0xFF
Brainwave.bootloader.high_fuses=0x99
Brainwave.bootloader.extended_fuses=0xF0
Brainwave.bootloader.unlock_bits=0x3F
Brainwave.bootloader.lock_bits=0x02F
Brainwave.bootloader.path=brainwave
Brainwave.bootloader.file=Brainwave-646-LUFA.hex

Brainwave.upload.tool=avrdude
Brainwave.upload.protocol=avr109
Brainwave.upload.maximum_size=61440
Brainwave.upload.speed=115200
Brainwave.upload.disable_flushing=true

Brainwave.build.mcu=at90usb646
Brainwave.build.f_cpu=16000000L
Brainwave.build.board=AVR_BRAINWAVE
Brainwave.build.core=at90usb
Brainwave.build.dependency=true
Brainwave.build.variant=brainwave
Brainwave.build.vid=0x16D0
Brainwave.build.pid=0x076B

########################################
## BrainwavePro (CDC)
########################################
BrainwavePro.name=Brainwave Pro (CDC)

BrainwavePro.bootloader.tool=avrdude
BrainwavePro.bootloader.low_fuses=0xFF
BrainwavePro.bootloader.high_fuses=0x9B
BrainwavePro.bootloader.extended_fuses=0xF0
BrainwavePro.bootloader.unlock_bits=0x3F
BrainwavePro.bootloader.lock_bits=0x02F
BrainwavePro.bootloader.path=at90usb
BrainwavePro.bootloader.file=BrainwavePro-1286-LUFA.hex

BrainwavePro.upload.tool=avrdude
BrainwavePro.upload.protocol=avr109
BrainwavePro.upload.maximum_size=126976
BrainwavePro.upload.speed=115200
BrainwavePro.upload.disable_flushing=true

BrainwavePro.build.mcu=at90usb1286
BrainwavePro.build.f_cpu=16000000L
BrainwavePro.build.board=AVR_BRAINWAVEPRO
BrainwavePro.build.core=at90usb
BrainwavePro.build.dependency=true
BrainwavePro.build.variant=at90usb
BrainwavePro.build.vid=0x16D0
BrainwavePro.build.pid=0x076B
BrainwavePro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid}

########################################
## KosselPro -- BrainwavePro with HID boot
########################################
KosselPro.name=Kossel Pro (HID Bootloader)

KosselPro.bootloader.tool=avrdude
KosselPro.bootloader.low_fuses=0xFF
KosselPro.bootloader.high_fuses=0x9B
KosselPro.bootloader.extended_fuses=0xF0
KosselPro.bootloader.unlock_bits=0x3F
KosselPro.bootloader.lock_bits=0x02F
KosselPro.bootloader.path=at90usb
KosselPro.bootloader.file=BootloaderHID.hex

KosselPro.upload.tool=hidloader
KosselPro.upload.protocol=halfkay
KosselPro.upload.maximum_size=126976
KosselPro.upload.maximum_ram_size=8192
KosselPro.upload.speed=115200
KosselPro.upload.disable_flushing=true

KosselPro.build.mcu=at90usb1286
KosselPro.build.f_cpu=16000000L
KosselPro.build.board=AVR_BRAINWAVEPRO
KosselPro.build.core=at90usb
KosselPro.build.dependency=true
KosselPro.build.variant=at90usb
KosselPro.build.vid=0x16D0
KosselPro.build.pid=0x076B
KosselPro.build.extra_flags=-DAT90USBxx_TEENSYPP_ASSIGNMENTS -DUSB_VID={build.vid} -DUSB_PID={build.pid}

########################################
## SAVMkI (CDC)
########################################
SAVMkI.name=SAV MkI (CDC)

SAVMkI.bootloader.tool=avrdude
SAVMkI.bootloader.low_fuses=0xDE
SAVMkI.bootloader.high_fuses=0xDB
SAVMkI.bootloader.extended_fuses=0xF1
SAVMkI.bootloader.unlock_bits=0x3F
SAVMkI.bootloader.lock_bits=0x02F
SAVMkI.bootloader.path=SAVMkI
SAVMkI.bootloader.file=SAVMkI-1286-LUFA.hex

SAVMkI.upload.tool=avrdude
SAVMkI.upload.protocol=avr109
SAVMkI.upload.maximum_size=126976
SAVMkI.upload.speed=115200
SAVMkI.upload.disable_flushing=true

SAVMkI.build.mcu=at90usb1286
SAVMkI.build.f_cpu=16000000L
SAVMkI.build.board=AVR_SAVMkI
SAVMkI.build.core=at90usb
SAVMkI.build.dependency=true
SAVMkI.build.variant=at90usb
SAVMkI.build.vid=0x16D0
SAVMkI.build.pid=0x076B
SAVMkI.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}

########################################
## SAVMkI (HID)
########################################
SAVMkI_HID.name=SAV MkI (HID Bootloader)

SAVMkI_HID.bootloader.tool=avrdude
SAVMkI_HID.bootloader.low_fuses=0xDE
SAVMkI_HID.bootloader.high_fuses=0xDB
SAVMkI_HID.bootloader.extended_fuses=0xF1
SAVMkI_HID.bootloader.unlock_bits=0x3F
SAVMkI_HID.bootloader.lock_bits=0x02F
SAVMkI_HID.bootloader.path=SAVMkI
SAVMkI_HID.bootloader.file=SAVMkI_HID.hex

SAVMkI_HID.upload.tool=hidloader
SAVMkI_HID.upload.protocol=halfkay
SAVMkI_HID.upload.maximum_size=126976
SAVMkI_HID.upload.maximum_ram_size=8192
SAVMkI_HID.upload.speed=115200
SAVMkI_HID.upload.disable_flushing=true

SAVMkI_HID.build.mcu=at90usb1286
SAVMkI_HID.build.f_cpu=16000000L
SAVMkI_HID.build.board=AVR_SAVMkI
SAVMkI_HID.build.core=at90usb
SAVMkI_HID.build.dependency=true
SAVMkI_HID.build.variant=at90usb
SAVMkI_HID.build.vid=0x16D0
SAVMkI_HID.build.pid=0x076B
SAVMkI_HID.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}