# This file needs avra version >= 1.2.0

PROJECT=splitflap4
DEVICE=m8
LFUSE=0x1F
HFUSE=0xC7
BL_PORT=/dev/ttyS6

all: bl

bl:
	# Mini-BL bootloader
	avra $(PROJECT).asm
	minibl -p $(BL_PORT) -s 0x1e 0x93 0x07 -e -w 0x8000 64 $(PROJECT).hex -a

par:
	# ELM-ChaN parallel port programmer (HVPP/HVSP)
	avra $(PROJECT).asm
	avrpp -fl$(LFUSE) -fh$(HFUSE) $(PROJECT).hex $(PROJECT).eep.hex

hispai:
	# HISPAI programmer
	avra $(PROJECT).asm
	hispai -d $(DEVICE) -wp $(PROJECT).hex -we $(PROJECT).eep.hex -fl $(LFUSE) -fh $(HFUSE)

stk:
	# STK500 HVPP
	avra $(PROJECT).asm
	avrdude -c stk500pp -p $(DEVICE) -U flash:w:$(PROJECT).hex -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m
	#-U eeprom:w:$(PROJECT).eep.hex

stklf:
	# STK500 low-frequency ISP, Flash only, no verify
	avra $(PROJECT).asm
	avrdude -c stk500v2 -B 50 -p $(DEVICE) -U flash:w:$(PROJECT).hex

isp:
	# AVR910 ISP programmer, Flash only
	avra $(PROJECT).asm
	avrdude -c avr910 -p $(DEVICE) -U flash:w:$(PROJECT).hex
	
eeprom:
	# AVR910 ISP programmer, EEPROM only
	avra $(PROJECT).asm
	avrdude -c avr910 -p $(DEVICE) -U eeprom:w:$(PROJECT).eep.hex
	
fuses:
	# AVR910 ISP programmer, Fuses only
	avrdude -c avr910 -p $(DEVICE) -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m
