Fixedwing Autopilot Makefile Upgrade

This commit is contained in:
Christophe De Wagter
2010-09-10 23:19:50 +00:00
parent baf7cad28a
commit 2bf69fbe8a
11 changed files with 259 additions and 71 deletions
+3
View File
@@ -66,6 +66,9 @@ demo:
$(SUPERVISION) $(SUPERVISION)
all_ac_h: $(AIRFRAME_H) $(MODULES_H) $(SETTINGS_H) $(TUNING_H) $(MAKEFILE_AC) $(PERIODIC_H) all_ac_h: $(AIRFRAME_H) $(MODULES_H) $(SETTINGS_H) $(TUNING_H) $(MAKEFILE_AC) $(PERIODIC_H)
@echo -e "TARGET: $(TARGET)\n" > $(ACINCLUDE)/$(TARGET)_srcs.list
@echo -e "CFLAGS: $($(TARGET).CFLAGS)\n\n" >> $(ACINCLUDE)/$(TARGET)_srcs.list
@echo "srcs: $($(TARGET).srcs)" >> $(ACINCLUDE)/$(TARGET)_srcs.list
radio_ac_h : $(RADIO_H) $(CONF_RADIO_CONTROL_PPM_H) radio_ac_h : $(RADIO_H) $(CONF_RADIO_CONTROL_PPM_H)
@@ -160,6 +160,15 @@
<define name="HOME_RADIUS" value="100" unit="m"/> <define name="HOME_RADIUS" value="100" unit="m"/>
</section> </section>
<modules>
<load name="light.xml">
<param name="LIGHT_LED_STROBE" value="3"/>
<param name="LIGHT_LED_NAV" value="4"/>
<param name="STROBE_LIGHT_MODE_DEFAULT" value="6"/>
<param name="NAV_LIGHT_MODE_DEFAULT" value="0"/>
</load>
</modules>
<firmware name="fixedwing"> <firmware name="fixedwing">
<target name="ap" board="tiny_2.11"> <target name="ap" board="tiny_2.11">
<define name="AGR_CLIMB" /> <define name="AGR_CLIMB" />
+15 -11
View File
@@ -20,24 +20,28 @@ FIXEDWING_INC = -I$(SRC_FIXEDWING) -I$(SRC_FIXEDWING_ARCH)
include $(CFG_FIXEDWING)/autopilot.makefile include $(CFG_FIXEDWING)/autopilot.makefile
ifeq ($(BOARD),tiny) ifeq ($(ACTUATORS),)
ifeq ($(BOARD_VERSION),1.1) ifeq ($(BOARD),tiny)
include $(CFG_FIXEDWING)/actuators_4015.makefile ifeq ($(BOARD_VERSION),1.1)
else
ifeq ($(BOARD_VERSION),0.99)
include $(CFG_FIXEDWING)/actuators_4015.makefile include $(CFG_FIXEDWING)/actuators_4015.makefile
else else
include $(CFG_FIXEDWING)/actuators_4017.makefile ifeq ($(BOARD_VERSION),0.99)
include $(CFG_FIXEDWING)/actuators_4015.makefile
else
include $(CFG_FIXEDWING)/actuators_4017.makefile
endif
endif endif
endif endif
endif ifeq ($(BOARD),twog)
ifeq ($(BOARD),twog)
include $(CFG_FIXEDWING)/actuators_4017.makefile include $(CFG_FIXEDWING)/actuators_4017.makefile
endif endif
ifeq ($(BOARD),lisa_l) ifeq ($(BOARD),lisa_l)
include $(CFG_FIXEDWING)/actuators_direct.makefile include $(CFG_FIXEDWING)/actuators_direct.makefile
endif
else
include $(CFG_FIXEDWING)/$(ACTUATORS).makefile
endif endif
@@ -22,90 +22,177 @@
# #
# #
# All targets need the board config ######################################################################
$(TARGET).CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG) ##
## COMMON FIXEDWING ALL TARGETS (SIM + AP + FBW ...)
##
#
# Board config + Include paths
#
$(TARGET).CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
$(TARGET).CFLAGS += $(FIXEDWING_INC)
#
# Common Options
#
ifeq ($(OPTIONS), minimal) ifeq ($(OPTIONS), minimal)
else else
$(TARGET).CFLAGS += -DWIND_INFO $(TARGET).CFLAGS += -DWIND_INFO
endif endif
$(TARGET).CFLAGS += -DTRAFFIC_INFO $(TARGET).CFLAGS += -DTRAFFIC_INFO
sim.CFLAGS += -DSITL -DAP -DFBW -DRADIO_CONTROL -DINTER_MCU -DDOWNLINK -DDOWNLINK_TRANSPORT=IvyTransport -DLED
sim.srcs += latlong.c radio_control.c downlink.c commands.c gps.c inter_mcu.c estimator.c sys_time.c main_fbw.c main_ap.c datalink.c $(SRC_ARCH)/sim_ap.c $(SRC_ARCH)/ppm_hw.c $(SRC_ARCH)/sim_gps.c $(SRC_ARCH)/ivy_transport.c $(SRC_ARCH)/sim_adc_generic.c $(SRC_ARCH)/led_hw.c
ap.CFLAGS += $(FIXEDWING_INC)
ap.srcs = $(SRC_FIXEDWING)/main.c
ifeq ($(ARCHI), stm32)
ap.srcs += lisa/plug_sys.c
endif
#
# Interrupts
#
ifeq ($(ARCHI), arm7)
ap.srcs += $(SRC_ARCH)/armVIC.c
else ifeq ($(ARCHI), stm32)
ap.srcs += $(SRC_ARCH)/stm32_exceptions.c
ap.srcs += $(SRC_ARCH)/stm32_vector_table.c
endif
# #
# LEDs # LEDs
# #
ap.CFLAGS += -DUSE_LED -DLED -DTIME_LED=1
ifeq ($(ARCHI), stm32) $(TARGET).CFLAGS += -DLED
ap.srcs += $(SRC_ARCH)/led_hw.c ifneq ($(ARCHI), arm7)
$(TARGET).srcs += $(SRC_ARCH)/led_hw.c
endif endif
# #
# Systime # Sys-time
# #
ap.CFLAGS += -DUSE_SYS_TIME
ap.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
#ap.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
ap.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./60.))'
ifeq ($(ARCHI), stm32)
ap.CFLAGS += -DSYS_TIME_LED=1 -DPERIPHERALS_AUTO_INIT
endif
$(TARGET).srcs += sys_time.c
#
# FlyByWire Main
#
ap.CFLAGS += -DFBW
ap.srcs += $(SRC_FIXEDWING)/main_fbw.c
#
# AutoPilot Main
#
ap.CFLAGS += -DAP
ap.srcs += $(SRC_FIXEDWING)/main_ap.c
ap.srcs += $(SRC_FIXEDWING)/estimator.c
# #
# InterMCU & Commands # InterMCU & Commands
# #
ap.CFLAGS += -DINTER_MCU $(TARGET).CFLAGS += -DINTER_MCU
ap.srcs += $(SRC_FIXEDWING)/inter_mcu.c $(TARGET).srcs += $(SRC_FIXEDWING)/inter_mcu.c
ap.srcs += $(SRC_FIXEDWING)/commands.c
######################################################################
##
## COMMON FOR ALL NON-SIMULATION TARGETS
##
#
# Interrupt Vectors
#
ifeq ($(ARCHI), arm7)
ns_srcs += $(SRC_ARCH)/armVIC.c
else ifeq ($(ARCHI), stm32)
ns_srcs += $(SRC_ARCH)/stm32_exceptions.c
ns_srcs += $(SRC_ARCH)/stm32_vector_table.c
ns_CFLAGS += -DPERIPHERALS_AUTO_INIT
endif
ifeq ($(ARCHI), stm32)
ns_srcs += lisa/plug_sys.c
endif
#
# Main
#
ns_srcs += $(SRC_FIXEDWING)/main.c
#
# LEDs
#
ns_CFLAGS += -DUSE_LED
ifeq ($(ARCHI), stm32)
ns_CFLAGS += -DSYS_TIME_LED=1
else
ns_CFLAGS += -DTIME_LED=1
endif
#
# Sys-time
#
ns_CFLAGS += -DUSE_SYS_TIME
ns_CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./60.))'
ns_srcs += $(SRC_ARCH)/sys_time_hw.c
# #
# UARTS # UARTS
# #
ap.srcs += $(SRC_ARCH)/uart_hw.c
ns_srcs += $(SRC_ARCH)/uart_hw.c
#
# ANALOG
#
ifeq ($(ARCHI), arm7) ifeq ($(ARCHI), arm7)
ap.CFLAGS += -DADC ns_CFLAGS += -DADC
ap.srcs += $(SRC_ARCH)/adc_hw.c ns_srcs += $(SRC_ARCH)/adc_hw.c
else ifeq ($(ARCHI), stm32) else ifeq ($(ARCHI), stm32)
ap.srcs += lisa/lisa_analog_plug.c ns_srcs += lisa/lisa_analog_plug.c
endif endif
######################################################################
##
## FLY BY WIRE THREAD SPECIFIC
##
fbw_CFLAGS += -DFBW
fbw_srcs += $(SRC_FIXEDWING)/main_fbw.c
fbw_srcs += $(SRC_FIXEDWING)/commands.c
######################################################################
##
## AUTOPILOT THREAD SPECIFIC
##
ap_CFLAGS += -DAP
ap_srcs += $(SRC_FIXEDWING)/main_ap.c
ap_srcs += $(SRC_FIXEDWING)/estimator.c
######################################################################
##
## SIMULATOR THREAD SPECIFIC
##
sim.CFLAGS += $(fbw_CFLAGS) $(ap_CFLAGS)
sim.srcs += $(fbw_srcs) $(ap_srcs)
sim.CFLAGS += -DSITL
sim.srcs += $(SRC_ARCH)/sim_ap.c
sim.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=IvyTransport
sim.srcs += downlink.c datalink.c $(SRC_ARCH)/sim_gps.c $(SRC_ARCH)/ivy_transport.c $(SRC_ARCH)/sim_adc_generic.c
######################################################################
##
## Final Target Allocations
##
#
# SINGLE MCU / DUAL MCU
#
ifeq ($(BOARD),classix)
fbw.CFLAGS += -DMCU_SPI_LINK -DUSE_SPI -DSPI_SLAVE
fbw.srcs += $(SRC_FIXEDWING)/link_mcu.c $(SRC_FIXEDWING)/spi.c $(SRC_ARCH)/spi_hw.c
ap.CFLAGS += -DMCU_SPI_LINK -DUSE_SPI -DSPI_MASTER -DUSE_SPI_SLAVE0
ap.srcs += $(SRC_FIXEDWING)/link_mcu.c $(SRC_FIXEDWING)/spi.c $(SRC_ARCH)/spi_hw.c
else
# Single MCU's run both
ap.CFLAGS += $(fbw_CFLAGS)
ap.srcs += $(fbw_srcs)
endif
#
# No-Sim parameters
#
fbw.CFLAGS += $(fbw_CFLAGS) $(ns_CFLAGS)
fbw.srcs += $(fbw_srcs) $(ns_srcs)
ap.CFLAGS += $(ap_CFLAGS) $(ns_CFLAGS)
ap.srcs += $(ap_srcs) $(ns_srcs)
@@ -7,3 +7,5 @@ ap.CFLAGS += -DUSE_UART$(GPS_UART_NR)
ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD) ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD)
ap.srcs += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c ap.srcs += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
sim.srcs += $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
@@ -7,3 +7,5 @@ ap.CFLAGS += -DUSE_UART$(GPS_UART_NR)
ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD) ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD)
ap.srcs += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c ap.srcs += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
sim.srcs += $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
@@ -0,0 +1,8 @@
# XSens Mti-G
# ap.CFLAGS += -DGPS
ap.srcs += $(SRC_FIXEDWING)/gps_xsens.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
sim.srcs += $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c
@@ -1,4 +1,17 @@
NORADIO = False
ifeq ($(BOARD),classix)
ifeq ($(TARGET),ap)
NODRADIO = True
endif
endif
ifeq ($(NORADIO), False)
$(TARGET).CFLAGS += -DRADIO_CONTROL
$(TARGET).srcs += $(SRC_FIXEDWING)/radio_control.c $(SRC_ARCH)/ppm_hw.c
endif
ap.CFLAGS += -DRADIO_CONTROL
ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c
+40
View File
@@ -0,0 +1,40 @@
#
# classix.makefile
#
# http://paparazzi.enac.fr/wiki/Classix
#
# TODO: move all to new directories
# ARCH=lpc21
ARCH=arm7
ARCHI=arm7
BOARD=classix
BOARD_VERSION=1.0
#BOARD_CFG=\"boards/$(BOARD)_$(BOARD_VERSION).h\"
# TODO: update syntax
BOARD_CFG = \"classix.h\"
ifndef FLASH_MODE
FLASH_MODE = IAP
endif
LPC21ISP_BAUD = 38400
LPC21ISP_XTAL = 12000
### default settings for classix
GPS_BAUD = B38400
# All targets on the TINY board run on the same processor achitecture
$(TARGET).ARCHDIR = $(ARCHI)
$(TARGET).ARCH = arm7tdmi
$(TARGET).TARGET = $(TARGET)
$(TARGET).TARGETDIR = $(TARGET)
# Battery Voltage
fbw.CFLAGS += -DUSE_AD0
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins">
<!-- <depend conflict="ins" -->
<!-- <depend require="gps_xsens" -->
<header>
<file name="ins.h"/>
</header>
<init fun="ins_init()"/>
<periodic fun="ins_periodic_task()" freq="60"/>
<event fun="InsEventCheckAndHandle(handle_ins_msg())"/>
<makefile>
<flag name="USE_UART1"/>
<flag name="INS_LINK" value="Uart1"/>
<flag name="UART1_BAUD" value="B115200"/>
<flag name="USE_GPS_XSENS"/>
<file name="ins_xsens.c"/>
</makefile>
</module>
+1 -1
View File
@@ -57,7 +57,7 @@
#define PERIODIC_SEND_ALIVE(_chan) DOWNLINK_SEND_ALIVE(_chan, 16, MD5SUM); #define PERIODIC_SEND_ALIVE(_chan) DOWNLINK_SEND_ALIVE(_chan, 16, MD5SUM);
#define PERIODIC_SEND_BAT(_chan) { \ #define PERIODIC_SEND_BAT(_chan) { \
uint16_t zero; \ uint16_t zero = 0; \
Downlink({ int16_t e = energy; \ Downlink({ int16_t e = energy; \
DOWNLINK_SEND_BAT(_chan, \ DOWNLINK_SEND_BAT(_chan, \
&v_ctl_throttle_slewed, \ &v_ctl_throttle_slewed, \