PROJECT = paatti
PROJECT_CSRC = main.c gprs.c libc_glue.c log.c rtc.c debug.c \
	kalman.c \
	rpc/rpc.c rpc/rpccommands.c rpc/paatti.pb.c \
	nanopb/pb_encode.c nanopb/pb_decode.c \
	bootloader/mini_gprs.c bootloader/crashdumper.c \
	board.c \
	libfixmath/fix16.c libfixmath/fix16_sqrt.c libfixmath/fix16_trig.c \
	libfixmatrix/fixmatrix.c

USE_OPT = -O1 -g -gdwarf-2 -g3 \
	-fomit-frame-pointer -fno-common -std=gnu99 \
	-DFIXMATH_NO_CACHE -DFIXMATRIX_MAX_SIZE=5

UDEFS =
UADEFS =

UINCDIR = baselibc/include nanopb rpc libfixmath libfixmatrix
ULIBDIR =
ULIBS = baselibc/libc.a -lgcc -nodefaultlibs

include Makefile.chibios

rpc/paatti.pb.c rpc/paatti.pb.h hosttools/paatti_pb2.py: rpc/paatti.proto
	protoc -I. -Inanopb/generator -I/usr/include -orpc/paatti.pb $<
	python nanopb/generator/nanopb_generator.py rpc/paatti.pb
	cd rpc && protoc -I. -I../nanopb/generator -I/usr/include --python_out=../hosttools paatti.proto

deploy: all
	arm-none-eabi-objcopy -Obinary paatti.elf paatti.bin
	swdflash write /dev/sg1 paatti.bin 0x08000000

debug: all
	swdserver -1 -v0 -d /dev/sg1 2>/dev/null >/dev/null &
	arm-none-eabi-gdb paatti.elf -x gdb-target-def
	killall swdserver
	
