diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d15c44e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+release
+*.hex
+*.elf
+GNUmakefile
diff --git a/ISSUES.txt b/ISSUES.txt
index a646976..6b5dc97 100644
--- a/ISSUES.txt
+++ b/ISSUES.txt
@@ -1,7 +1,6 @@
Outstanding
-----------
-7. Unified build with multiple firmware targets
Fixed
@@ -13,4 +12,5 @@ Fixed
4. Period clock adjustments take forever
5. Make setup mode less confusing
6. Allow jam clock adjustments in setup
+7. Unified build with multiple firmware targets
8. Debounce buttons
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 2934f14..c66c734 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,7 @@
-PROG = main
+TARGETS += scoreboard-neale.hex
+TARGETS += scoreboard-susan1.hex
+TARGETS += scoreboard-susan2.hex
+TARGETS += scoreboard-std.hex
MCU = attiny84
@@ -9,34 +12,32 @@ CFLAGS += -w
LDFLAGS += -mmcu=$(MCU)
-AVDFLAGS += -p $(MCU)
-AVDFLAGS += -c usbtiny
+all: $(TARGETS)
-FUSES += -U lfuse:w:0x7f:m
-FUSES += -U hfuse:w:0xdd:m
-FUSES += -U efuse:w:0xff:m
+scoreboard-%.elf: main.c avr.c config.h avr.h
+ $(CC) $(CFLAGS) -DVARIANT=$* $(LDFLAGS) -o $@ avr.c main.c
-upload: .upload
-
-.upload: $(PROG).hex
- avrdude $(AVDFLAGS) -U flash:w:$<
- touch $@
-
-fuses:
- avrdude $(AVDFLAGS) $(FUSES)
-
-main: main.o avr.o
-
-blink: blink.o avr.o
-
-avr.o: avr.c config.h
-
-%.hex: %
+%.hex: %.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature $< $@
clean:
- rm -f $(PROG) *.o *.hex .upload
+ rm -f *.elf *.o *.hex .upload
+##
+## Helpful targets for development
+##
+
+fuses: AVDFLAGS += -p $(MCU)
+fuses: AVDFLAGS += -c usbtiny
+
+upload: scoreboard-neale.hex
+ avrdude $(AVDFLAGS) -U flash:w:$<
+
+fuses: FUSES += -U lfuse:w:0x7f:m
+fuses: FUSES += -U hfuse:w:0xdd:m
+fuses: FUSES += -U efuse:w:0xff:m
+fuses:
+ avrdude $(AVDFLAGS) $(FUSES)
diff --git a/controller-conn.svg b/controller-conn.svg
new file mode 100644
index 0000000..1b754f1
--- /dev/null
+++ b/controller-conn.svg
@@ -0,0 +1,136 @@
+
+
+
+
diff --git a/controller.svg b/controller.svg
new file mode 100644
index 0000000..9dbe302
--- /dev/null
+++ b/controller.svg
@@ -0,0 +1,217 @@
+
+
+
+
diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000..f2a70e4
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+now=$(date +%Y%m%d)
+
+make all
+mkdir -p bin
+for i in *.hex; do
+ cp $i bin/scoreboard-$now-${i#scoreboard-}
+done