Fixedwing subsystems

From Paparazzi

Jump to: navigation, search

This block

 <subsystem name="actuators" type="4015" >

replaces

 # for Tiny v1.1
 ap.CFLAGS 	+= -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT
 ap.srcs 	+= $(SRC_ARCH)/servos_4015_MAT_hw.c 
 ap.srcs 	+= $(SRC_FIXEDWING)/actuators.c

This block

 <subsystem name="actuators" type="4017" >

replaces

 # for Tiny v2 or Twog v1
 ap.CFLAGS += -DACTUATORS=\"servos_4017_hw.h\" -DSERVOS_4017
 ap.srcs += $(SRC_FIXEDWING_ARCH)/servos_4017_hw.c $(SRC_FIXEDWING)/actuators.c

This block

 <subsystem name="actuators" type="ppm" >

replaces

 # to output standard PPM to a R/C receiver
 #
 # This is used in the case where you want to directly drive a receiver which has a microcontroller
 # to do the decoding and driving of the servos (not a 4015 or 4017 decoder chip).
 # The PPM is output on the SERV_CLK pin. The PPM frame rate, pulse width, and number of channels
 # can be adjusted in the "servos_ppm_hw.h" file to suit your particular receiver.
 ap.CFLAGS += -DACTUATORS=\"servos_ppm_hw.h\" -DSERVOS_PPM_MAT
 ap.srcs += $(SRC_FIXEDWING_ARCH)/servos_ppm_hw.c $(SRC_FIXEDWING)/actuators.c

This block

 <subsystem name="airspeed" type="ets" >

replaces

 # EagleTree sensor (airspeed)
 ap.CFLAGS += -DUSE_AIRSPEED_ETS -DUSE_AIRSPEED -DUSE_I2C0
 ap.srcs += airspeed.c airspeed_ets.c i2c.c $(SRC_ARCH)/i2c_hw.c
 sim.CFLAGS += -DUSE_AIRSPEED_ETS -DUSE_AIRSPEED -DUSE_I2C0
 sim.srcs += airspeed.c airspeed_ets.c i2c.c $(SRC_ARCH)/i2c_hw.c

This block

 <subsystem name="baro" type="ets" >

replaces

 # EagleTree sensor (altimeter)
 ap.CFLAGS += -DUSE_BARO_ETS -DUSE_I2C0
 ap.srcs += baro_ets.c i2c.c $(SRC_ARCH)/i2c_hw.c
 sim.CFLAGS += -DUSE_BARO_ETS -DUSE_I2C0
 sim.srcs += baro_ets.c i2c.c $(SRC_ARCH)/i2c_hw.c

This block

 <subsystem name="attitude" type="infrared" >

replaces

 # attitude via IR sensors
 #
 # default values for tiny and twog are:
 # ADC_IR1    = ADC_1
 # ADC_IR2    = ADC_2
 # ADC_IR_TOP = ADC_0
 # ADC_IR_NB_SAMPLES = 16
 #
 # to change just redefine these before including this file
 #
 ap.CFLAGS += -DADC_CHANNEL_IR1=$(ADC_IR1) -DUSE_$(ADC_IR1)
 ap.CFLAGS += -DADC_CHANNEL_IR2=$(ADC_IR2) -DUSE_$(ADC_IR2)
 ap.CFLAGS += -DADC_CHANNEL_IR_TOP=$(ADC_IR_TOP) -DUSE_$(ADC_IR_TOP)
 ap.CFLAGS += -DADC_CHANNEL_IR_NB_SAMPLES=$(ADC_IR_NB_SAMPLES)
 ap.CFLAGS += -DINFRARED
 ap.srcs += $(SRC_FIXEDWING)/infrared.c

This block

 <subsystem name="autopilot" >

