2013-03-15 20:33:25 +01:00
|
|
|
#
|
|
|
|
# Copyright (c) 2009-2013, The OpenPilot Team, http://www.openpilot.org
|
|
|
|
# Copyright (c) 2012, PhoenixPilot, http://github.com/PhoenixPilot
|
2012-12-12 05:44:12 +01:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful, but
|
|
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
|
# for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License along
|
|
|
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
#
|
2011-01-14 02:38:19 +01:00
|
|
|
|
2013-03-15 20:33:25 +01:00
|
|
|
ifndef OPENPILOT_IS_COOL
|
|
|
|
$(error Top level Makefile must be used to build this target)
|
2011-01-14 02:38:19 +01:00
|
|
|
endif
|
|
|
|
|
2013-03-15 20:33:25 +01:00
|
|
|
include $(ROOT_DIR)/make/boards/$(BOARD_NAME)/board-info.mk
|
|
|
|
include $(ROOT_DIR)/make/firmware-defs.mk
|
|
|
|
|
|
|
|
# ARM DSP library
|
|
|
|
USE_DSP_LIB ?= NO
|
2011-01-14 02:38:19 +01:00
|
|
|
|
2012-02-22 21:57:45 +01:00
|
|
|
# Optional module and driver defaults
|
2013-03-15 20:33:25 +01:00
|
|
|
USE_CAMERASTAB ?= YES
|
2012-02-22 21:57:45 +01:00
|
|
|
USE_COMUSBBRIDGE ?= YES
|
2013-03-15 20:33:25 +01:00
|
|
|
USE_GPS ?= YES
|
|
|
|
USE_TXPID ?= YES
|
|
|
|
USE_ALTITUDE ?= NO
|
|
|
|
USE_AUTOTUNE ?= NO
|
|
|
|
TEST_FAULTS ?= NO
|
2012-02-22 21:57:45 +01:00
|
|
|
|
2012-11-17 11:58:16 +01:00
|
|
|
# Camera gimbal options
|
2013-03-15 20:33:25 +01:00
|
|
|
USE_INPUT_LPF ?= YES
|
|
|
|
USE_GIMBAL_LPF ?= YES
|
|
|
|
USE_GIMBAL_FF ?= YES
|
|
|
|
|
|
|
|
# Set to YES to build a FW version that will erase data flash memory
|
|
|
|
ERASE_FLASH ?= NO
|
|
|
|
|
|
|
|
# List of mandatory modules to include
|
|
|
|
MODULES = Attitude Stabilization Actuator ManualControl FirmwareIAP
|
|
|
|
|
|
|
|
# Telemetry must be last to grab the optional modules (why?)
|
|
|
|
MODULES += Telemetry
|
2012-11-17 11:58:16 +01:00
|
|
|
|
2012-02-22 21:57:45 +01:00
|
|
|
# List of optional modules to include
|
|
|
|
OPTMODULES =
|
|
|
|
ifeq ($(USE_CAMERASTAB), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
OPTMODULES += CameraStab
|
2012-02-22 21:57:45 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(USE_COMUSBBRIDGE), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
OPTMODULES += ComUsbBridge
|
2012-02-22 21:57:45 +01:00
|
|
|
endif
|
2011-10-22 23:41:18 +02:00
|
|
|
ifeq ($(USE_GPS), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
OPTMODULES += GPS
|
2011-10-22 23:41:18 +02:00
|
|
|
endif
|
2012-02-22 21:57:45 +01:00
|
|
|
ifeq ($(USE_TXPID), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
OPTMODULES += TxPID
|
2012-02-22 21:57:45 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(USE_ALTITUDE), YES)
|
2013-03-16 10:44:22 +01:00
|
|
|
OPTMODULES += Altitude
|
2011-12-31 04:53:09 +01:00
|
|
|
endif
|
2012-07-31 09:35:33 +02:00
|
|
|
ifeq ($(USE_AUTOTUNE), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
OPTMODULES += Autotune
|
2011-01-14 02:38:19 +01:00
|
|
|
endif
|
2013-03-15 20:33:25 +01:00
|
|
|
ifeq ($(TEST_FAULTS), YES)
|
|
|
|
OPTMODULES += Fault
|
2011-01-14 02:38:19 +01:00
|
|
|
endif
|
|
|
|
|
2013-03-15 20:33:25 +01:00
|
|
|
# Misc defines
|
2011-05-01 21:10:27 +02:00
|
|
|
ifeq ($(ERASE_FLASH), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
CDEFS += -DERASE_FLASH
|
2011-03-21 10:18:21 +01:00
|
|
|
endif
|
2012-11-17 11:58:16 +01:00
|
|
|
ifeq ($(USE_INPUT_LPF), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
CDEFS += -DUSE_INPUT_LPF
|
2012-11-17 11:58:16 +01:00
|
|
|
endif
|
2012-11-17 15:18:37 +01:00
|
|
|
ifeq ($(USE_GIMBAL_LPF), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
CDEFS += -DUSE_GIMBAL_LPF
|
2012-11-17 15:18:37 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(USE_GIMBAL_FF), YES)
|
2013-03-15 20:33:25 +01:00
|
|
|
CDEFS += -DUSE_GIMBAL_FF
|
2011-05-13 10:20:53 +02:00
|
|
|
endif
|
|
|
|
|
2013-03-15 20:33:25 +01:00
|
|
|
# List C source files here (C dependencies are automatically generated).
|
|
|
|
# Use file-extension c for "c-only"-files
|
|
|
|
ifndef TESTAPP
|
|
|
|
## Modules
|
|
|
|
SRC += ${foreach MOD, ${OPTMODULES}, ${wildcard ${OPMODULEDIR}/${MOD}/*.c}}
|
|
|
|
SRC += ${foreach MOD, ${MODULES}, ${wildcard ${OPMODULEDIR}/${MOD}/*.c}}
|
|
|
|
|
|
|
|
## Application Core
|
|
|
|
SRC += ${OPMODULEDIR}/System/systemmod.c
|
|
|
|
SRC += $(OPSYSTEM)/coptercontrol.c
|
|
|
|
SRC += $(OPSYSTEM)/pios_board.c
|
|
|
|
SRC += $(OPSYSTEM)/alarms.c
|
|
|
|
SRC += $(OPUAVTALK)/uavtalk.c
|
|
|
|
SRC += $(OPUAVOBJ)/uavobjectmanager.c
|
|
|
|
SRC += $(OPUAVOBJ)/eventdispatcher.c
|
2011-01-14 02:38:19 +01:00
|
|
|
else
|
2013-03-15 20:33:25 +01:00
|
|
|
## Test Code
|
|
|
|
SRC += $(OPTESTS)/test_common.c
|
|
|
|
SRC += $(OPTESTS)/$(TESTAPP).c
|
2011-01-14 02:38:19 +01:00
|
|
|
endif
|
|
|
|
|
2013-03-15 20:33:25 +01:00
|
|
|
## UAVObjects
|
|
|
|
ifndef TESTAPP
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/accessorydesired.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/objectpersistence.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/gcstelemetrystats.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/flighttelemetrystats.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/faultsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/flightstatus.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/systemstats.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/systemalarms.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/systemsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/stabilizationdesired.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/stabilizationsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/actuatorcommand.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/actuatordesired.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/actuatorsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/accels.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/gyros.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/attitudeactual.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/manualcontrolcommand.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/i2cstats.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/watchdogstatus.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/manualcontrolsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/mixersettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/firmwareiapobj.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/attitudesettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/camerastabsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/cameradesired.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/gpsposition.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/gpsvelocity.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/hwsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/gcsreceiver.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/receiveractivity.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/relaytuningsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/relaytuning.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/taskinfo.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/mixerstatus.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/ratedesired.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/baroaltitude.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/txpidsettings.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/airspeedactual.c
|
|
|
|
SRC += $(OPUAVSYNTHDIR)/mpu6000settings.c
|
|
|
|
endif
|
|
|
|
|
|
|
|
include $(ROOT_DIR)/make/apps-defs.mk
|