altos: Add nickle kalman implementation.
[fw/altos] / src / Makefile.proto
index c79638acfbd30c62a6047739677979369a9d58b7..85c0c46e4c1ea7684bf79fd75d57a7d32365f711 100644 (file)
@@ -5,6 +5,11 @@
 vpath %.c ..
 vpath %.h ..
 vpath make-altitude ..
+vpath make-kalman ..
+vpath kalman.5c ../kalman
+vpath kalman_filter.5c ../kalman
+vpath load_csv.5c ../kalman
+vpath matrix.5c ../kalman
 vpath ao-make-product.5c ..
 
 CC=sdcc
@@ -13,9 +18,11 @@ ifndef VERSION
 include ../Version
 endif
 
-CFLAGS=--model-small --debug --opt-code-speed
+CFLAGS=--model-small --debug --opt-code-speed -DCODESIZE=$(CODESIZE)
 
-LDFLAGS=--out-fmt-ihx --code-loc 0x0000 --code-size 0x8000 \
+CODESIZE ?= 0x8000
+
+LDFLAGS=--out-fmt-ihx --code-loc 0x0000 --code-size $(CODESIZE) \
        --xram-loc 0xf000 --xram-size 0xda2 --iram-size 0xff
 
 INC = \
@@ -23,6 +30,7 @@ INC = \
        ao_pins.h \
        cc1111.h \
        altitude.h \
+       ao_kalman.h \
        25lc1024.h
 
 #
@@ -42,11 +50,15 @@ ALTOS_SRC = \
 # Shared AltOS drivers
 #
 ALTOS_DRIVER_SRC = \
-       ao_beep.c \
        ao_config.c \
        ao_led.c \
        ao_radio.c \
-       ao_stdio.c \
+       ao_stdio.c
+
+BEEP_DRIVER_SRC = \
+       ao_beep.c
+
+USB_DRIVER_SRC = \
        ao_usb.c
 
 TELE_COMMON_SRC = \
@@ -68,7 +80,12 @@ TELE_RECEIVER_SRC =\
 #
 
 TELE_DRIVER_SRC = \
-       ao_convert.c \
+       ao_convert.c
+
+#
+# Serial port driver
+#
+SERIAL_DRIVER_SRC = \
        ao_serial.c
 
 #
@@ -89,19 +106,31 @@ DBG_SRC = \
 TM_DRIVER_SRC = \
        ao_adc.c \
        ao_gps_report.c \
-       ao_ignite.c
+       ao_ignite.c \
+       $(BEEP_DRIVER_SRC) \
+       $(USB_DRIVER_SRC)
 
 #
 # 25LC1024 driver source
 EE_DRIVER_SRC = \
+       ao_storage.c \
        ao_ee.c
 
 #
 # AT45DB161D driver source
 
 FLASH_DRIVER_SRC = \
+       ao_storage.c \
        ao_flash.c
 
+#
+# Numonyx M25P80 driver source
+#
+
+M25_DRIVER_SRC = \
+       ao_storage.c \
+       ao_m25.c
+
 #
 # SiRF driver source
 #
@@ -119,6 +148,7 @@ SKY_DRIVER_SRC = \
 TM_TASK_SRC = \
        ao_flight.c \
        ao_log.c \
+       ao_log_big.c \
        ao_report.c \
        ao_telemetry.c
 
@@ -132,11 +162,71 @@ TM_BASE_SRC = \
        $(ALTOS_SRC) \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_DRIVER_SRC) \
+       $(SERIAL_DRIVER_SRC) \
        $(TELE_COMMON_SRC) \
        $(TM_DRIVER_SRC) \
        $(TM_TASK_SRC) \
        $(TM_MAIN_SRC)
 
+#
+# Sources for TeleMini
+TMINI_DRIVER_SRC = \
+       ao_adc.c \
+       ao_ignite.c \
+       ao_config.c \
+       ao_storage.c \
+       ao_intflash.c
+
+TMINI_TASK_SRC = \
+       ao_flight.c \
+       ao_log.c \
+       ao_log_tiny.c \
+       ao_report.c \
+       ao_telemetry_tiny.c
+
+TMINI_MAIN_SRC = \
+       ao_telemini.c
+
+TMINI_BASE_SRC = \
+       $(ALTOS_SRC) \
+       $(ALTOS_DRIVER_SRC) \
+       $(TELE_DRIVER_SRC) \
+       $(TELE_COMMON_SRC) \
+       $(TMINI_DRIVER_SRC) \
+       $(TMINI_TASK_SRC) \
+       $(TMINI_MAIN_SRC)
+
+#
+# Sources for TeleNano
+TNANO_DRIVER_SRC = \
+       ao_adc.c \
+       ao_ignite.c \
+       ao_config.c \
+       ao_storage.c \
+       ao_intflash.c
+
+TNANO_TASK_SRC = \
+       ao_flight.c \
+       ao_log.c \
+       ao_log_tiny.c \
+       ao_report.c \
+       ao_telemetry_tiny.c
+
+TNANO_MAIN_SRC = \
+       ao_telenano.c
+
+TNANO_BASE_SRC = \
+       $(ALTOS_SRC) \
+       $(ALTOS_DRIVER_SRC) \
+       $(TELE_DRIVER_SRC) \
+       $(TELE_COMMON_SRC) \
+       $(TNANO_DRIVER_SRC) \
+       $(TNANO_TASK_SRC) \
+       $(TNANO_MAIN_SRC)
+
+#
+# TI Dongle sources
+#
 TI_MAIN_SRC = \
        ao_tidongle.c
 
@@ -148,6 +238,7 @@ TI_SRC = \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_RECEIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TI_MAIN_SRC) \
        $(DBG_SRC)
 
@@ -162,6 +253,7 @@ TT_SRC = \
        $(TELE_RECEIVER_SRC) \
        $(TELE_DRIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TT_MAIN_SRC)
 
 
@@ -177,6 +269,7 @@ TD_SRC = \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_RECEIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TD_MAIN_SRC)
 
 include Makefile.defs
@@ -220,6 +313,9 @@ all: ../$(PROG)
 ../altitude.h: make-altitude
        nickle $< > $@
 
+../ao_kalman.h: make-kalman kalman.5c kalman_filter.5c load_csv.5c matrix.5c
+       sh $< > $@
+
 ao_product.h: ao-make-product.5c ../Version
        $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@