replaces

 #
 # $Id: booz2_autopilot.makefile 4827 2010-04-21 08:02:18Z poine $
 #
 # Copyright (C) 2008 Antoine Drouin
 #
 # This file is part of paparazzi.
 #tin
 # paparazzi 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 2, or (at your option)
 # any later version.
 #
 # paparazzi 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 paparazzi; see the file COPYING.  If not, write to
 # the Free Software Foundation, 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 #
 #
 # All targets need the board config
 $(TARGET).CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
 $(TARGET).CFLAGS += -DWIND_INFO -DTRAFFIC_INFO
 sim.CFLAGS += -DSITL -DAP -DFBW -DRADIO_CONTROL -DINTER_MCU -DDOWNLINK -DDOWNLINK_TRANSPORT=IvyTransport -DINFRARED -DLED
 sim.srcs += latlong.c radio_control.c downlink.c commands.c gps.c inter_mcu.c infrared.c estimator.c sys_time.c main_fbw.c main_ap.c datalink.c $(SRC_ARCH)/ppm_hw.c $(SRC_ARCH)/sim_gps.c $(SRC_ARCH)/sim_ir.c $(SRC_ARCH)/sim_ap.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
 #
 ap.CFLAGS += -DUSE_LED -DLED -DTIME_LED=1
 ifeq ($(ARCHI), stm32)
 ap.srcs += $(SRC_ARCH)/led_hw.c
 endif
 #
 # Systime
 #
 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
 #
 # 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
 #
 ap.CFLAGS += -DINTER_MCU
 ap.srcs += $(SRC_FIXEDWING)/inter_mcu.c
 ap.srcs += $(SRC_FIXEDWING)/commands.c
 #
 # UARTS
 #
 ap.srcs += $(SRC_ARCH)/uart_hw.c
 ifeq ($(ARCHI), arm7)
 ap.CFLAGS += -DADC
 ap.srcs += $(SRC_ARCH)/adc_hw.c
 else ifeq ($(ARCHI), stm32)
 ap.srcs += lisa/lisa_analog_plug.c
 endif

This block

 <subsystem name="gps" type="ublox_lea4p" >

replaces

 # UBlox LEA 4P
 ap.CFLAGS += -DGPS -DUBX
 ap.CFLAGS += -DGPS_LINK=Uart$(GPS_UART_NR)
 ap.CFLAGS += -DUSE_UART$(GPS_UART_NR)
 ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD)
 ap.srcs   += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c

This block

 <subsystem name="gps" type="ublox_lea5h" >

replaces

 # UBlox LEA 5H
 ap.CFLAGS += -DGPS -DUBX -DGPS_USE_LATLONG
 ap.CFLAGS += -DGPS_LINK=Uart$(GPS_UART_NR)
 ap.CFLAGS += -DUSE_UART$(GPS_UART_NR)
 ap.CFLAGS += -DUART$(GPS_UART_NR)_BAUD=$(GPS_BAUD)
 ap.srcs   += $(SRC_FIXEDWING)/gps_ubx.c $(SRC_FIXEDWING)/gps.c $(SRC_FIXEDWING)/latlong.c

This block

 <subsystem name="gyro" type="pitch" >

replaces

 # additional pitch stabilization with gyro
 #
 # this assumes you are already using a roll gyro
 #
 # default values for tiny and twog are:
 # ADC_GYRO_PITCH    = ADC_4
 #
 # to change just redefine these before including this file
 #
 ap.CFLAGS += -DADC_CHANNEL_GYRO_PITCH=$(ADC_GYRO_PITCH) -DUSE_$(ADC_GYRO_PITCH)

This block

 <subsystem name="gyro" type="roll" >

replaces

 # roll stabilization with gyro
 #
 # default values for tiny and twog are:
 # ADC_GYRO_ROLL    = ADC_3
 # ADC_GYRO_NB_SAMPLES = 16
 #
 # to change just redefine these before including this file
 #
 ap.CFLAGS += -DADC_CHANNEL_GYRO_ROLL=$(ADC_GYRO_ROLL) -DUSE_$(ADC_GYRO_ROLL)
 ap.CFLAGS += -DADC_CHANNEL_GYRO_NB_SAMPLES=$(ADC_GYRO_NB_SAMPLES)
 ap.CFLAGS += -DGYRO -DADXRS150
 ap.srcs += $(SRC_FIXEDWING)/gyro.c

