Merge remote branch 'paparazzi/master' into uart

Conflicts:
	conf/autopilot/rotorcraft.makefile
	sw/airborne/mcu_periph/uart.h
This commit is contained in:
Gautier Hattenberger
2011-04-19 11:41:31 +02:00
1041 changed files with 13205 additions and 111972 deletions
+45
View File
@@ -3,6 +3,7 @@
*.out
*~
*.swp
*.pyc
@@ -16,6 +17,24 @@
*.aux
# Debian related files
*.deb
*.dsc
*.changes
*.substvars
*.debhelper.log
*-stamp
/debian/control
/debian/changelog
/debian/files
/debian/paparazzi-arm7
/debian/paparazzi-avr
/debian/paparazzi-dev
/debian/paparazzi-bin
/sw/lib/ocaml/ivy/debian/changelog
/sw/lib/ocaml/ivy/debian/files
/sw/lib/ocaml/ivy/debian/ivy-ocaml
/var
/dox
@@ -26,6 +45,7 @@
/conf/conf.xml.20*
/conf/control_panel.xml
/conf/%gconf.xml
/conf/srtm_data/*
# /doc/pprz_algebra/
/doc/pprz_algebra/headfile.log
@@ -58,6 +78,10 @@
/sw/ground_segment/tmtc/server
/sw/ground_segment/tmtc/diadec
# /sw/ground_segment/joystick
/sw/ground_segment/joystick/input2ivy
/sw/ground_segment/joystick/test_stick
# /sw/lib/ocaml/
/sw/lib/ocaml/gtk_papget_editor.ml
/sw/lib/ocaml/gtk_papget_text_editor.ml
@@ -88,3 +112,24 @@
# /sw/tools/
/sw/tools/fp_parser.ml
/sw/tools/wiki_gen/wiki_gen
# /sw/ground_segment/misc
/sw/ground_segment/misc/davis2ivy
# /sw/airborne/arch/lpc21/test/bootloader
/sw/airborne/arch/lpc21/test/bootloader/bl.dmp
/sw/airborne/arch/lpc21/test/bootloader/bl.hex
/sw/airborne/arch/lpc21/test/bootloader/bl.map
/sw/airborne/arch/lpc21/test/bootloader/bl.elf
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.dmp
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.hex
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.map
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.elf
/sw/airborne/arch/lpc21/test/bootloader/crt.lst
# /sw/airborne/test
/sw/airborne/test/test_geodetic
/sw/airborne/test/test_algebra
/sw/airborne/test/test_matrix
/sw/airborne/test/test_att
+1 -1
View File
@@ -574,7 +574,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = sw/airborne
INPUT = sw/airborne sw/airborne/math
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+14 -2
View File
@@ -43,6 +43,7 @@ AIRBORNE=sw/airborne
COCKPIT=sw/ground_segment/cockpit
TMTC=sw/ground_segment/tmtc
MULTIMON=sw/ground_segment/multimon
MISC=sw/ground_segment/misc
LOGALIZER=sw/logalizer
SIMULATOR=sw/simulator
MAKE=make PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME)
@@ -69,7 +70,7 @@ OCAMLRUN=$(shell which ocamlrun)
all: commands static conf
static : lib center tools cockpit multimon tmtc logalizer lpc21iap sim_static static_h usb_lib
static : lib center tools cockpit multimon tmtc misc logalizer lpc21iap sim_static static_h usb_lib
conf: conf/conf.xml conf/control_panel.xml
@@ -98,13 +99,16 @@ cockpit: lib
tmtc: lib cockpit
cd $(TMTC); $(MAKE) all
misc:
cd $(MISC); $(MAKE) all
multimon:
cd $(MULTIMON); $(MAKE)
static_h: $(MESSAGES_H) $(MESSAGES2_H) $(UBX_PROTOCOL_H) $(XSENS_PROTOCOL_H) $(DL_PROTOCOL_H) $(DL_PROTOCOL2_H)
usb_lib:
@[ -d sw/airborne/arch/lpc21/lpcusb ] && ((test -x $(ARMGCC) && (cd sw/airborne/arch/lpc21/lpcusb; $(MAKE))) || echo "Not building usb_lib: ARMGCC=$(ARMGCC) not found") || echo "Not building usb_lib: sw/airborne/arch/lpc21/lpcusb directory missing"
@[ -d sw/airborne/arch/lpc21/lpcusb ] && ((test -x "$(ARMGCC)" && (cd sw/airborne/arch/lpc21/lpcusb; $(MAKE))) || echo "Not building usb_lib: ARMGCC=$(ARMGCC) not found") || echo "Not building usb_lib: sw/airborne/arch/lpc21/lpcusb directory missing"
$(MESSAGES_H) : $(MESSAGES_XML) $(CONF_XML) tools
$(Q)test -d $(STATICINCLUDE) || mkdir -p $(STATICINCLUDE)
@@ -220,7 +224,9 @@ cleanspaces:
find ./sw -name '*.mli' -exec sed -i {} -e 's/[ \t]*$$//' ';'
find ./conf -name '*.xml' -exec sed -i {} -e 's/[ \t]*$$//' ';'
distclean : dist_clean
dist_clean : clean
rm -r conf/srtm_data
ab_clean:
@@ -241,3 +247,9 @@ paparazzi:
sw/simulator/launchsitl:
cat src/$(@F) | sed s#OCAMLRUN#$(OCAMLRUN)# | sed s#OCAML#$(OCAML)# > $@
chmod a+x $@
#.SUFFIXES: .hgt.zip
%.hgt.zip:
cd data/srtm; $(MAKE) $(@)
-134
View File
@@ -1,134 +0,0 @@
add date/time of generation in generated code
##############################################################
add an irc client to morphix - preconfigured for paparazzi channel
make clean doesn't delete boa config
make a "single node" mode where boa isn't needed and serve file:// URL
force ivybus to 127 in single node
default to that mode
######################################## obsolete ? ##############
dans flybywire
chop servo ne depends pas du servo
pour les missions
possibilité de "transformer" (rotation Z, translation XYZ) une mission
possibilitite de faire la meme chose pour une partie des waypoints (on en a une partie pour les evolutions et une partie pour le circuit d'atterissage. On deplace ceux du circuit d'atterissage pour qu'il colle a la piste. et on deplace ceux des evolution pour etre en face du jury :)
On stocke la/les transformations et on peut avoir des missions communes muret/ricou
des declarations de points locales aux blocs et des transformations par blocs
faire medit avec visu3d
proposer d'ajouter un waypoint en relatif par rapport a un autre - et en coordonnees polaires (dist, QDM)
l'interface du captureur de video - c'est aussi visu3d . Il a une liste de textures (photos) et on peut les transformer. La description est sauvées dans un fichier xml et peut etre rechargée. les photos vont dans var/photos
dans visu3d, il faudrait pouvoir pivoter en Z sur la position courante (en tenant compte du zoom )
######################
logger les simus comme les vols - y penser en refaisant receive - code commun
Pour les simus a plusieurs avions, il doit y avoir partage d'un certain nombre d'informations entre les differentes instances des simu (par exemple le vent)
Dans un circle, il faut afficher le QDR - calcul au sol??
Pour les missions, il faudrait pouvoir dire . faire un cercle pendant 180° ou faire un cercle pendant n secondes. Il faudrait donc disposer du temps depuis le block et du de l'angle parcouru depuis le debut du cercle.
C'est pour faire un palier en haut de la monté. Pour laisser le terme accumulateur se recaler avant la descente.
###########################################
Sujet : procedure automatique d'interuption de vol pour microdrone
-identifier des scenarios:
cause de l'interuption : autonomie, meteo, defaillance systeme
-modeliser la zone d'evolution et les autres contraintres (systemes defaillants, meteo)
(dans un meeting, on veut a tout prix eviter le public, les routes etc...)
- initialisation
- iteratif ?
#######################################
integrer les gazs pour estimer l'autonomie restante
###########################################
Sujet Drone Thales
Les eleves (1A ou 2A) construisent un avion et apprennent a le faire voler d'ici juillet.
commande PCB
commande composants radiospare/melexys/coronis/ublox
labo pour assembler (labo micro onde ?)
commande garat (avion, moteur, servos, batteries, radiocommande etc....)
achat de petit outillage (dremel, fer a souder etc...)
assemblage au labo drone
cours de pilotages sur le twinstar
On leur donne les petits projets pendant l'année sur Paparazzi.
############################################
mettre les projets enac sur la page web enac
############################################
Pourquoi on ne laisse pas message.xml modifiable, pour les taux de telemesure par exemple.
on split les Makefiles
###########
manque gerbmerge dans les dependance??? ha non ca n'existe pas... a packager !
>
>
> - Pitch should more be in degree than in radian in flight plan files.
>It could be in the future version of Paparazzi.
>
>
> - It's strange MIN_HEIGHT_CARROT and MAX_HEIGHT_CARROT are in the
>code. Shouldn't it be in a conf file so as to change it ?
>
- In the same way, MIN_SPEED_FOR_TAKEOFF should be in the airframe
conf file ?
+1 -1
View File
@@ -96,7 +96,7 @@ CFLAGS += -ffunction-sections -fdata-sections
CFLAGS += -finline-limit=1200 --param inline-unit-growth=100
# flags only for C
CFLAGS + = -Wstrict-prototypes -Wmissing-declarations
CFLAGS += -Wstrict-prototypes -Wmissing-declarations
CFLAGS += -Wmissing-prototypes -Wnested-externs
CFLAGS += $(CSTANDARD)
CFLAGS += $($(TARGET).CFLAGS) $(LOCAL_CFLAGS)
+49 -22
View File
@@ -38,7 +38,7 @@ OPT = s
#OPT = 0
# Programs location
TOOLCHAIN_DIR=$(shell find -L /opt/paparazzi/stm32 ~/sat -maxdepth 1 -type d -name arm-none-eabi 2>/dev/null | head -n 1 | xargs dirname )
TOOLCHAIN_DIR=$(shell find -L ~/sat /opt/paparazzi/stm32 -maxdepth 1 -type d -name arm-none-eabi 2>/dev/null | head -n 1 | xargs dirname )
GCC_BIN_DIR=$(TOOLCHAIN_DIR)/bin
GCC_LIB_DIR=$(TOOLCHAIN_DIR)/arm-none-eabi/lib
@@ -99,14 +99,21 @@ LDSCRIPT = $($(TARGET).LDSCRIPT)
endif
endif
CFLAGS = -I. -I./$(ARCH) $(INCLUDES) -D__thumb2__ -Wall -c -msoft-float -O$(OPT)
#UNAME = $(shell uname -s)
MULTILIB = $(shell if $(CC) --print-multi-lib | grep thumb2 > /dev/null ; then echo "yes"; else echo "no"; fi)
CFLAGS = -I. -I./$(ARCH) $(INCLUDES) -D__thumb2__ -Wall -msoft-float -O$(OPT)
CFLAGS += -Wl,gc-sections
CFLAGS += -mcpu=$(MCU) -mthumb -ansi
ifeq ("$(MULTILIB)","yes")
CFLAGS += -mfix-cortex-m3-ldrd
endif
CFLAGS += -std=gnu99
#CFLAGS += -malignment-traps
CFLAGS += -fno-common -g$(DEBUG)
CFLAGS += -fno-common
CFLAGS += -g$(DEBUG)
CFLAGS += -ffunction-sections -fdata-sections
CFLAGS += -Wall -Wimplicit
CFLAGS += -Wimplicit
CFLAGS += -Wcast-align
CFLAGS += -Wpointer-arith -Wswitch
CFLAGS += -Wredundant-decls -Wreturn-type -Wshadow -Wunused
@@ -120,11 +127,18 @@ CFLAGS += -Wswitch-default
CFLAGS += $($(TARGET).CFLAGS)
AFLAGS = -ahls -mapcs-32
ifeq ("$(MULTILIB)","yes")
AFLAGS += -mcpu=$(MCU) -mthumb
endif
AFLAGS += -x assembler-with-cpp -Wa,-adhlns=$(OBJDIR)/$(<:.S=.lst),--g$(DEBUG)
ifeq ("$(MULTILIB)","yes")
LDFLAGS = -T$(LDSCRIPT) -nostartfiles -O$(OPT) --gc-sections -mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
else
LDFLAGS = -D__thumb2__ -T$(LDSCRIPT) -nostartfiles -L$(GCC_LIB_DIR) -O$(OPT) --gc-sections
endif
LDFLAGS += -Wl,-Map=$(OBJDIR)/$(TARGET).map,--cref,--gc-sections
LDLIBS += -lc -lm -lgcc -lcmsis -lstm32
LDLIBS += -lc -lm -lgcc -lcmsis -lstm32 -lopencm3_stm32
CPFLAGS = -j .isr_vector -j .text -j .data
CPFLAGS_BIN = -Obinary
@@ -135,17 +149,28 @@ ODFLAGS = -S
# Default target.
all: printcommands sizebefore build sizeafter
all: printcommands printmultilib sizebefore build sizeafter
printcommands:
$(Q)echo "Using CC = $(CC)"
$(Q)echo "Using LD = $(LD)"
$(Q)echo "Using CP = $(CP)"
$(Q)echo "Using DMP = $(DMP)"
$(Q)echo "Using NM = $(NM)"
$(Q)echo "Using SIZE = $(SIZE)"
$(Q)echo "Using RM = $(RM)"
$(Q)echo "Using OOCD = $(OOCD)"
@echo "Using CC = $(CC)"
@echo "Using LD = $(LD)"
@echo "Using CP = $(CP)"
@echo "Using DMP = $(DMP)"
@echo "Using NM = $(NM)"
@echo "Using SIZE = $(SIZE)"
@echo "Using OOCD = $(OOCD)"
@echo "GCC version:"
@$(CC) --version
@echo "OOCD version:"
@$(OOCD) --version
ifeq ("$(MULTILIB)","yes")
printmultilib:
@echo "*** Using multilib ***"
else
printmultilib:
@echo "*** NOT using multilib ***"
endif
build: elf bin hex
# lss sym
@@ -210,15 +235,17 @@ ifeq ($(FLASH_MODE),SERIAL)
upload: $(OBJDIR)/$(TARGET).bin
$(LOADER) -p /dev/ttyUSB0 -b 115200 -e -w -v $^
else ifeq ($(FLASH_MODE),JTAG)
upload: $(OBJDIR)/$(TARGET).bin
@echo -e " OOCD\t$<"
upload: $(OBJDIR)/$(TARGET).elf
@echo " OOCD\t$<"
$(Q)$(OOCD) -f interface/$(OOCD_INTERFACE).cfg \
-f board/$(OOCD_BOARD).cfg \
-c init \
-c "reset halt" \
-c "flash write_image erase $(OBJDIR)/$(TARGET).bin 0x08000000" \
-c reset \
-c shutdown
-f board/$(OOCD_BOARD).cfg \
-c init \
-c "reset halt" \
-c "reset init" \
-c "stm32x mass_erase 0" \
-c "flash write_image $<" \
-c reset \
-c shutdown
else
upload:
@echo unknown flash_mode $(FLASH_MODE)
@@ -18,9 +18,6 @@
<target name="ap" board="booz_1.0">
<define name="FAILSAFE_GROUND_DETECT"/>
<define name="USE_GPS_ACC4R"/>
<define name="BOOZ_START_DELAY" value="3"/>
<!--define name="BOOZ_ACTUATORS_MAX_THRUST" value="160"/-->
<!--define name="BOOZ_THRUST_LOWPASS" value="17"/-->
</target>
<target name="sim" board="pc">
<subsystem name="fdm" type="nps"/>
+7 -3
View File
@@ -4,7 +4,9 @@
<!--load name="booz_pwm.xml"/-->
<!--load name="booz_drop.xml"/-->
<!--load name="booz_cam.xml"/-->
<!--load name="sonar_maxbotix_booz.xml"/-->
<!--load name="sonar_maxbotix_booz.xml">
<configure name="ADC_SONAR" value="ADC_0"/>
</load-->
<!--load name="adc_generic_booz.xml"/-->
<!--load name="sys_mon.xml"/-->
</modules>
@@ -16,7 +18,7 @@
<!--define name="GUIDANCE_H_USE_REF"/-->
<target name="ap" board="booz_1.0">
<define name="BOOZ_FAILSAFE_GROUND_DETECT"/>
<define name="FAILSAFE_GROUND_DETECT"/>
<define name="USE_GPS_ACC4R"/>
<define name="BOOZ_START_DELAY" value="3"/>
</target>
@@ -29,7 +31,9 @@
<subsystem name="telemetry" type="transparent"/>
<subsystem name="actuators" type="asctec"/>
<subsystem name="imu" type="b2_v1.1"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="gps" type="ublox">
<configure name="GPS_BAUD" value="B57600"/>
</subsystem>
<subsystem name="ahrs" type="cmpl"/>
<subsystem name="ins" type="hff"/>
</firmware>
+2 -2
View File
@@ -126,12 +126,12 @@ main_stm32.srcs += lisa/lisa_overo_link.c lisa/arch/stm32/lisa_overo_link_arch.c
#booz IMU
#main_stm32.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\"
#main_stm32.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
#main_stm32.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100
#main_stm32.srcs += $(SRC_FIRMWARE)/imu.c
#main_stm32.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
#main_stm32.srcs += $(SRC_FIRMWARE)/imu/imu_b2.c $(SRC_FIRMWARE)/imu/arch/$(ARCH)/imu_b2_arch.c
#main_stm32.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
#main_stm32.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c
#main_stm32.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c
#main_stm32.srcs += math/pprz_trig_int.c
#crista IMU
+70 -34
View File
@@ -61,14 +61,6 @@
<define name="MAG_Y_SENS" value="4.884119848" integer="16"/>
<define name="MAG_Z_SENS" value="2.59926404993" integer="16"/>
<!-- old calibration
<define name="MAG_X_NEUTRAL" value="30"/>
<define name="MAG_Y_NEUTRAL" value="80"/>
<define name="MAG_Z_NEUTRAL" value="19"/>
<define name="MAG_X_SENS" value="4.73590916868" integer="16"/>
<define name="MAG_Y_SENS" value="4.86013203775" integer="16"/>
<define name="MAG_Z_SENS" value="2.5947951512" integer="16"/>
-->
<define name="BODY_TO_IMU_PHI" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_THETA" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_PSI" value="RadOfDeg( 135.)"/>
@@ -77,7 +69,7 @@
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_RC_CLIMB"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_ATTITUDE_Z_HOLD"/>
</section>
@@ -124,7 +116,7 @@
<define name="REF_MAX_R" value="RadOfDeg(180.)"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
<!-- feedback -->
<!-- gaui props
<define name="PHI_PGAIN" value="-900"/>
<define name="PHI_DGAIN" value="-200"/>
<define name="PHI_IGAIN" value="-200"/>
@@ -137,16 +129,42 @@
<define name="PSI_DGAIN" value="-200"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 200"/>
<define name="THETA_DDGAIN" value=" 200"/>
<define name="PSI_DDGAIN" value=" 200"/>
-->
<!-- feedback -->
<define name="PHI_PGAIN" value="-2000"/>
<define name="PHI_DGAIN" value="-400"/>
<define name="PHI_IGAIN" value="-200"/>
<define name="THETA_PGAIN" value="-2000"/>
<define name="THETA_DGAIN" value="-400"/>
<define name="THETA_IGAIN" value="-200"/>
<define name="PSI_PGAIN" value="-2000"/>
<define name="PSI_DGAIN" value="-400"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 300"/>
<define name="THETA_DDGAIN" value=" 300"/>
<define name="PSI_DDGAIN" value=" 300"/>
</section>
<section name="AHRS" prefix="AHRS_">
<define name="PROPAGATE_FREQUENCY" value="512"/>
<define name="H_X" value=" 0.51562740288882"/>
<define name="H_Y" value="-0.05707735220832"/>
<define name="H_Z" value=" 0.85490967783446"/>
</section>
<section name="INS" prefix="INS_">
<!-- <define name="BARO_SENS" value="15." integer="16"/> -->
<define name="BARO_SENS" value="10." integer="16"/>
<define name="UNTILT_ACCEL" value="1"/>
</section>
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
@@ -155,21 +173,29 @@
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
<define name="MAX_SUM_ERR" value="2000000"/>
<!--
<define name="HOVER_KP" value="-500"/>
<define name="HOVER_KD" value="-200"/>
<define name="HOVER_KI" value="-100"/>
<define name="HOVER_KI" value="0"/>
-->
<define name="HOVER_KP" value="-150"/>
<define name="HOVER_KD" value="-80"/>
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="INV_M" value ="0.2"/>
<!-- <define name="INV_M" value ="0.2"/> -->
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="PGAIN" value="-100"/>
<define name="PGAIN" value="-50"/>
<define name="DGAIN" value="-100"/>
<define name="IGAIN" value="-0"/>
<define name="IGAIN" value="-15"/>
<define name="NGAIN" value="-0"/>
</section>
<section name="MISC">
@@ -182,15 +208,19 @@
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
</section>
<!-- -->
<!--
<modules main_freq="512">
<load name="vehicle_interface_overo_link.xml"/>
</modules>
<!-- -->
-->
<firmware name="rotorcraft">
<target name="ap" board="lisa_l_1.0">
<!-- <define name="BOOZ_START_DELAY" value="1"/> -->
<!-- <define name="USE_PERSISTENT_SETTINGS"/> -->
<!-- <define name="USE_INS_NAV_INIT"/> -->
<define name="USE_ADAPT_HOVER"/>
<define name="FAILSAFE_GROUND_DETECT"/>
<define name="USE_GPS_ACC4R"/>
<target name="ap" board="lisa_l_1.0">
<subsystem name="radio_control" type="spektrum"/>
<subsystem name="actuators" type="asctec"/>
</target>
@@ -201,29 +231,35 @@
</target>
<subsystem name="telemetry" type="transparent"/>
<subsystem name="imu" type="b2_v1.1"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="gps" type="ublox">
<configure name="GPS_BAUD" value="B57600"/>
</subsystem>
<subsystem name="ahrs" type="cmpl"/>
<!-- <subsystem name="ahrs" type="ic"/> -->
<subsystem name="ins" type="hff"/>
</firmware>
<firmware name="lisa_l_test_progs">
<target name="test_led" board="lisa_l_1.0"/>
<target name="test_uart" board="lisa_l_1.0"/>
<target name="test_servos" board="lisa_l_1.0"/>
<target name="test_telemetry" board="lisa_l_1.0"/>
<target name="test_baro" board="lisa_l_1.0"/>
<target name="test_imu_b2" board="lisa_l_1.0"/>
<target name="test_imu_b2_2" board="lisa_l_1.0"/>
<target name="test_imu_aspirin" board="lisa_l_1.0"/>
<target name="test_rc_spektrum" board="lisa_l_1.0"/>
<target name="test_rc_ppm" board="lisa_l_1.0"/>
<target name="test_adc" board="lisa_l_1.0"/>
<target name="test_hmc5843" board="lisa_l_1.0"/>
<target name="test_itg3200" board="lisa_l_1.0"/>
<target name="test_led" board="lisa_l_1.0"/>
<target name="test_uart" board="lisa_l_1.0"/>
<target name="test_servos" board="lisa_l_1.0"/>
<target name="test_telemetry" board="lisa_l_1.0"/>
<target name="test_baro" board="lisa_l_1.0"/>
<target name="test_imu_b2" board="lisa_l_1.0"/>
<target name="test_imu_b2_2" board="lisa_l_1.0"/>
<target name="test_imu_aspirin" board="lisa_l_1.0"/>
<target name="test_rc_spektrum" board="lisa_l_1.0"/>
<target name="test_rc_ppm" board="lisa_l_1.0"/>
<target name="test_adc" board="lisa_l_1.0"/>
<target name="test_hmc5843" board="lisa_l_1.0"/>
<target name="test_itg3200" board="lisa_l_1.0"/>
<target name="test_adxl345" board="lisa_l_1.0"/>
<target name="test_esc_mkk_simple" board="lisa_l_1.0"/>
<target name="test_esc_asctecv1_simple" board="lisa_l_1.0"/>
<target name="test_actuators_mkk" board="lisa_l_1.0"/>
<target name="test_actuators_asctecv1" board="lisa_l_1.0"/>
<target name="tunnel_sw" board="lisa_l_1.0"/>
<target name="tunnel_hw" board="lisa_l_1.0"/>
</firmware>
<firmware name="lisa_passthrough">
+17
View File
@@ -0,0 +1,17 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
<!--
test settings
-->
<airframe name="test settings">
<firmware name="lisa_l_test_progs">
<define name="USE_PERMANENT_SETTINGS"/>
<target name="test_settings" board="lisa_m_1.0"/>
</firmware>
</airframe>
+58 -60
View File
@@ -4,21 +4,21 @@
<!-- commands section -->
<servos>
<servo name="THROTTLE" no="0" min="1050" neutral="1050" max="1900"/>
<servo name="THROTTLE" no="0" min="1050" neutral="1050" max="1900"/>
<servo name="AILEVON_RIGHT" no="1" min="1850" neutral="1480" max="1100"/> <!-- 400 - 380 -->
<servo name="AILEVON_LEFT" no="2" min="1250" neutral="1580" max="1980"/> <!-- 300 - 400 -->
<servo name="AILEVON_LEFT" no="2" min="1250" neutral="1580" max="1980"/> <!-- 300 - 400 -->
</servos>
<commands>
<axis name="THROTTLE" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
</commands>
<rc_commands>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
</rc_commands>
<section name="MIXER">
@@ -27,17 +27,17 @@
</section>
<command_laws>
<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
<set servo="THROTTLE" value="@THROTTLE"/>
<set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
<set servo="THROTTLE" value="@THROTTLE"/>
<set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
<set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
</command_laws>
<section name="AUTO1" prefix="AUTO1_">
<define name="MAX_ROLL" value="0.7"/>
<define name="MAX_PITCH" value="0.6"/>
<define name="MAX_ROLL" value="0.8"/>
<define name="MAX_PITCH" value="0.7"/>
</section>
@@ -61,12 +61,12 @@
<define name="GYRO_Q_SENS" value="2.234" integer="16"/>
<define name="GYRO_R_SENS" value="2.234" integer="16"/>
<define name="GYRO_P_Q" value="0." />
<define name="GYRO_P_R" value="(1.0f/75.0f)" />
<define name="GYRO_Q_P" value="0." />
<define name="GYRO_Q_R" value="0." />
<define name="GYRO_R_P" value="0." />
<define name="GYRO_R_Q" value="0." />
<define name="GYRO_P_Q" value="0."/>
<define name="GYRO_P_R" value="(1.0f/75.0f)"/>
<define name="GYRO_Q_P" value="0."/>
<define name="GYRO_Q_R" value="0."/>
<define name="GYRO_R_P" value="0."/>
<define name="GYRO_R_Q" value="0."/>
<define name="GYRO_P_SIGN" value="1"/>
<define name="GYRO_Q_SIGN" value="-1"/>
@@ -100,19 +100,18 @@
<define name="BODY_TO_IMU_PSI" value="0"/>
</section>
<section name="INS" prefix="INS_" >
<define name="ROLL_NEUTRAL_DEFAULT" value="0"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="0"/>
<section name="INS" prefix="INS_">
<define name="ROLL_NEUTRAL_DEFAULT" value="0."/>
<define name="PITCH_NEUTRAL_DEFAULT" value="-0.0570000000298"/>
</section>
<section name="BAT">
<define name="MILLIAMP_AT_FULL_THROTTLE" value="20000"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
</section>
<section name="MISC">
<define name="NOMINAL_AIRSPEED" value="13." unit="m/s"/>
<define name="NOMINAL_AIRSPEED" value="14.5" unit="m/s"/>
<define name="CARROT" value="5." unit="s"/>
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
<define name="CONTROL_RATE" value="60" unit="Hz"/>
@@ -120,59 +119,58 @@
<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
<define name="ALT_KALMAN_ENABLED" value="TRUE"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="80."/>
<define name="DEFAULT_CIRCLE_RADIUS" value="75."/>
<define name="GLIDE_AIRSPEED" value="10"/>
<define name="GLIDE_VSPEED" value="3."/>
<define name="GLIDE_PITCH" value="45" unit="deg"/>
<define name="GLIDE_PITCH" value="0." unit="deg"/>
</section>
<section name="VERTICAL CONTROL" prefix="V_CTL_">
<define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
<!-- outer loop proportional gain -->
<define name="ALTITUDE_PGAIN" value="-0.03"/>
<define name="ALTITUDE_PGAIN" value="-0.01"/>
<!-- outer loop saturation -->
<define name="ALTITUDE_MAX_CLIMB" value="2."/>
<define name="ALTITUDE_MAX_CLIMB" value="4."/>
<!-- auto throttle inner loop -->
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.32"/>
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.33"/>
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.65"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.60"/>
<define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
<define name="AUTO_THROTTLE_DASH_TRIM" value="-4000"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.15" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN" value="-0.01"/>
<define name="AUTO_THROTTLE_IGAIN" value="0.1"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
<define name="THROTTLE_SLEW_LIMITER" value="2" unit="s"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN" value="0."/>
<define name="AUTO_THROTTLE_IGAIN" value="0."/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.1"/>
<define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>
</section>
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
<define name="COURSE_PGAIN" value="-1.4"/>
<define name="COURSE_PGAIN" value="-1.39999997616"/>
<define name="ROLL_MAX_SETPOINT" value="0.6" unit="radians"/>
<define name="ROLL_MAX_SETPOINT" value="0.703999996185" unit="radians"/>
<define name="PITCH_MAX_SETPOINT" value="0.4" unit="radians"/>
<define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
<define name="PITCH_PGAIN" value="-6000."/>
<define name="PITCH_DGAIN" value="5."/>
<define name="PITCH_DGAIN" value="0."/>
<define name="ELEVATOR_OF_ROLL" value="1200."/>
<define name="ROLL_SLEW" value="0."/>
<define name="ROLL_ATTITUDE_GAIN" value="-6000."/>
<define name="ROLL_RATE_GAIN" value="-600."/>
<define name="ROLL_ATTITUDE_GAIN" value="-5000."/>
<define name="ROLL_RATE_GAIN" value="500."/>
<define name="ROLL_SLEW" value="0.02"/> <!-- Maximal roll angle change per 1/60 of second: 0.02 rad/loop * 180/pi * 60 loop/sec = 60 deg/sec -->
</section>
<section name="AGGRESSIVE" prefix="AGR_">
<define name="BLEND_START" value="20"/><!-- Altitude Error to Initiate Aggressive Climb CANNOT BE ZERO!!-->
<define name="BLEND_END" value="10"/><!-- Altitude Error to Blend Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
<define name="CLIMB_THROTTLE" value="1.00"/><!-- Gaz for Aggressive Climb -->
<define name="CLIMB_PITCH" value="0.3"/><!-- Pitch for Aggressive Climb -->
<define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for Aggressive Decent -->
<define name="DESCENT_PITCH" value="-0.25"/><!-- Pitch for Aggressive Decent -->
<define name="CLIMB_PITCH" value="0.6"/><!-- Pitch for Aggressive Climb -->
<define name="DESCENT_THROTTLE" value="0.0"/><!-- Gaz for Aggressive Decent -->
<define name="DESCENT_PITCH" value="-0.35"/><!-- Pitch for Aggressive Decent -->
<define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for Altitude Error Equal to Start Altitude -->
<define name="DESCENT_NAV_RATIO" value="1.0"/>
</section>
@@ -190,39 +188,39 @@
</section>
<firmware name="fixedwing">
<target name="ap" board="tiny_1.1">
<configure name="PERIODIC_FREQUENCY" value="960" /> <!-- IMU FREQ -->
<configure name="AHRS_PROPAGATE_FREQUENCY" value="240" />
<configure name="AHRS_CORRECT_FREQUENCY" value="60" />
<configure name="AHRS_ALIGNER_LED" value="1" />
<configure name="CPU_LED" value="2" />
<target name="ap" board="tiny_1.1">
<configure name="PERIODIC_FREQUENCY" value="960"/> <!-- IMU FREQ -->
<configure name="AHRS_PROPAGATE_FREQUENCY" value="240"/>
<configure name="AHRS_CORRECT_FREQUENCY" value="60"/>
<configure name="AHRS_ALIGNER_LED" value="1"/>
<configure name="CPU_LED" value="2"/>
</target>
<target name="sim" board="pc" />
<target name="sim" board="pc"/>
<define name="AGR_CLIMB" />
<define name="LOITER_TRIM" />
<define name="ALT_KALMAN" />
<define name="AGR_CLIMB"/>
<define name="LOITER_TRIM"/>
<define name="ALT_KALMAN"/>
<subsystem name="radio_control" type="ppm"/>
<!-- Communication -->
<subsystem name="telemetry" type="xbee_api">
<configure name="MODEM_BAUD" value="B57600"/>
<subsystem name="telemetry" type="xbee_api">
<configure name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="control"/>
<!-- Sensors -->
<subsystem name="imu" type="booz"/>
<subsystem name="attitude" type="dcm"/>
<subsystem name="gps" type="ublox_lea4p"/>
<subsystem name="imu" type="booz"/>
<subsystem name="attitude" type="dcm"/>
<subsystem name="gps" type="ublox_lea4p"/>
<subsystem name="navigation"/>
</firmware>
<firmware name="setup">
<target name="tunnel" board="tiny_1.1" />
<target name="tunnel" board="tiny_1.1"/>
</firmware>
<modules>
+4 -2
View File
@@ -115,7 +115,9 @@ target CDATA #IMPLIED
location CDATA #IMPLIED>
<!ATTLIST modules
main_freq CDATA #IMPLIED>
main_freq CDATA #IMPLIED
target CDATA #IMPLIED>
<!ATTLIST load
name CDATA #REQUIRED>
name CDATA #REQUIRED
target CDATA #IMPLIED>
+8 -14
View File
@@ -4,28 +4,21 @@
<target name="ap" board="booz_1.0">
<!--<define name="KILL_MOTORS"/>--> <!-- prevent motors from ever starting -->
<!--<define name="RADIO_KILL_SWITCH" value="RADIO_CONTROL_SWITCH1"/>-->
<define name="USE_GPS_ACC4R"/>
<define name="USE_INS_NAV_INIT"/>
</target>
<target name="sim" board="pc">
<subsystem name="fdm" type="nps"/>
</target>
<define name="USE_ADAPT_HOVER"/>
<define name="GUIDANCE_H_USE_REF"/>
<define name="NO_FUCKING_STARTUP_DELAY"/>
<subsystem name="telemetry" type="transparent_usb"/>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="telemetry" type="transparent"/>
<subsystem name="actuators" type="mkk">
<configure name="MKK_I2C_SCL_TIME" value="150"/><!-- this is optional, 150 is default, e.g. use 50 for 8 motors-->
</subsystem>
<subsystem name="imu" type="b2_v1.0"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="actuators" type="mkk"/>
<subsystem name="imu" type="b2_v1.0"/>
<subsystem name="ahrs" type="cmpl"/>
<subsystem name="ins" type="hff">
<define name="GPS_LAG=0.2"/>
</subsystem>
</firmware>
<firmware name="booz2_test_progs">
@@ -33,6 +26,8 @@
<target name="test_baro" board="booz_1.0"/>
<target name="test_spektrum" board="booz_1.0"/>
<target name="tunnel" board="booz_1.0"/>
<target name="usb_tunnel_0" board="booz_1.0"/>
<target name="usb_tunnel_1" board="booz_1.0"/>
</firmware>
<modules main_freq="512">
@@ -213,8 +208,7 @@
<define name="MILLIAMP_PER_PERCENT" value="0.86" />
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V" />
<define name="MAX_BAT_LEVEL" value="12.0" unit="V" />
<define name="BATTERY_SENS" value="0.246" integer="16" />
<define name="BATTERY_OFFSET" value="0" />
<define name="VoltageOfAdc(adc)" value="(0.0246*adc)"/>
</section>
<section name="MISC">
@@ -0,0 +1,32 @@
<section name="IMU" prefix="IMU_">
<define name="GYRO_P_NEUTRAL" value="93"/>
<define name="GYRO_Q_NEUTRAL" value="131"/>
<define name="GYRO_R_NEUTRAL" value="-25"/>
<define name="GYRO_P_SENS" value="5.0" integer="16"/>
<define name="GYRO_Q_SENS" value="5.0" integer="16"/>
<define name="GYRO_R_SENS" value="5.0" integer="16"/>
<define name="GYRO_PQ_SENS" value="0.0" integer="16"/>
<define name="GYRO_PR_SENS" value="0.0" integer="16"/>
<define name="GYRO_QR_SENS" value="0.0" integer="16"/>
<define name="ACCEL_X_NEUTRAL" value="4"/>
<define name="ACCEL_Y_NEUTRAL" value="-14"/>
<define name="ACCEL_Z_NEUTRAL" value="-5"/>
<define name="ACCEL_X_SENS" value="39" integer="16"/>
<define name="ACCEL_Y_SENS" value="39" integer="16"/>
<define name="ACCEL_Z_SENS" value="39" integer="16"/>
<define name="ACCEL_XY_SENS" value="0.0" integer="16"/>
<define name="ACCEL_XZ_SENS" value="0.0" integer="16"/>
<define name="ACCEL_YZ_SENS" value="0.0" integer="16"/>
<define name="MAG_X_NEUTRAL" value="-21"/>
<define name="MAG_Y_NEUTRAL" value="10"/>
<define name="MAG_Z_NEUTRAL" value="12"/>
<define name="MAG_X_SENS" value="3.17378921476" integer="16"/>
<define name="MAG_Y_SENS" value="3.14663275967" integer="16"/>
<define name="MAG_Z_SENS" value="3.26531022727" integer="16"/>
<define name="MAG_XY_SENS" value="0.0" integer="16"/>
<define name="MAG_XZ_SENS" value="0.0" integer="16"/>
<define name="MAG_YZ_SENS" value="0.0" integer="16"/>
</section>
+245
View File
@@ -0,0 +1,245 @@
<!-- this is an asctec frame equiped with Lisa/M and generic china pwm motor controllers -->
<airframe name="lisa_asctec">
<servos min="0" neutral="0" max="0xff">
<servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
<servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
<servo name="LEFT" no="2" min="1000" neutral="1000" max="2000"/>
<servo name="RIGHT" no="3" min="1000" neutral="1000" max="2000"/>
</servos>
<commands>
<axis name="PITCH" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="THRUST" failsafe_value="0"/>
</commands>
<command_laws>
<!--<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
<set servo="MOTOR" value="@THROTTLE"/>
<set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
<set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
-->
<set servo="FRONT" value="0"/>
<set servo="BACK" value="1"/>
<set servo="LEFT" value="2"/>
<set servo="RIGHT" value="3"/>
</command_laws>
<!-- for the sim -->
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
<define name="NB" value="4"/>
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
</section>
<section name="SUPERVISION" prefix="SUPERVISION_">
<define name="MIN_MOTOR" value="1090"/>
<define name="MAX_MOTOR" value="2000"/>
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
<define name="NB_MOTOR" value="4"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{ 0 , 0, 256, -256 }"/>
<define name="PITCH_COEF" value="{ 256, -256, 0, 0 }"/>
<define name="YAW_COEF" value="{ -256, -256, 256, 256 }"/>
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
</section>
<section name="IMU" prefix="IMU_">
<define name="GYRO_P_NEUTRAL" value="27"/>
<define name="GYRO_Q_NEUTRAL" value="-10"/>
<define name="GYRO_R_NEUTRAL" value="20"/>
<define name="GYRO_P_SENS" value="5.0" integer="16"/>
<define name="GYRO_Q_SENS" value="5.0" integer="16"/>
<define name="GYRO_R_SENS" value="5.0" integer="16"/>
<define name="GYRO_PQ_SENS" value="0.0" integer="16"/>
<define name="GYRO_PR_SENS" value="0.0" integer="16"/>
<define name="GYRO_QR_SENS" value="0.0" integer="16"/>
<define name="ACCEL_X_NEUTRAL" value="4"/>
<define name="ACCEL_Y_NEUTRAL" value="-14"/>
<define name="ACCEL_Z_NEUTRAL" value="-5"/>
<define name="ACCEL_X_SENS" value="39" integer="16"/>
<define name="ACCEL_Y_SENS" value="39" integer="16"/>
<define name="ACCEL_Z_SENS" value="39" integer="16"/>
<define name="ACCEL_XY_SENS" value="0.0" integer="16"/>
<define name="ACCEL_XZ_SENS" value="0.0" integer="16"/>
<define name="ACCEL_YZ_SENS" value="0.0" integer="16"/>
<define name="MAG_X_NEUTRAL" value="0"/>
<define name="MAG_Y_NEUTRAL" value="0"/>
<define name="MAG_Z_NEUTRAL" value="0"/>
<define name="MAG_X_SENS" value="1." integer="16"/>
<define name="MAG_Y_SENS" value="1." integer="16"/>
<define name="MAG_Z_SENS" value="1." integer="16"/>
<define name="MAG_XY_SENS" value="0.0" integer="16"/>
<define name="MAG_XZ_SENS" value="0.0" integer="16"/>
<define name="MAG_YZ_SENS" value="0.0" integer="16"/>
<define name="BODY_TO_IMU_PHI" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_THETA" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_PSI" value="RadOfDeg( 45. )"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_HOVER_Z_HOLD"/>
</section>
<section name="BAT">
<define name="MILLIAMP_PER_PERCENT" value="0.86"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="BATTERY_SENS" value="0.48" integer="16"/>
</section>
<section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
<define name="SP_MAX_P" value="10000"/>
<define name="SP_MAX_Q" value="10000"/>
<define name="SP_MAX_R" value="10000"/>
<define name="GAIN_P" value="-400"/>
<define name="GAIN_Q" value="-400"/>
<define name="GAIN_R" value="-350"/>
</section>
<section name="STABILIZATION_ATTITUDE" prefix="STABILIZATION_ATTITUDE_">
<!-- setpoints -->
<define name="SP_MAX_PHI" value="RadOfDeg(45.)"/>
<define name="SP_MAX_THETA" value="RadOfDeg(45.)"/>
<define name="SP_MAX_R" value="RadOfDeg(90.)"/>
<define name="DEADBAND_R" value="250"/>
<!-- reference -->
<define name="REF_OMEGA_P" value="RadOfDeg(600)"/>
<define name="REF_ZETA_P" value="0.85"/>
<define name="REF_MAX_P" value="RadOfDeg(400.)"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_Q" value="RadOfDeg(600)"/>
<define name="REF_ZETA_Q" value="0.85"/>
<define name="REF_MAX_Q" value="RadOfDeg(400.)"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_R" value="RadOfDeg(500)"/>
<define name="REF_ZETA_R" value="0.85"/>
<define name="REF_MAX_R" value="RadOfDeg(180.)"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
<!-- feedback -->
<define name="PHI_PGAIN" value="-550"/>
<define name="PHI_DGAIN" value="-210"/>
<define name="PHI_IGAIN" value="-200"/>
<define name="THETA_PGAIN" value="-550"/>
<define name="THETA_DGAIN" value="-210"/>
<define name="THETA_IGAIN" value="-200"/>
<define name="PSI_PGAIN" value="-600"/>
<define name="PSI_DGAIN" value="-200"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 200"/>
<define name="THETA_DDGAIN" value=" 200"/>
<define name="PSI_DDGAIN" value=" 200"/>
</section>
<section name="INS" prefix="INS_">
<define name="BARO_SENS" value="3.3" integer="16"/>
</section>
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
<define name="MIN_ERR_Z" value="POS_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_Z" value="POS_BFP_OF_REAL( 10.)"/>
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
<define name="MAX_SUM_ERR" value="2000000"/>
<define name="HOVER_KP" value="-150"/>
<define name="HOVER_KD" value="-80"/>
<define name="HOVER_KI" value="-20"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="INV_M" value ="0.21"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="PGAIN" value="-100"/>
<define name="DGAIN" value="-100"/>
<define name="IGAIN" value="-0"/>
</section>
<section name="MISC">
<define name="FACE_REINJ_1" value="1024"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{&quot;front_motor&quot;, &quot;back_motor&quot;, &quot;right_motor&quot;, &quot;left_motor&quot;}"/>
<define name="INITIAL_CONDITITONS" value="&quot;reset00&quot;"/>
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
</section>
<!--
<modules main_freq="512">
<load name="vehicle_interface_overo_link.xml"/>
</modules>
-->
<firmware name="rotorcraft">
<target name="ap" board="lisa_m_1.0">
<!-- <define name="BOOZ_START_DELAY" value="1"/> -->
<subsystem name="radio_control" type="spektrum"/>
<subsystem name="actuators" type="pwm_supervision"/>
<subsystem name="telemetry" type="transparent"/>
<define name="SERVO_HZ" value="400"/>
<define name="RADIO_MODE" value="RADIO_AUX2"/>
<define name="RADIO_KILL_SWITCH" value="RADIO_GEAR"/>
<define name="RADIO_CONTROL_SPEKTRUM_SIGNS" value="\{1,1,-1,1,-1,-1,-1,1,1,1,1,1\}"/>
</target>
<target name="sim" board="pc">
<subsystem name="fdm" type="nps"/>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="actuators" type="mkk"/>
</target>
<subsystem name="imu" type="aspirin"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="ahrs" type="cmpl"/>
</firmware>
<firmware name="lisa_m_test_progs">
<target name="test_led" board="lisa_m_1.0"/>
<target name="test_uart_lisam" board="lisa_m_1.0"/>
<target name="test_servos" board="lisa_m_1.0"/>
<target name="test_telemetry" board="lisa_m_1.0"/>
<target name="test_imu_aspirin" board="lisa_m_1.0"/>
<target name="test_rc_spektrum" board="lisa_m_1.0"/>
<target name="test_baro" board="lisa_m_1.0"/>
<!--<target name="test_imu" board="lisa_m_1.0"/>
<target name="test_rc_ppm" board="lisa_m_1.0"/>
<target name="test_adc" board="lisa_m_1.0"/>
<target name="test_hmc5843" board="lisa_m_1.0"/>
<target name="test_itg3200" board="lisa_m_1.0"/>
<target name="test_adxl345" board="lisa_m_1.0"/>
<target name="test_esc_mkk_simple" board="lisa_m_1.0"/>
<target name="test_esc_asctecv1_simple" board="lisa_m_1.0"/>
<target name="test_actuators_mkk" board="lisa_m_1.0"/>
<target name="test_actuators_asctecv1" board="lisa_m_1.0"/-->
</firmware>
</airframe>
+265
View File
@@ -0,0 +1,265 @@
<!-- this is a microkopter frame equiped with Lisa/L and generic china pwm motor controllers -->
<airframe name="lisa_pwm_aspirin">
<servos min="0" neutral="0" max="0xff">
<servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
<servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
<servo name="LEFT" no="2" min="1000" neutral="1000" max="2000"/>
<servo name="RIGHT" no="3" min="1000" neutral="1000" max="2000"/>
</servos>
<commands>
<axis name="PITCH" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="THRUST" failsafe_value="0"/>
</commands>
<command_laws>
<!--<let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
<let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
<set servo="MOTOR" value="@THROTTLE"/>
<set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
<set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
-->
<set servo="FRONT" value="0"/>
<set servo="BACK" value="1"/>
<set servo="LEFT" value="2"/>
<set servo="RIGHT" value="3"/>
</command_laws>
<!-- for the sim -->
<section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
<define name="NB" value="4"/>
<define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
</section>
<section name="SUPERVISION" prefix="SUPERVISION_">
<define name="MIN_MOTOR" value="1150"/>
<define name="MAX_MOTOR" value="2000"/>
<define name="TRIM_A" value="0"/>
<define name="TRIM_E" value="0"/>
<define name="TRIM_R" value="0"/>
<define name="NB_MOTOR" value="4"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{ 0 , 0, 256, -256 }"/>
<define name="PITCH_COEF" value="{ 256, -256, 0, 0 }"/>
<define name="YAW_COEF" value="{ -256, -256, 256, 256 }"/>
<define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
</section>
<include href="conf/airframes/esden/calib/aspirin_012.xml"/>
<section name="IMU" prefix="IMU_">
<define name="BODY_TO_IMU_PHI" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_THETA" value="RadOfDeg( 0. )"/>
<define name="BODY_TO_IMU_PSI" value="RadOfDeg( 225. )"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_RC_CLIMB"/>
<define name="MODE_AUTO2" value="AP_MODE_HOVER_Z_HOLD"/>
</section>
<section name="BAT">
<define name="MILLIAMP_PER_PERCENT" value="0.86"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
<define name="BATTERY_SENS" value="0.48" integer="16"/>
</section>
<section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
<define name="SP_MAX_P" value="10000"/>
<define name="SP_MAX_Q" value="10000"/>
<define name="SP_MAX_R" value="10000"/>
<define name="GAIN_P" value="-400"/>
<define name="GAIN_Q" value="-400"/>
<define name="GAIN_R" value="-350"/>
</section>
<section name="STABILIZATION_ATTITUDE" prefix="STABILIZATION_ATTITUDE_">
<!-- setpoints -->
<define name="SP_MAX_PHI" value="RadOfDeg(45.)"/>
<define name="SP_MAX_THETA" value="RadOfDeg(45.)"/>
<define name="SP_MAX_R" value="RadOfDeg(90.)"/>
<define name="DEADBAND_R" value="250"/>
<!-- reference -->
<define name="REF_OMEGA_P" value="RadOfDeg(600)"/>
<define name="REF_ZETA_P" value="0.85"/>
<define name="REF_MAX_P" value="RadOfDeg(400.)"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_Q" value="RadOfDeg(600)"/>
<define name="REF_ZETA_Q" value="0.85"/>
<define name="REF_MAX_Q" value="RadOfDeg(400.)"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>
<define name="REF_OMEGA_R" value="RadOfDeg(500)"/>
<define name="REF_ZETA_R" value="0.85"/>
<define name="REF_MAX_R" value="RadOfDeg(180.)"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
<!-- Old settings with exponential throttle motor controllers
<!-- feedback -->
<define name="PHI_PGAIN" value="-250"/>
<define name="PHI_DGAIN" value="-200"/>
<define name="PHI_IGAIN" value="-150"/>
<define name="THETA_PGAIN" value="-250"/>
<define name="THETA_DGAIN" value="-200"/>
<define name="THETA_IGAIN" value="-150"/>
<define name="PSI_PGAIN" value="-900"/>
<define name="PSI_DGAIN" value="-200"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 200"/>
<define name="THETA_DDGAIN" value=" 200"/>
<define name="PSI_DDGAIN" value=" 200"/>
-->
<!-- feedback -->
<define name="PHI_PGAIN" value="-1900"/>
<define name="PHI_DGAIN" value="-380"/>
<define name="PHI_IGAIN" value="-200"/>
<define name="THETA_PGAIN" value="-1900"/>
<define name="THETA_DGAIN" value="-380"/>
<define name="THETA_IGAIN" value="-200"/>
<define name="PSI_PGAIN" value="-2000"/>
<define name="PSI_DGAIN" value="-400"/>
<define name="PSI_IGAIN" value="-10"/>
<!-- feedforward -->
<define name="PHI_DDGAIN" value=" 300"/>
<define name="THETA_DDGAIN" value=" 300"/>
<define name="PSI_DDGAIN" value=" 300"/>
</section>
<section name="AHRS" prefix="AHRS_">
<define name="PROPAGATE_FREQUENCY" value="512"/>
<define name="H_X" value=" 0.51562740288882"/>
<define name="H_Y" value="-0.05707735220832"/>
<define name="H_Z" value=" 0.85490967783446"/>
</section>
<section name="INS" prefix="INS_">
<define name="BARO_SENS" value="10." integer="16"/>
</section>
<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
<define name="MIN_ERR_Z" value="POS_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_Z" value="POS_BFP_OF_REAL( 10.)"/>
<define name="MIN_ERR_ZD" value="SPEED_BFP_OF_REAL(-10.)"/>
<define name="MAX_ERR_ZD" value="SPEED_BFP_OF_REAL( 10.)"/>
<define name="MAX_SUM_ERR" value="2000000"/>
<define name="HOVER_KP" value="-150"/>
<define name="HOVER_KD" value="-80"/>
<!--define name="HOVER_KI" value="-100"/-->
<define name="HOVER_KI" value="0"/>
<!-- 1.5m/s for full stick : BOOZ_SPEED_I_OF_F(1.5) / (MAX_PPRZ/2) -->
<define name="RC_CLIMB_COEF" value ="163"/>
<!-- BOOZ_SPEED_I_OF_F(1.5) * 20% -->
<define name="RC_CLIMB_DEAD_BAND" value ="160000"/>
<define name="INV_M" value ="0.15"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="PGAIN" value="-100"/>
<define name="DGAIN" value="-100"/>
<define name="IGAIN" value="-0"/>
</section>
<section name="MISC">
<define name="FACE_REINJ_1" value="1024"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="{&quot;front_motor&quot;, &quot;back_motor&quot;, &quot;right_motor&quot;, &quot;left_motor&quot;}"/>
<define name="INITIAL_CONDITITONS" value="&quot;reset00&quot;"/>
<define name="SENSORS_PARAMS" value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
</section>
<!-- -->
<modules main_freq="512">
<load name="vehicle_interface_overo_link.xml"/>
</modules>
<!-- -->
<firmware name="rotorcraft">
<target name="ap" board="lisa_l_1.1">
<!-- <define name="BOOZ_START_DELAY" value="1"/> -->
<subsystem name="radio_control" type="spektrum"/>
<subsystem name="actuators" type="pwm_supervision"/>
<subsystem name="telemetry" type="transparent"/>
<define name="SERVO_HZ" value="400"/>
<define name="RADIO_MODE" value="RADIO_AUX2"/>
<define name="RADIO_KILL_SWITCH" value="RADIO_GEAR"/>
<define name="RADIO_CONTROL_SPEKTRUM_SIGNS" value="\{1,1,-1,1,-1,-1,-1,1,1,1,1,1\}"/>
<define name = "RADIO_CONTROL_SPEKTRUM_SECONDARY_PORT" value = "UART5"/>
<define name = "OVERRIDE_UART5_IRQ_HANDLER"/>
</target>
<target name="sim" board="pc">
<subsystem name="fdm" type="nps"/>
<subsystem name="radio_control" type="ppm"/>
<subsystem name="actuators" type="mkk"/>
</target>
<subsystem name="imu" type="aspirin"/>
<subsystem name="gps" type="ublox">
<configure name="GPS_BAUD" value="B57600"/>
</subsystem>
<!--subsystem name="ahrs" type="cmpl"/-->
<subsystem name="ahrs" type="ic"/>
</firmware>
<firmware name="lisa_l_test_progs">
<target name="test_led" board="lisa_l_1.1"/>
<target name="test_uart" board="lisa_l_1.1"/>
<target name="test_servos" board="lisa_l_1.1"/>
<target name="test_telemetry" board="lisa_l_1.1"/>
<target name="test_baro" board="lisa_l_1.1"/>
<target name="test_imu_b2" board="lisa_l_1.1"/>
<target name="test_imu_b2_2" board="lisa_l_1.1"/>
<target name="test_imu_aspirin" board="lisa_l_1.1"/>
<target name="test_rc_spektrum" board="lisa_l_1.1"/>
<target name="test_rc_ppm" board="lisa_l_1.1"/>
<target name="test_adc" board="lisa_l_1.1"/>
<target name="test_hmc5843" board="lisa_l_1.1"/>
<target name="test_itg3200" board="lisa_l_1.1"/>
<target name="test_adxl345" board="lisa_l_1.1"/>
<target name="test_esc_mkk_simple" board="lisa_l_1.1"/>
<target name="test_esc_asctecv1_simple" board="lisa_l_1.1"/>
<target name="test_actuators_mkk" board="lisa_l_1.1"/>
<target name="test_actuators_asctecv1" board="lisa_l_1.1"/>
</firmware>
<firmware name="lisa_passthrough">
<target name="overo_test_passthrough" board="lisa_l_1.1" >
<param name="HOST" value="A7"/>
<param name="USER" value=""/>
<param name="TARGET_DIR" value="~"/>
<param name="PERIODIC_FREQ" value="512"/>
</target>
<target name="stm_passthrough" board="lisa_l_1.1">
<subsystem name="radio_control" type="spektrum"/>
<subsystem name="imu" type="b2_v1.1"/>
</target>
</firmware>
</airframe>
+31 -13
View File
@@ -191,25 +191,43 @@
<section name="SIMU">
<define name="JSBSIM_MODEL" value="&quot;Malolo1&quot;"/>
<define name="JSBSIM_INIT" value="&quot;Malolo1-IC&quot;"/>
<define name="JSBSIM_LAUNCHSPEED" value="15.0"/>
<define name="JSBSIM_IR_ROLL_NEUTRAL" value="RadOfDeg(0.)"/>
<define name="JSBSIM_IR_PITCH_NEUTRAL" value="RadOfDeg(0.)"/>
</section>
<makefile>
#### Config for SITL simulation
include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
<firmware name="fixedwing">
<target name="sim" board="pc" />
<target name="jsbsim" board="pc"/>
<target name="ap" board="tiny_2.1"/>
sim.CFLAGS += -DBOARD_CONFIG=\"boards/tiny_sim.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
sim.srcs += subsystems/navigation/nav_line.c subsystems/navigation/nav_survey_rectangle.c
<define name="AGR_CLIMB" />
<define name="LOITER_TRIM" />
<define name="ALT_KALMAN" />
<subsystem name="radio_control" type="ppm"/>
<!-- Communication -->
<subsystem name="telemetry" type="transparent">
<configure name="MODEM_BAUD" value="B9600"/>
</subsystem>
<subsystem name="control"/>
<!-- Sensors -->
<subsystem name="gyro" type="roll"/>
<subsystem name="attitude" type="infrared"/>
<subsystem name="gps" type="ublox_lea4p"/>
<subsystem name="navigation"/>
</firmware>
#### Config for SITL simulation with JSBSim
SRC_FIRMWARE = firmwares/fixedwing
include $(PAPARAZZI_SRC)/conf/autopilot/sitl_jsbsim.makefile
<firmware name="setup">
<target name="tunnel" board="tiny_2.1" />
<target name="usb_tunnel_0" board="tiny_2.1" />
<target name="usb_tunnel_1" board="tiny_2.1" />
<target name="setup_actuators" board="tiny_2.1" />
</firmware>
jsbsim.CFLAGS += -DBOARD_CONFIG=\"boards/tiny_sim.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
jsbsim.srcs += subsystems/navigation/nav_line.c subsystems/navigation/nav_survey_rectangle.c
jsbsim.srcs += $(SIMDIR)/sim_ac_fw.c
</makefile>
</airframe>
+9
View File
@@ -158,9 +158,18 @@
<define name="DEVICE_TYPE" value="XBEE"/>
<define name="DEVICE_ADDRESS" value="...."/>
</section>
<section name="SIMU">
<define name="JSBSIM_MODEL" value="&quot;Malolo1&quot;"/>
<define name="JSBSIM_IR_ROLL_NEUTRAL" value="RadOfDeg(0.)"/>
<define name="JSBSIM_IR_PITCH_NEUTRAL" value="RadOfDeg(0.)"/>
</section>
<firmware name="fixedwing">
<target name="sim" board="pc" />
<target name="jsbsim" board="pc"/>
<target name="ap" board="tiny_1.1"/>
<define name="AGR_CLIMB" />
+2 -6
View File
@@ -14,14 +14,10 @@
<define name="USE_MAX11040"/>
<define name="MAX11040_DEBUG"/>
</target>
<subsystem name="telemetry" type="xbee_api">
<param name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="telemetry" type="xbee_api"/>
<subsystem name="control"/>
<subsystem name="attitude" type="infrared"/>
<subsystem name="gps" type="ublox_lea5h">
<param name="GPS_BAUD" value="B38400"/>
</subsystem>
<subsystem name="gps" type="ublox_lea5h"/>
<subsystem name="navigation"/>
</firmware>
+2 -6
View File
@@ -7,14 +7,10 @@
<firmware name="fixedwing">
<target name="ap" board="tiny_2.11">
</target>
<subsystem name="telemetry" type="xbee_api">
<param name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="telemetry" type="xbee_api"/>
<subsystem name="control"/>
<subsystem name="attitude" type="infrared"/>
<subsystem name="gps" type="ublox_lea5h">
<param name="GPS_BAUD" value="B38400"/>
</subsystem>
<subsystem name="gps" type="ublox_lea5h"/>
<subsystem name="navigation"/>
</firmware>
+14 -20
View File
@@ -10,12 +10,14 @@
<airframe name="Funjet mm 1">
<firmware name="fixedwing">
<define name="AGR_CLIMB"/>
<define name="LOITER_TRIM"/>
<define name="ALT_KALMAN"/>
<define name="WIND_INFO"/>
<define name="WIND_INFO_RET"/>
<define name="USE_PERSISTENT_SETTINGS"/>
<target name="ap" board="tiny_2.11">
<define name="AGR_CLIMB"/>
<define name="LOITER_TRIM"/>
<define name="ALT_KALMAN"/>
<define name="WIND_INFO"/>
<define name="WIND_INFO_RET"/>
<define name="USE_I2C0"/>
<define name="SENSOR_SYNC_SEND"/>
<define name="ADC_CHANNEL_GENERIC1" value="ADC_3"/>
@@ -25,30 +27,22 @@
</target>
<target name="sim" board="pc">
<define name="AGR_CLIMB"/>
<define name="LOITER_TRIM"/>
<define name="ALT_KALMAN"/>
<define name="WIND_INFO"/>
<define name="WIND_INFO_RET"/>
</target>
<!-- RC -->
<subsystem name="radio_control" type="ppm"/>
<!-- Communication -->
<subsystem name="telemetry" type="xbee_api">
<param name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="telemetry" type="xbee_api"/>
<!-- Actuators are automatically chosen according to board-->
<subsystem name="control"/>
<!-- Sensors -->
<subsystem name="attitude" type="infrared"/>
<subsystem name="gps" type="ublox_lea5h">
<param name="GPS_BAUD" value="B38400"/>
</subsystem>
<subsystem name="gps" type="ublox_lea5h"/>
<!-- Nav -->
<subsystem name="navigation"/>
<!-- Interfaces -->
<subsystem name="i2c"/>
<!--subsystem name="spi"/-->
</firmware>
<firmware name="setup">
@@ -60,16 +54,14 @@
<!-- modules -->
<modules>
<load name="humid_sht_i2c.xml"/>
<!--load name="windturbine.xml"/>
<!--load name="adc_generic.xml"/>
<load name="windturbine.xml"/>
<load name="dust_gp2y.xml"/>
<load name="light_temt.xml"/>
<load name="temp_temod.xml"/>
<load name="adc_generic.xml"/>
<load name="trig_test.xml"/>
<load name="airspeed_ets.xml"/>
<load name="alt_srf08.xml"/>
<load name="mag_micromag_fw.xml"/>
<load name="baro_bmp.xml"/>
<load name="baro_scp.xml"/>
<load name="humid_hih.xml"/>
@@ -79,6 +71,8 @@
<load name="humid_dpicco.xml"/>
<load name="humid_sht.xml"/>
<load name="baro_MS5534A.xml"/>
<load name="humid_sht_i2c.xml"/>
<load name="mag_micromag_fw.xml"/>
<load name="baro_scp_i2c.xml"/-->
</modules>
@@ -29,17 +29,13 @@
<subsystem name="radio_control" type="ppm"/>
<!-- Communication -->
<subsystem name="telemetry" type="xbee_api">
<param name="MODEM_BAUD" value="B57600"/>
</subsystem>
<subsystem name="telemetry" type="xbee_api"/>
<!-- Actuators are automatically chosen according to board-->
<subsystem name="control"/>
<!-- Sensors -->
<!--subsystem name="attitude" type="infrared"/-->
<subsystem name="gps" type="ublox_lea5h">
<param name="GPS_BAUD" value="B38400"/>
</subsystem>
<subsystem name="gps" type="ublox_lea5h"/>
<!-- Nav -->
<subsystem name="navigation"/>
<!-- Interfaces -->
+1 -1
View File
@@ -16,7 +16,7 @@
<subsystem name="attitude" type="dcm"/>
<!-- Sensors -->
<!-- <subsystem name="imu" type="hb"/> does not exist yet-->
<subsystem name="imu" type="hb"/>
<subsystem name="gps" type="ublox_lea5h"/>
<subsystem name="navigation"/>
+1 -1
View File
@@ -36,7 +36,7 @@
<modules>
<load name="adc_generic.xml">
<configure name="ADC_CHANNEL_GENERIC1" value="ADC_1" />
<configure name="ADC_CHANNEL_GENERIC1" value="ADC_7" />
</load>
</modules>
+24
View File
@@ -131,6 +131,29 @@ tunnel_bb.CFLAGS += -DUSE_LED
tunnel_bb.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
#
# usb tunnels
#
usb_tunnel_0.ARCHDIR = $(ARCH)
usb_tunnel_0.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
usb_tunnel_0.CFLAGS += -DUSE_UART0 -DUART0_BAUD=B38400 -DPERIPHERALS_AUTO_INIT
usb_tunnel_0.CFLAGS += -DUSE_USB_LINE_CODING -DUSE_USB_SERIAL -DUSE_LED
usb_tunnel_0.srcs += $(SRC_ARCH)/usb_tunnel.c $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/mcu_periph/uart_arch.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_0.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c
usb_tunnel_1.ARCHDIR = $(ARCH)
usb_tunnel_1.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
usb_tunnel_1.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B38400 -DPERIPHERALS_AUTO_INIT
usb_tunnel_1.CFLAGS += -DUSE_USB_LINE_CODING -DUSE_USB_SERIAL -DUSE_LED
usb_tunnel_1.srcs += $(SRC_ARCH)/usb_tunnel.c $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/mcu_periph/uart_arch.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
usb_tunnel_1.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c
#
# test GPS
@@ -189,6 +212,7 @@ test_usb.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))'
# -DTIME_LED=1
test_usb.CFLAGS += -DUSE_LED
test_usb.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
test_usb.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c
#test_usb.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
#test_usb.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
+3
View File
@@ -37,6 +37,9 @@ ifeq ($(TARGET),$(ACTUATOR_TARGET))
ifeq ($(BOARD),lisa_l)
include $(CFG_SHARED)/actuators_direct.makefile
endif
ifeq ($(BOARD),lisa_m)
include $(CFG_SHARED)/actuators_direct.makefile
endif
else
include $(CFG_SHARED)/$(ACTUATORS).makefile
+206 -160
View File
@@ -196,11 +196,11 @@ test_rc_spektrum.ARCHDIR = $(ARCH)
test_rc_spektrum.CFLAGS += -I$(SRC_ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_rc_spektrum.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_rc_spektrum.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_BOOZ_TEST)/booz2_test_radio_control.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_rc_spektrum.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
test/subsystems/test_radio_control.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_rc_spektrum.CFLAGS += -DUSE_LED
test_rc_spektrum.srcs += $(SRC_ARCH)/led_hw.c
@@ -276,11 +276,11 @@ test_adc.ARCHDIR = $(ARCH)
test_adc.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
test_adc.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_adc.srcs = $(SRC_AIRBORNE)/mcu.c \
test_adc.srcs = $(SRC_LISA)/test_adc.c \
$(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_LISA)/test_adc.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_adc.CFLAGS += -DUSE_LED
test_adc.srcs += $(SRC_ARCH)/led_hw.c
@@ -299,138 +299,175 @@ test_adc.srcs += downlink.c pprz_transport.c
test_adc.srcs += $(SRC_ARCH)/mcu_periph/adc_arch.c
test_adc.CFLAGS += -DUSE_AD1 -DUSE_AD1_1 -DUSE_AD1_2 -DUSE_AD1_3 -DUSE_AD1_4
#test_adc.CFLAGS += -DUSE_AD1 -DUSE_AD1_3
test_adc.CFLAGS += -DUSE_ADC1_2_IRQ_HANDLER
#
# test IMU b2
# common test
#
# configuration
# SYS_TIME_LED
# MODEM_PORT
# MODEM_BAUD
#
PERIODIC_FREQUENCY = 512
COMMON_TEST_CFLAGS = -I$(SRC_FIRMWARE) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
COMMON_TEST_CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
COMMON_TEST_SRCS = $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
COMMON_TEST_CFLAGS += -DUSE_LED
COMMON_TEST_SRCS += $(SRC_ARCH)/led_hw.c
COMMON_TEST_CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
COMMON_TEST_CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./$(PERIODIC_FREQUENCY).))'
COMMON_TEST_CFLAGS += -DPERIODIC_FREQUENCY=$(PERIODIC_FREQUENCY)
COMMON_TEST_SRCS += sys_time.c $(SRC_ARCH)/sys_time_hw.c
COMMON_TEST_CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
COMMON_TEST_SRCS += $(SRC_ARCH)/mcu_periph/uart_arch.c
COMMON_TEST_CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=$(MODEM_PORT)
COMMON_TEST_SRCS += downlink.c pprz_transport.c
COMMON_TEST_SRCS += math/pprz_trig_int.c
#
# test IMU b2 v1.1
#
IMU_B2_CFLAGS = -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\"
IMU_B2_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100 -DIMU_B2_VERSION_1_1
IMU_B2_SRCS = $(SRC_SUBSYSTEMS)/imu.c
IMU_B2_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
IMU_B2_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE)
IMU_B2_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
IMU_B2_SRCS += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c
IMU_B2_SRCS += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
IMU_B2_SRCS += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c
test_imu_b2.ARCHDIR = $(ARCH)
test_imu_b2.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_imu_b2.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_imu_b2.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_BOOZ_TEST)/booz_test_imu.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_imu_b2.srcs = test/subsystems/test_imu.c
test_imu_b2.CFLAGS = $(COMMON_TEST_CFLAGS)
test_imu_b2.srcs += $(COMMON_TEST_SRCS)
test_imu_b2.CFLAGS += $(IMU_B2_CFLAGS)
test_imu_b2.srcs += $(IMU_B2_SRCS)
test_imu_b2.CFLAGS += -DUSE_LED
test_imu_b2.srcs += $(SRC_ARCH)/led_hw.c
test_imu_b2.CFLAGS += -DUSE_SYS_TIME
test_imu_b2.CFLAGS += -DSYS_TIME_LED=$(SYS_TIME_LED)
test_imu_b2.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))'
test_imu_b2.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_imu_b2.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
test_imu_b2.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_imu_b2.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart2
test_imu_b2.srcs += downlink.c pprz_transport.c
test_imu_b2.srcs += math/pprz_trig_int.c
test_imu_b2.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\"
test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001 -DIMU_B2_VERSION_1_1
test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c
test_imu_b2.CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
test_imu_b2.CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE)
test_imu_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c
test_imu_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
test_imu_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c
#
# test IMU b2 1.2
#
# configuration
# SYS_TIME_LED
# MODEM_PORT
# MODEM_BAUD
# test IMU b2 v1.2
#
IMU_B2_2_CFLAGS = -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\"
IMU_B2_2_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_HMC5843 -DIMU_B2_VERSION_1_2
IMU_B2_2_SRCS = $(SRC_SUBSYSTEMS)/imu.c
IMU_B2_2_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
IMU_B2_2_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE)
IMU_B2_2_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
IMU_B2_2_SRCS += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c
IMU_B2_2_SRCS += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
IMU_B2_2_CFLAGS += -DUSE_I2C2
IMU_B2_2_SRCS += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
IMU_B2_2_SRCS += peripherals/hmc5843.c $(SRC_ARCH)/peripherals/hmc5843_arch.c
IMU_B2_2_CFLAGS += -DUSE_EXTI9_5_IRQ # Mag Int on PB5
test_imu_b2_2.ARCHDIR = $(ARCH)
test_imu_b2_2.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_imu_b2_2.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_imu_b2_2.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_BOOZ_TEST)/booz_test_imu.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_imu_b2_2.srcs = test/subsystems/test_imu.c
test_imu_b2_2.CFLAGS = $(COMMON_TEST_CFLAGS)
test_imu_b2_2.srcs += $(COMMON_TEST_SRCS)
test_imu_b2_2.CFLAGS += $(IMU_B2_2_CFLAGS)
test_imu_b2_2.srcs += $(IMU_B2_2_SRCS)
test_imu_b2_2.CFLAGS += -DUSE_LED
test_imu_b2_2.srcs += $(SRC_ARCH)/led_hw.c
test_imu_b2_2.CFLAGS += -DUSE_SYS_TIME
test_imu_b2_2.CFLAGS += -DSYS_TIME_LED=$(SYS_TIME_LED)
test_imu_b2_2.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))'
test_imu_b2_2.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_imu_b2_2.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
test_imu_b2_2.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_imu_b2_2.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart2
test_imu_b2_2.srcs += downlink.c pprz_transport.c
test_imu_b2_2.srcs += math/pprz_trig_int.c
test_imu_b2_2.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\"
test_imu_b2_2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_HMC5843 -DIMU_B2_VERSION_1_2
test_imu_b2_2.srcs += $(SRC_SUBSYSTEMS)/imu.c
test_imu_b2_2.CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
test_imu_b2_2.CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE)
test_imu_b2_2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
test_imu_b2_2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c
test_imu_b2_2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
test_imu_b2_2.CFLAGS += -DUSE_I2C2
test_imu_b2_2.srcs += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
test_imu_b2_2.srcs += peripherals/hmc5843.c $(SRC_ARCH)/peripherals/hmc5843_arch.c
test_imu_b2_2.CFLAGS += -DUSE_EXTI9_5_IRQ # Mag Int on PB5
#
# test IMU aspirin
#
IMU_ASPIRIN_CFLAGS = -DIMU_TYPE_H=\"imu/imu_aspirin.h\" -DIMU_OVERRIDE_CHANNELS
IMU_ASPIRIN_SRCS = $(SRC_SUBSYSTEMS)/imu.c \
$(SRC_SUBSYSTEMS)/imu/imu_aspirin.c \
$(SRC_ARCH)/subsystems/imu/imu_aspirin_arch.c
IMU_ASPIRIN_SRCS += peripherals/hmc5843.c $(SRC_ARCH)/peripherals/hmc5843_arch.c
IMU_ASPIRIN_CFLAGS += -DUSE_I2C2
IMU_ASPIRIN_SRCS += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
IMU_ASPIRIN_CFLAGS += -DUSE_EXTI15_10_IRQ # Gyro Int on PC14
IMU_ASPIRIN_CFLAGS += -DUSE_EXTI9_5_IRQ # Mag Int on PB5
IMU_ASPIRIN_CFLAGS += -DUSE_EXTI2_IRQ # Accel Int on PD2
IMU_ASPIRIN_CFLAGS += -DUSE_DMA1_C4_IRQ # SPI2 Rx DMA
test_imu_aspirin.ARCHDIR = $(ARCH)
test_imu_aspirin.CFLAGS = -I$(SRC_FIRMWARE) -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_imu_aspirin.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_imu_aspirin.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_BOOZ_TEST)/booz_test_imu.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_imu_aspirin.srcs = test/subsystems/test_imu.c
test_imu_aspirin.CFLAGS = $(COMMON_TEST_CFLAGS)
test_imu_aspirin.srcs += $(COMMON_TEST_SRCS)
test_imu_aspirin.CFLAGS += $(IMU_ASPIRIN_CFLAGS)
test_imu_aspirin.srcs += $(IMU_ASPIRIN_SRCS)
test_imu_aspirin.CFLAGS += -DUSE_LED
test_imu_aspirin.srcs += $(SRC_ARCH)/led_hw.c
test_imu_aspirin.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1
test_imu_aspirin.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC((1./512.))'
test_imu_aspirin.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
#
# test AHRS
#
test_ahrs.ARCHDIR = $(ARCH)
test_ahrs.srcs = test/subsystems/test_ahrs.c
test_ahrs.CFLAGS = $(COMMON_TEST_CFLAGS)
test_ahrs.srcs += $(COMMON_TEST_SRCS)
test_ahrs.CFLAGS += $(IMU_ASPIRIN_CFLAGS)
test_ahrs.srcs += $(IMU_ASPIRIN_SRCS)
test_imu_aspirin.CFLAGS += -DUSE_UART2 -DUART2_BAUD=B57600
test_imu_aspirin.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
#AHRS = ice
AHRS = icq
#AHRS = flq
#AHRS = fcr
#AHRS = fcr2
#AHRS = fcq
test_imu_aspirin.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart2
test_imu_aspirin.srcs += downlink.c pprz_transport.c
test_ahrs.srcs += subsystems/ahrs.c \
subsystems/ahrs/ahrs_aligner.c
test_imu_aspirin.srcs += math/pprz_trig_int.c
ifeq ($(AHRS), ice)
test_ahrs.CFLAGS += -DFACE_REINJ_1=1024
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler.h\"
test_ahrs.srcs += subsystems/ahrs/ahrs_int_cmpl_euler.c \
lisa/plug_sys.c
endif
test_imu_aspirin.CFLAGS += -DIMU_TYPE_H=\"imu/imu_aspirin.h\" -DIMU_OVERRIDE_CHANNELS
test_imu_aspirin.srcs += $(SRC_SUBSYSTEMS)/imu.c \
$(SRC_SUBSYSTEMS)/imu/imu_aspirin.c \
$(SRC_ARCH)/subsystems/imu/imu_aspirin_arch.c
test_imu_aspirin.srcs += peripherals/hmc5843.c $(SRC_ARCH)/peripherals/hmc5843_arch.c
ifeq ($(AHRS), icq)
#test_ahrs.CFLAGS += -DAHRS_TYPE=\"ICQ\"
test_ahrs.CFLAGS += -DAHRS_PROPAGATE_FREQUENCY=512
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl.h\"
test_ahrs.srcs +=subsystems/ahrs/ahrs_int_cmpl.c
endif
test_imu_aspirin.CFLAGS += -DUSE_I2C2
test_imu_aspirin.srcs += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
test_imu_aspirin.CFLAGS += -DUSE_EXTI15_10_IRQ # Gyro Int on PC14
test_imu_aspirin.CFLAGS += -DUSE_EXTI9_5_IRQ # Mag Int on PB5
test_imu_aspirin.CFLAGS += -DUSE_EXTI2_IRQ # Accel Int on PD2
test_imu_aspirin.CFLAGS += -DUSE_DMA1_C4_IRQ # SPI2 Rx DMA
ifeq ($(AHRS), flq)
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_lkf_quat.h\"
test_ahrs.CFLAGS += -DAHRS_H_X=0.51562740288882 -DAHRS_H_Y=-0.05707735220832 -DAHRS_H_Z=0.85490967783446
test_ahrs.srcs += subsystems/ahrs/ahrs_float_lkf_quat.c
endif
ifeq ($(AHRS), fcr)
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm.h\"
test_ahrs.CFLAGS += -DINS_ROLL_NEUTRAL_DEFAULT=0
test_ahrs.CFLAGS += -DINS_PITCH_NEUTRAL_DEFAULT=0
test_ahrs.CFLAGS += -DAHRS_PROPAGATE_FREQUENCY=512
test_ahrs.CFLAGS += -DDCM_UPDATE_AFTER_PROPAGATE
test_ahrs.srcs += subsystems/ahrs/ahrs_float_dcm.c
endif
ifeq ($(AHRS), fcr2)
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_rmat.h\"
test_ahrs.CFLAGS += -DAHRS_H_X=0.51562740288882 -DAHRS_H_Y=-0.05707735220832 -DAHRS_H_Z=0.85490967783446
test_ahrs.CFLAGS += -DAHRS_PROPAGATE_FREQUENCY=512
test_ahrs.srcs += subsystems/ahrs/ahrs_float_cmpl_rmat.c
endif
ifeq ($(AHRS), fcq)
test_ahrs.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_rmat.h\"
test_ahrs.CFLAGS += -DAHRS_H_X=0.51562740288882 -DAHRS_H_Y=-0.05707735220832 -DAHRS_H_Z=0.85490967783446
test_ahrs.CFLAGS += -DAHRS_PROPAGATE_FREQUENCY=512
test_ahrs.srcs += subsystems/ahrs/ahrs_float_cmpl_quat.c
endif
@@ -663,65 +700,74 @@ test_bmp085.srcs += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
#
# Test manual : a simple test with rc and servos - I want to fly lisa/M
# tunnel sw
#
test_manual.ARCHDIR = $(ARCH)
test_manual.CFLAGS = -I$(SRC_FIRMWARE) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
test_manual.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_manual.srcs = $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
test/test_manual.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_manual.CFLAGS += -DUSE_LED
test_manual.srcs += $(SRC_ARCH)/led_hw.c
test_manual.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
test_manual.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
test_manual.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_manual.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
test_manual.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_manual.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=$(MODEM_PORT)
test_manual.srcs += downlink.c pprz_transport.c
test_manual.srcs += $(SRC_BOOZ)/booz2_commands.c
test_manual.CFLAGS += -I$(SRC_FIRMWARE)/actuators/arch/$(ARCH)
#test_manual.srcs += $(SRC_FIRMWARE)/actuators/actuators_pwm.c
test_manual.srcs += $(SRC_FIRMWARE)/actuators/arch/$(ARCH)/actuators_pwm_arch.c
test_manual.srcs += $(SRC_FIRMWARE)/actuators/actuators_heli.c
tunnel_sw.ARCHDIR = $(ARCH)
tunnel_sw.CFLAGS += -I$(SRC_LISA) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
tunnel_sw.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
tunnel_sw.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_LISA)/tunnel_hw.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
tunnel_sw.CFLAGS += -DUSE_LED
tunnel_sw.srcs += $(SRC_ARCH)/led_hw.c
tunnel_sw.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
tunnel_sw.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
tunnel_sw.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_manual.CFLAGS += -I$(SRC_BOOZ) -I$(SRC_BOOZ)/arch/$(ARCH)
test_manual.CFLAGS += -DRADIO_CONTROL
ifdef RADIO_CONTROL_LED
test_manual.CFLAGS += -DRADIO_CONTROL_LED=$(RADIO_CONTROL_LED)
endif
test_manual.CFLAGS += -DRADIO_CONTROL_BIND_IMPL_FUNC=radio_control_spektrum_try_bind
test_manual.CFLAGS += -DRADIO_CONTROL_TYPE_H=\"subsystems/radio_control/spektrum.h\"
test_manual.CFLAGS += -DRADIO_CONTROL_SPEKTRUM_PRIMARY_PORT=$(RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT)
test_manual.CFLAGS += -DOVERRIDE_$(RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT)_IRQ_HANDLER -DUSE_TIM6_IRQ
test_manual.srcs += $(SRC_SUBSYSTEMS)/radio_control.c \
subsystems/radio_control/spektrum.c \
$(SRC_ARCH)/subsystems/radio_control/spektrum_arch.c
#
# tunnel hw
#
tunnel_hw.ARCHDIR = $(ARCH)
tunnel_hw.CFLAGS += -I$(SRC_LISA) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
tunnel_hw.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
tunnel_hw.srcs += lisa/test/lisa_tunnel.c \
$(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
tunnel_hw.CFLAGS += -DUSE_LED
tunnel_hw.srcs += $(SRC_ARCH)/led_hw.c
tunnel_hw.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
tunnel_hw.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
tunnel_hw.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
tunnel_hw.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
tunnel_hw.CFLAGS += -DUSE_UART2 -DUART2_BAUD=B57600
tunnel_hw.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
#
# tunnel
# test_settings :
#
tunnel.ARCHDIR = $(ARCH)
tunnel.CFLAGS += -I$(SRC_LISA) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
tunnel.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
tunnel.srcs += $(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_LISA)/tunnel_hw.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
tunnel.CFLAGS += -DUSE_LED
tunnel.srcs += $(SRC_ARCH)/led_hw.c
tunnel.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
tunnel.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
tunnel.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
# configuration
# MODEM_PORT :
# MODEM_BAUD :
#
test_settings.ARCHDIR = $(ARCH)
test_settings.CFLAGS += -I$(SRC_LISA) -I$(SRC_ARCH) -DPERIPHERALS_AUTO_INIT
test_settings.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_settings.srcs = test/subsystems/test_settings.c \
$(SRC_AIRBORNE)/mcu.c \
$(SRC_ARCH)/mcu_arch.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_settings.CFLAGS += -DUSE_LED
test_settings.srcs += $(SRC_ARCH)/led_hw.c
test_settings.CFLAGS += -DUSE_SYS_TIME
test_settings.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
test_settings.CFLAGS += -DSYS_TIME_LED=$(SYS_TIME_LED)
test_settings.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_settings.CFLAGS += -DUSE_$(MODEM_PORT)
test_settings.CFLAGS += -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
test_settings.srcs += downlink.c pprz_transport.c
test_settings.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=$(MODEM_PORT)
test_settings.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_settings.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=$(MODEM_PORT)
test_settings.srcs += subsystems/settings.c
test_settings.srcs += $(SRC_ARCH)/subsystems/settings_arch.c
test_settings.CFLAGS += -DUSE_PERSISTENT_SETTINGS
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
<firmware name="lisa_m_test_progs" boards="lisa_m_1.0"
description="test programs for lisa_m boards">
<!--target name="test telemetry" description="Sends ALIVE telemetry messages">
<param name="MODEM_PORT" values="UART1,UART2,UART3" default="UART2"/>
<param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
</target>
<target name="test baro" description="reads barometers and sends values over telemetry">
<param name="MODEM_PORT" values="UART1,UART2,UART3" default="UART2"/>
<param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
</target>
<target name="test imu b2" description="reads imu values over telemetry">
<param name="MODEM_PORT" values="UART1,UART2,UART3" default="UART2"/>
<param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
</target>
<target name="test spektrum" description="sends RADIO_CONTROL messages on telemetry">
<param name="MODEM_PORT" values="UART1,UART2,UART3" default="UART2"/>
<param name="MODEM_BAUD" values="B9600,B57600,B115200" default="B57600"/>
<param name="RADIO_CONTROL_LINK" values="UART1,UART2,UART3|UART5" default="UART3"/>
</target-->
</firmware>
@@ -424,12 +424,12 @@ test_imu_b2.srcs += downlink.c pprz_transport.c
test_imu_b2.srcs += math/pprz_trig_int.c
test_imu_b2.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\"
test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
test_imu_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100
test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c
test_imu_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
test_imu_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c
test_imu_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
test_imu_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c
test_imu_b2.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c
#
@@ -884,33 +884,33 @@ test_max1168.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_
test_max1168.srcs += downlink.c pprz_transport.c
#
# test ms2001
# test ms2100
#
test_ms2001.ARCHDIR = $(ARCH)
test_ms2001.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_ms2001.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_ms2001.srcs = $(SRC_LISA)/test/lisa_test_ms2001.c \
test_ms2100.ARCHDIR = $(ARCH)
test_ms2100.CFLAGS = -I$(SRC_LISA) -I$(ARCH) -I$(SRC_BOOZ) -I$(SRC_BOOZ_ARCH) -DPERIPHERALS_AUTO_INIT
test_ms2100.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
test_ms2100.srcs = $(SRC_LISA)/test/lisa_test_ms2100.c \
$(SRC_ARCH)/stm32_exceptions.c \
$(SRC_ARCH)/stm32_vector_table.c
test_ms2001.CFLAGS += -DUSE_LED
test_ms2001.srcs += $(SRC_ARCH)/led_hw.c
test_ms2100.CFLAGS += -DUSE_LED
test_ms2100.srcs += $(SRC_ARCH)/led_hw.c
test_ms2001.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1
test_ms2001.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
test_ms2001.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_ms2100.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=1
test_ms2100.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
test_ms2100.srcs += sys_time.c $(SRC_ARCH)/sys_time_hw.c
test_ms2001.CFLAGS += -DUSE_SPI2
test_ms2001.CFLAGS += -DUSE_DMA1_C4_IRQ -DMS2001_HANDLES_DMA_IRQ
test_ms2001.CFLAGS += -DUSE_SPI2_IRQ -DMS2001_HANDLES_SPI_IRQ
test_ms2001.srcs += peripherals/ms2001.c \
$(SRC_ARCH)/peripherals/ms2001_arch.c
test_ms2100.CFLAGS += -DUSE_SPI2
test_ms2100.CFLAGS += -DUSE_DMA1_C4_IRQ -DMS2100_HANDLES_DMA_IRQ
test_ms2100.CFLAGS += -DUSE_SPI2_IRQ -DMS2100_HANDLES_SPI_IRQ
test_ms2100.srcs += peripherals/ms2100.c \
$(SRC_ARCH)/peripherals/ms2100_arch.c
test_ms2001.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
test_ms2001.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_ms2100.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
test_ms2100.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
test_ms2001.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1
test_ms2001.srcs += downlink.c pprz_transport.c
test_ms2100.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1
test_ms2100.srcs += downlink.c pprz_transport.c
#
# test adxl345
@@ -1092,12 +1092,12 @@ ptw.srcs += downlink.c pprz_transport.c
# IMU
ptw.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\"
ptw.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
ptw.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100
ptw.srcs += $(SRC_SUBSYSTEMS)/imu.c
ptw.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
ptw.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c
ptw.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
ptw.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c
ptw.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c
ptw.srcs += math/pprz_trig_int.c
ptw.srcs += $(SRC_BOOZ)/booz2_commands.c
@@ -1351,12 +1351,12 @@ hs_gyro_b2.srcs += downlink.c pprz_transport.c
hs_gyro_b2.srcs += math/pprz_trig_int.c
hs_gyro_b2.CFLAGS += -DIMU_TYPE_H=\"imu/imu_b2.h\"
hs_gyro_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
hs_gyro_b2.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100
hs_gyro_b2.srcs += $(SRC_SUBSYSTEMS)/imu.c
hs_gyro_b2.CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
hs_gyro_b2.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c $(SRC_SUBSYSTEMS)/imu/arch/$(ARCH)/imu_b2_arch.c
hs_gyro_b2.srcs += peripherals/max1168.c $(SRC_ARCH)/peripherals/max1168_arch.c
hs_gyro_b2.srcs += peripherals/ms2001.c $(SRC_ARCH)/peripherals/ms2001_arch.c
hs_gyro_b2.srcs += peripherals/ms2100.c $(SRC_ARCH)/peripherals/ms2100_arch.c
#
# Spits every samples of one axis of gyro on IMU crista
+20 -6
View File
@@ -93,9 +93,15 @@ endif
# or
# include subsystems/rotorcraft/telemetry_xbee_api.makefile
#
ap.srcs += subsystems/settings.c
ap.srcs += $(SRC_ARCH)/subsystems/settings_arch.c
ap.srcs += mcu_periph/uart.c
ap.srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
# I2C is needed for speed controllers and barometers on lisa
ap.srcs += mcu_periph/i2c.c
ap.srcs += $(SRC_ARCH)/mcu_periph/i2c_arch.c
ap.srcs += $(SRC_BOOZ)/booz2_commands.c
@@ -132,7 +138,7 @@ ap.srcs += $(SRC_BOOZ)/booz2_commands.c
#
ap.srcs += $(SRC_BOARD)/baro_board.c
ifeq ($(BOARD), booz)
ap.CFLAGS += -DROTORCRAFT_BARO_LED=$(BARO_LED) -DBOOZ2_ANALOG_BARO_PERIOD='SYS_TICS_OF_SEC((1./100.))'
ap.CFLAGS += -DROTORCRAFT_BARO_LED=$(BARO_LED)
else ifeq ($(BOARD), lisa_l)
ap.CFLAGS += -DUSE_I2C2
endif
@@ -140,18 +146,26 @@ endif
#
# Analog Backend
#
ifeq ($(ARCH), lpc21)
ap.CFLAGS += -DBOOZ2_ANALOG_BATTERY_PERIOD='SYS_TICS_OF_SEC((1./10.))'
ap.srcs += $(SRC_FIRMWARE)/battery.c
ap.CFLAGS += -DADC0_VIC_SLOT=2
ap.CFLAGS += -DADC1_VIC_SLOT=3
ap.srcs += $(SRC_BOOZ)/booz2_analog.c \
$(SRC_BOOZ_ARCH)/booz2_analog_hw.c
ap.CFLAGS += -DUSE_ADC
ap.srcs += $(SRC_ARCH)/mcu_periph/adc_arch.c
ap.srcs += subsystems/electrical.c
# baro has variable offset amplifier on booz board
ap.CFLAGS += -DUSE_DAC
ap.srcs += $(SRC_ARCH)/mcu_periph/dac_arch.c
else ifeq ($(ARCH), stm32)
ap.srcs += lisa/lisa_analog_plug.c
ap.CFLAGS += -DUSE_ADC
ap.CFLAGS += -DUSE_AD1 -DUSE_AD1_1 -DUSE_AD1_2 -DUSE_AD1_3 -DUSE_AD1_4
ap.CFLAGS += -DUSE_ADC1_2_IRQ_HANDLER
ap.srcs += $(SRC_ARCH)/mcu_periph/adc_arch.c
ap.srcs += subsystems/electrical.c
endif
#
# GPS choice
#
+2 -2
View File
@@ -18,8 +18,8 @@
</type>
</subsystem>
<subsystem name="acuators" types="asctec|asctec_v2|mkk"/>
<subsystem name="imu" types="b2_v1.0|b2_v1.1|crista"/>
<subsystem name="acuators" types="asctec|asctec_v2|mkk|pwm_supervision"/>
<subsystem name="imu" types="b2_v1.0|b2_v1.1|b2_v1.2|crista|aspirin"/>
<subsystem name="gps" types="skytraq|ublox"/>
<subsystem name="ahrs" types="cmpl"/>
<subsystem name="ins" types="hff"/>
+4
View File
@@ -23,6 +23,7 @@ tunnel.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c
# for the usb_tunnel we need to set PCLK higher with the flag USE_USB_HIGH_PCLK
# a configuration program to access both uart through usb
ifeq ($(ARCH), lpc21)
usb_tunnel_0.CFLAGS += -DUSE_UART0 -DUART0_BAUD=B115200 -DPERIPHERALS_AUTO_INIT
usb_tunnel_0.CFLAGS += -DUSE_USB_LINE_CODING -DUSE_USB_SERIAL -DUSE_LED -DUSE_USB_HIGH_PCLK
usb_tunnel_0.srcs += $(SRC_ARCH)/usb_tunnel.c $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/mcu_periph/uart_arch.c
@@ -38,6 +39,9 @@ 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
usb_tunnel_1.srcs += mcu.c $(SRC_ARCH)/mcu_arch.c
else
$(error usb_tunnel currently only implemented for the lpc21)
endif
@@ -134,6 +134,8 @@ ns_srcs += $(SRC_ARCH)/sys_time_hw.c
ns_srcs += mcu_periph/uart.c
ns_srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
ns_srcs += subsystems/settings.c
ns_srcs += $(SRC_ARCH)/subsystems/settings_arch.c
#
# ANALOG
@@ -143,6 +145,7 @@ ns_srcs += $(SRC_ARCH)/mcu_periph/uart_arch.c
#ifeq ($(ARCH), lpc21)
ns_srcs += $(SRC_ARCH)/mcu_periph/adc_arch.c
ifeq ($(ARCH), stm32)
ns_CFLAGS += -DUSE_AD1 -DUSE_AD1_1 -DUSE_AD1_2 -DUSE_AD1_3 -DUSE_AD1_4
ns_CFLAGS += -DUSE_ADC1_2_IRQ_HANDLER
endif
@@ -186,11 +189,15 @@ sim.srcs += $(SRC_ARCH)/sim_ap.c
sim.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=IvyTransport
sim.srcs += downlink.c $(SRC_FIRMWARE)/datalink.c $(SRC_ARCH)/sim_gps.c $(SRC_ARCH)/ivy_transport.c $(SRC_ARCH)/sim_adc_generic.c
sim.srcs += subsystems/settings.c
sim.srcs += $(SRC_ARCH)/subsystems/settings_arch.c
######################################################################
##
## JSBSIM THREAD SPECIFIC
##
OCAMLLIBDIR=$(shell ocamlc -where)
JSBSIM_INC = /usr/include/JSBSim
#JSBSIM_LIB = /usr/lib
@@ -198,10 +205,10 @@ jsbsim.CFLAGS += $(fbw_CFLAGS) $(ap_CFLAGS)
jsbsim.srcs += $(fbw_srcs) $(ap_srcs)
jsbsim.CFLAGS += -DSITL
jsbsim.srcs += $(SIMDIR)/sim_ac_jsbsim.c $(SIMDIR)/sim_ac_fw.c
jsbsim.srcs += $(SIMDIR)/sim_ac_jsbsim.c $(SIMDIR)/sim_ac_fw.c $(SIMDIR)/sim_ac_flightgear.c
# external libraries
jsbsim.CFLAGS += -I$(SIMDIR) -I/usr/include -I$(JSBSIM_INC) `pkg-config glib-2.0 --cflags`
jsbsim.CFLAGS += -I$(SIMDIR) -I/usr/include -I$(JSBSIM_INC) -I$(OCAMLLIBDIR) `pkg-config glib-2.0 --cflags`
jsbsim.LDFLAGS += `pkg-config glib-2.0 --libs` -lm -lpcre -lglibivy -L/usr/lib -lJSBSim
jsbsim.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=IvyTransport
@@ -1,4 +1,4 @@
# new fixed wing control loops with merged auto pitch and auto throttle, adaptive horizontal control
$(TARGET).srcs += $(SRC_FIRMWARE)/stabilization/stabilization_adaptive.c $(SRC_FIRMWARE)/guidance/guidance_v_n.c
$(TARGET).srcs += $(SRC_FIXEDWING)/fw_h_ctl_a.c $(SRC_FIXEDWING)/fw_v_ctl_n.c
@@ -52,7 +52,7 @@ imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c
#ifeq ($(ARCH), lpc21)
imu_CFLAGS += -DSSP_VIC_SLOT=9
imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8
#FIXME ms2001 not used on this imu
#FIXME ms2100 not used on this imu
#else ifeq ($(ARCH), stm32)
#imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
#imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
@@ -12,4 +12,6 @@ $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/nav_cube.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/discsurvey.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/OSAMNav.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/snav.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/spiral.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/poly_survey_adv.c
@@ -15,5 +15,5 @@ ifeq ($(NORADIO), False)
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/radio_control.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/radio_control/rc_datalink.c
# arch only with sim target for compatibility (empty functions)
sim.srcs += $(SRC_ARCH)/radio_control/rc_datalink.c
sim.srcs += $(SRC_ARCH)/subsystems/radio_control/rc_datalink.c
endif
@@ -1,9 +1,15 @@
#serial USB (e.g. /dev/ttyACM0)
ifeq ($(ARCH), lpc21)
ap.CFLAGS += -DDOWNLINK -DDOWNLINK_FBW_DEVICE=UsbS -DDOWNLINK_AP_DEVICE=UsbS -DPPRZ_UART=UsbS
ap.CFLAGS += -DDOWNLINK_TRANSPORT=PprzTransport -DDATALINK=PPRZ -DUSE_USB_SERIAL -DUSE_USB_HIGH_PCLK
ap.srcs += $(SRC_FIXEDWING)/downlink.c $(SRC_FIRMWARE)/datalink.c $(SRC_FIXEDWING)/pprz_transport.c
ap.srcs += $(SRC_ARCH)/usb_ser_hw.c $(SRC_ARCH)/lpcusb/usbhw_lpc.c $(SRC_ARCH)/lpcusb/usbcontrol.c
ap.srcs += $(SRC_ARCH)/lpcusb/usbstdreq.c $(SRC_ARCH)/lpcusb/usbinit.c
else
ifneq ($(ARCH), sim)
$(error telemetry_transparent_usb currently only implemented for the lpc21)
endif
endif
@@ -2,7 +2,7 @@
# Complementary filter for attitude estimation
#
ap.CFLAGS += -DUSE_AHRS_CMPL -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED) -DAHRS_FIXED_POINT
ap.CFLAGS += -DUSE_AHRS_CMPL -DAHRS_ALIGNER_LED=$(AHRS_ALIGNER_LED)
stm_passthrough.srcs += $(SRC_SUBSYSTEMS)/ahrs.c
stm_passthrough.srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_aligner.c
stm_passthrough.srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_int_cmpl_euler.c
@@ -42,7 +42,7 @@
# imu Booz2 v1.1
imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\"
imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2100
imu_CFLAGS += -DIMU_B2_VERSION_1_1
imu_srcs += $(SRC_SUBSYSTEMS)/imu.c
imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c
@@ -51,13 +51,13 @@ imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c
imu_srcs += peripherals/max1168.c
imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c
imu_srcs += peripherals/ms2001.c
imu_srcs += $(SRC_ARCH)/peripherals/ms2001_arch.c
imu_srcs += peripherals/ms2100.c
imu_srcs += $(SRC_ARCH)/peripherals/ms2100_arch.c
ifeq ($(ARCH), lpc21)
imu_CFLAGS += -DSSP_VIC_SLOT=9
imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8
imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11
imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11
else ifeq ($(ARCH), stm32)
imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
@@ -57,8 +57,8 @@ imu_srcs += $(SRC_ARCH)/peripherals/hmc5843_arch.c
ifeq ($(ARCH), lpc21)
imu_CFLAGS += -DSSP_VIC_SLOT=9
imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8
#FIXME ms2001 not used on this imu
imu_CFLAGS += -DMS2001_DRDY_VIC_SLOT=11
#FIXME ms2100 not used on this imu
imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=11
else ifeq ($(ARCH), stm32)
imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ
imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT)
@@ -1,7 +1,5 @@
# asctec controllers
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
ap.srcs += mcu_periph/i2c.c
ap.srcs += $(SRC_ARCH)/mcu_periph/i2c_arch.c
ifeq ($(ARCH), lpc21)
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c0
@@ -16,7 +14,7 @@ endif
# Simulator
sim.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
sim.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
sim.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=11
sim.srcs += mcu_periph/i2c.c
sim.srcs += $(SRC_ARCH)/mcu_periph/i2c_arch.c
@@ -19,12 +19,10 @@
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
ap.CFLAGS += -DACTUATORS_ASCTEC_V2_PROTOCOL
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_asctec.c
ap.srcs += mcu_periph/i2c.c
ap.srcs += $(SRC_ARCH)/mcu_periph/i2c_arch.c
ifeq ($(ARCH), lpc21)
ap.CFLAGS += -DACTUATORS_ASCTEC_DEVICE=i2c0
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=11
endif
ifeq ($(ARCH), stm32)
@@ -0,0 +1,5 @@
#
# empty dummy actuators for testing
#
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_dummy.c
@@ -5,6 +5,3 @@ ap.CFLAGS += -DUSE_HELI
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_heli.c
ap.srcs += $(SRC_FIRMWARE)/actuators/arch/$(ARCH)/actuators_pwm_arch.c
# fixme : this is needed by baro and usualy added by actuators_mkk or actuators_asctec
ap.srcs += mcu_periph/i2c.c $(SRC_ARCH)/mcu_periph/i2c_arch.c
@@ -38,12 +38,10 @@ endif
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_mkk.c
ap.srcs += mcu_periph/i2c.c
ap.srcs += $(SRC_ARCH)/mcu_periph/i2c_arch.c
ifeq ($(ARCH), lpc21)
ap.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c0
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(MKK_I2C_SCL_TIME) -DI2C0_SCLH=$(MKK_I2C_SCL_TIME) -DI2C0_VIC_SLOT=10
ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=$(MKK_I2C_SCL_TIME) -DI2C0_SCLH=$(MKK_I2C_SCL_TIME) -DI2C0_VIC_SLOT=11
else ifeq ($(ARCH), stm32)
ap.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c1
ap.CFLAGS += -DUSE_I2C1
@@ -0,0 +1,7 @@
# add actuatos arch to include directories
ap.CFLAGS += -I$(SRC_FIRMWARE)/actuators/arch/$(ARCH)
ap.srcs += $(SRC_FIRMWARE)/actuators/supervision.c
ap.srcs += $(SRC_FIRMWARE)/actuators/actuators_pwm_supervision.c
ap.srcs += $(SRC_FIRMWARE)/actuators/arch/$(ARCH)/actuators_pwm_arch.c

Some files were not shown because too many files have changed in this diff Show More