mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-30 03:27:33 +08:00
Fixedwing Autopilot Makefile Upgrade
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -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>
|
||||||
|
|
||||||
@@ -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, \
|
||||||
|
|||||||
Reference in New Issue
Block a user