This block

      ...
   <subsystem name="spi"/>
 </firmware>

 <modules>
   <load name="humid_sht.xml"/>
   <load name="baro_scp.xml"/>
 </modules>

replaces

 # Payload: Sensirion humidity/temp, VTI pressure/temp
 ap.srcs += humid_sht.c
 ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=3  -DSCK_PIN=2
 ap.srcs += baro_scp.c
 ap.CFLAGS += -DUSE_BARO_SCP

This block

 <subsystem name="joystick" >

replaces

 # joystick for fixedwings
 $(TARGET).srcs += joystick.c
 $(TARGET).CFLAGS += -DUSE_JOYSTICK

This block

 <subsystem name="navigation" >

replaces

 # Standard fixed wing navigation
 #add these to all targets
 $(TARGET).CFLAGS += -DNAV
 $(TARGET).srcs += $(SRC_FIXEDWING)/nav.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/traffic_info.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/nav_survey_rectangle.c $(SRC_FIXEDWING)/nav_line.c

This block

 <subsystem name="navigation" type="extra" >

replaces

 $(TARGET).CFLAGS += -DNAV
 $(TARGET).srcs += $(SRC_FIXEDWING)/nav.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/traffic_info.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/nav_survey_rectangle.c $(SRC_FIXEDWING)/nav_line.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/nav_cube.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/discsurvey.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/OSAMNav.c
 $(TARGET).srcs += $(SRC_FIXEDWING)/snav.c

This block

 <subsystem name="navigation" type="bomb" >

replaces

 ap.srcs += bomb.c
 sim.srcs += bomb.c

This block

 <subsystem name="control" >

replaces

 ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c


This block

 <subsystem name="radio" type="control_ppm" >

replaces

 ap.CFLAGS += -DRADIO_CONTROL
 ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c

This block

 <subsystem name="telemetry" type="transparent" >

replaces

 ap.CFLAGS += -DUSE_UART$(MODEM_UART_NR)
 ap.CFLAGS += -DUART$(MODEM_UART_NR)_BAUD=$(MODEM_BAUD)
 MODEM_UART = Uart$(MODEM_UART_NR)
 ap.CFLAGS += -DDOWNLINK -DDOWNLINK_FBW_DEVICE=$(MODEM_UART) -DDOWNLINK_AP_DEVICE=$(MODEM_UART) -DPPRZ_UART=$(MODEM_UART)
 ap.CFLAGS += -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ
 ap.srcs += $(SRC_FIXEDWING)/downlink.c $(SRC_FIXEDWING)/datalink.c $(SRC_FIXEDWING)/pprz_transport.c

This block

 <subsystem name="telemetry" type="xbee_api" >

replaces

 # XBee modems in API mode
 ap.CFLAGS += -DUSE_UART$(MODEM_UART_NR)
 ap.CFLAGS += -DUART$(MODEM_UART_NR)_BAUD=$(MODEM_BAUD)
 MODEM_UART = Uart$(MODEM_UART_NR)
 ap.CFLAGS += -DDOWNLINK -DDOWNLINK_FBW_DEVICE=$(MODEM_UART) -DDOWNLINK_AP_DEVICE=$(MODEM_UART) -DXBEE_UART=$(MODEM_UART)
 ap.CFLAGS += -DDOWNLINK_TRANSPORT=XBeeTransport -DDATALINK=XBEE
 ap.srcs += $(SRC_FIXEDWING)/downlink.c $(SRC_FIXEDWING)/datalink.c $(SRC_FIXEDWING)/xbee.c

This block

 <subsystem name="testing" >

