1,37 → 1,83 |
#-------------------------------------------------------------------- |
# MCU name |
#MCU = atmega644 |
MCU = atmega644p |
F_CPU = 20000000 |
#------------------------------------------------------------------- |
VERSION_MAJOR = 0 |
VERSION_MINOR = 71 |
VERSION_PATCH = 7 |
VERSION_MINOR = 72 |
VERSION_PATCH = 15 |
|
VERSION_SERIAL_MAJOR = 10 # Serial Protocol Major Version |
VERSION_SERIAL_MINOR = 0 # Serial Protocol Minor Version |
NC_SPI_COMPATIBLE = 3 # SPI Protocol Version |
NC_SPI_COMPATIBLE = 5 # SPI Protocol Version |
|
#------------------------------------------------------------------- |
#OPTIONS |
|
# Use one of the extensions for a gps solution |
#EXT = KILLAGREG |
EXT = NAVICTRL |
#EXT = MK3MAG |
|
# Use one of the motor setups |
|
# Standard |
SETUP = QUADRO |
# 2 Arms in Front |
#SETUP = OCTO |
# 1 Arm in front |
#SETUP = OCTO2 |
# 1 Arm with two Motors in front or Coax |
#SETUP = OCTO3 |
|
#------------ |
# Quadro: |
# 1 |
# 4 3 |
# 2 |
#------------ |
# Reverse Props on 1 2 |
|
#------------ |
# Octo: |
# 1 2 |
# 8 3 |
# 7 4 |
# 6 5 |
#------------ |
|
#------------ |
# Octo2: |
# 1 |
# 8 2 |
# 7 3 |
# 6 4 |
# 5 |
#------------ |
|
#------------ |
# Octo3: |
# 1 |
# 2 |
# 8 7 3 4 |
# 5 |
# 6 |
#------------ |
# Reverse Props on octo: 1 3 5 7 |
|
|
#------------------------------------------------------------------- |
# get SVN revision |
REV := $(shell sh -c "cat .svn/entries | sed -n '4p'") |
|
ifeq ($(MCU), atmega644) |
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
#FUSE_SETTINGS = -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
# -u bei neuen Controllern wieder einspielen |
HEX_NAME = MEGA644_$(EXT) |
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
HEX_NAME = MEGA644_$(EXT)_$(SETUP) |
endif |
|
ifeq ($(MCU), atmega644p) |
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
HEX_NAME = MEGA644p_$(EXT) |
HEX_NAME = MEGA644p_$(EXT)_$(SETUP) |
endif |
|
|
82,19 → 128,38 |
ifeq ($(VERSION_PATCH), 10) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)k_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 11) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)l_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 12) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)m_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 13) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)n_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 14) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)o_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 15) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)p_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 16) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)q_SVN$(REV) |
endif |
ifeq ($(VERSION_PATCH), 17) |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(VERSION_MAJOR)_$(VERSION_MINOR)r_SVN$(REV) |
endif |
|
|
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. |
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) |
OPT = s |
OPT = 2 |
#OPT = s |
|
########################################################################################################## |
# List C source files here. (C dependencies are automatically generated.) |
SRC = main.c uart.c printf_P.c timer0.c timer2.c analog.c menu.c led.c |
SRC += twimaster.c rc.c fc.c eeprom.c fifo.c |
ifeq ($(MCU), atmega644p) |
SRC += uart1.c |
endif |
SRC = main.c uart0.c printf_P.c timer0.c timer2.c analog.c menu.c led.c |
SRC += twimaster.c rc.c fc.c eeprom.c fifo.c uart1.c |
|
ifeq ($(EXT), KILLAGREG) |
SRC += mm3.c mymath.c gps.c ubx.c |
endif |
145,7 → 210,7 |
#CFLAGS += -std=c99 |
CFLAGS += -std=gnu99 |
|
CFLAGS += -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) -DVERSION_PATCH=$(VERSION_PATCH) -DVERSION_SERIAL_MAJOR=$(VERSION_SERIAL_MAJOR) -DVERSION_SERIAL_MINOR=$(VERSION_SERIAL_MINOR) -DNC_SPI_COMPATIBLE=$(NC_SPI_COMPATIBLE) |
CFLAGS += -DF_CPU=$(F_CPU) -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) -DVERSION_PATCH=$(VERSION_PATCH) -DVERSION_SERIAL_MAJOR=$(VERSION_SERIAL_MAJOR) -DVERSION_SERIAL_MINOR=$(VERSION_SERIAL_MINOR) -DNC_SPI_COMPATIBLE=$(NC_SPI_COMPATIBLE) |
|
ifeq ($(EXT), KILLAGREG) |
CFLAGS += -DUSE_KILLAGREG |
157,9 → 222,22 |
CFLAGS += -DUSE_NAVICTRL |
endif |
|
ifeq ($(SETUP), QUADRO) |
CFLAGS += -DUSE_QUADRO |
endif |
ifeq ($(SETUP), OCTO) |
CFLAGS += -DUSE_OCTO |
endif |
ifeq ($(SETUP), OCTO2) |
CFLAGS += -DUSE_OCTO2 |
endif |
ifeq ($(SETUP), OCTO3) |
CFLAGS += -DUSE_OCTO3 |
endif |
|
|
|
|
# Optional assembler flags. |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create listing |