summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chaoskey-v1.0/Makefile9
-rw-r--r--src/kernel/ao_beep.h6
-rw-r--r--src/kernel/ao_panic.c8
-rw-r--r--src/stmf0/Makefile.defs4
4 files changed, 22 insertions, 5 deletions
diff --git a/src/chaoskey-v1.0/Makefile b/src/chaoskey-v1.0/Makefile
index f2c168ba..dea5b483 100644
--- a/src/chaoskey-v1.0/Makefile
+++ b/src/chaoskey-v1.0/Makefile
@@ -51,12 +51,13 @@ CFLAGS = $(PRODUCT_DEF) $(STMF0_CFLAGS) -g -Os
PROGNAME=chaoskey-v1.0
PROG=$(PROGNAME)-$(VERSION).elf
HEX=$(PROGNAME)-$(VERSION).ihx
+BIN=$(PROGNAME)-all-$(VERSION).bin
METAINFO=org.altusmetrum.ChaosKey.metainfo.xml
SRC=$(ALTOS_SRC) ao_chaoskey.c
OBJ=$(SRC:.c=.o)
-all: $(PROG) $(HEX)
+all: $(PROG) $(HEX) $(BIN)
$(PROG): Makefile $(OBJ) altos.ld
$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
@@ -66,6 +67,12 @@ ao_product.h: ao-make-product.5c ../Version
$(OBJ): $(INC)
+$(BIN): $(PROG) $(LOADER)
+ $(MAKEBIN) --output=$@ --base=$(FLASH_ADDR) $(LOADER) $(PROG)
+
+$(LOADER):
+ +cd flash-loader && make
+
%.cab: $(PROG) $(HEX) $(METAINFO)
gcab --create --nopath $@ $(PROG) $(HEX) $(METAINFO)
diff --git a/src/kernel/ao_beep.h b/src/kernel/ao_beep.h
index 085dd5b1..1306af62 100644
--- a/src/kernel/ao_beep.h
+++ b/src/kernel/ao_beep.h
@@ -42,9 +42,15 @@
#else
#define AO_BEEP_MID AO_BEEP_MID_DEFAULT
#endif
+
+#define AO_BEEP_MID_PANIC AO_BEEP_MID_DEFAULT
+
#define AO_BEEP_LOW AO_BEEP_MID * 150 / 94 /* 2500Hz */
#define AO_BEEP_HIGH AO_BEEP_MID * 75 / 94 /* 5000Hz */
+#define AO_BEEP_LOW_PANIC (AO_BEEP_MID_PANIC * 150 / 94)
+#define AO_BEEP_HIGH_PANIC (AO_BEEP_MID_PANIC * 75 / 94)
+
#define AO_BEEP_OFF 0 /* off */
#define AO_BEEP_g 240 /* 1562.5Hz */
diff --git a/src/kernel/ao_panic.c b/src/kernel/ao_panic.c
index 3feecd5a..bd55eb9c 100644
--- a/src/kernel/ao_panic.c
+++ b/src/kernel/ao_panic.c
@@ -64,9 +64,9 @@ ao_panic(uint8_t reason)
ao_panic_delay(20);
#if HAS_BEEP
for (n = 0; n < 5; n++) {
- ao_beep(AO_BEEP_HIGH);
+ ao_beep(AO_BEEP_HIGH_PANIC);
ao_panic_delay(1);
- ao_beep(AO_BEEP_LOW);
+ ao_beep(AO_BEEP_LOW_PANIC);
ao_panic_delay(1);
}
ao_beep(AO_BEEP_OFF);
@@ -78,7 +78,7 @@ ao_panic(uint8_t reason)
#endif
if (reason & 0x40) {
ao_led_on(AO_LED_PANIC);
- ao_beep(AO_BEEP_HIGH);
+ ao_beep(AO_BEEP_HIGH_PANIC);
ao_panic_delay(40);
ao_led_off(AO_LED_PANIC);
ao_beep(AO_BEEP_OFF);
@@ -86,7 +86,7 @@ ao_panic(uint8_t reason)
}
for (n = 0; n < (reason & 0x3f); n++) {
ao_led_on(AO_LED_PANIC);
- ao_beep(AO_BEEP_MID);
+ ao_beep(AO_BEEP_MID_PANIC);
ao_panic_delay(10);
ao_led_off(AO_LED_PANIC);
ao_beep(AO_BEEP_OFF);
diff --git a/src/stmf0/Makefile.defs b/src/stmf0/Makefile.defs
index 3da42874..a0aa558b 100644
--- a/src/stmf0/Makefile.defs
+++ b/src/stmf0/Makefile.defs
@@ -4,6 +4,10 @@ endif
include $(TOPDIR)/stmf0/Makefile-stmf0.defs
+LOADER=flash-loader/$(PROGNAME)-altos-flash-$(VERSION).elf
+MAKEBIN=$(TOPDIR)/../ao-tools/ao-makebin/ao-makebin
+FLASH_ADDR=0x08000000
+
LDFLAGS=$(CFLAGS) -L$(TOPDIR)/stmf0 -Wl,-Taltos.ld -n
.DEFAULT_GOAL=all