replaces

 ## TODO This file probably needs to move to the board specific folder
 # a test program to setup actuators
 setup_actuators.ARCHDIR = $(ARCHI)
 setup_actuators.ARCH = arm7tdmi
 setup_actuators.TARGET = setup_actuators
 setup_actuators.TARGETDIR = setup_actuators
 setup_actuators.CFLAGS += -DFBW -DBOARD_CONFIG=\"tiny.h\" -DLED -DTIME_LED=1 -DACTUATORS=\"servos_4015_hw.h\" -DSERVOS_4015 -DUSE_UART0 -DUART0_BAUD=B9600 -DDATALINK=PPRZ -DPPRZ_UART=Uart0
 setup_actuators.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c pprz_transport.c setup_actuators.c $(SRC_ARCH)/uart_hw.c $(SRC_ARCH)/servos_4015_hw.c main.c
 # a test program to tunnel between both uart
 tunnel.ARCHDIR = $(ARCHI)
 tunnel.ARCH = arm7tdmi
 tunnel.TARGET = tunnel
 tunnel.TARGETDIR = tunnel
 tunnel.CFLAGS += -DFBW -DBOARD_CONFIG=\"tiny_2_1_1_usb.h\" -DLED
 tunnel.srcs += $(SRC_ARCH)/uart_tunnel.c
 # A test program to monitor the ADC values
 test_adcs.ARCHDIR = $(ARCHI)
 test_adcs.ARCH = arm7tdmi
 test_adcs.TARGET = test_adcs
 test_adcs.TARGETDIR = test_adcs
 test_adcs.CFLAGS += -DBOARD_CONFIG=$(CONFIG) -DLED -DTIME_LED=1 -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 -DUSE_ADC_4 -DUSE_ADC_5 -DUSE_ADC_6 -DUSE_ADC_7
 test_adcs.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=XBeeTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DXBEE_UART=Uart0 -DDATALINK=XBEE -DUART0_BAUD=B9600
 test_adcs.srcs += downlink.c $(SRC_ARCH)/uart_hw.c xbee.c
 test_adcs.srcs += sys_time.c $(SRC_ARCH)/adc_hw.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c test_adcs.c
 # pprz_transport.c
 # a configuration program to access both uart through usb
 usb_tunnel_0.ARCHDIR = $(ARCHI)
 usb_tunnel_0.ARCH = arm7tdmi
 usb_tunnel_0.TARGET = usb_tunnel_0
 usb_tunnel_0.TARGETDIR = usb_tunnel_0
 usb_tunnel_0.CFLAGS += -DFBW -DBOARD_CONFIG=\"tiny_2_1_1_usb.h\" -DUSE_UART0 -DUART0_BAUD=B115200
 usb_tunnel_0.CFLAGS += -DUSE_USB_LINE_CODING -DUSE_USB_SERIAL -DLED
 usb_tunnel_0.srcs += $(SRC_ARCH)/usb_tunnel.c $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/uart_hw.c
 usb_tunnel_0.srcs += $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbinit.c
 usb_tunnel_0.srcs += $(SRC_ARCH)/lpcusb/usbcontrol.c $(SRC_ARCH)/lpcusb/usbstdreq.c
 usb_tunnel_0.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
 usb_tunnel_1.ARCHDIR = $(ARCHI)
 usb_tunnel_1.ARCH = arm7tdmi
 usb_tunnel_1.TARGET = usb_tunnel_1
 usb_tunnel_1.TARGETDIR = usb_tunnel_1
 usb_tunnel_1.CFLAGS += -DFBW -DBOARD_CONFIG=\"tiny_2_1_1_usb.h\" -DUSE_UART1 -DUART1_BAUD=B115200
 usb_tunnel_1.CFLAGS += -DUSE_USB_LINE_CODING -DUSE_USB_SERIAL -DLED
 usb_tunnel_1.srcs += $(SRC_ARCH)/usb_tunnel.c $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/uart_hw.c
 usb_tunnel_1.srcs += $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbinit.c
 usb_tunnel_1.srcs += $(SRC_ARCH)/lpcusb/usbcontrol.c $(SRC_ARCH)/lpcusb/usbstdreq.c
 usb_tunnel_1.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
Personal tools