diff --git a/conf/airframes/flixr_discovery.xml b/conf/airframes/flixr_discovery.xml index 2f4019f0cc..67f58b3f8e 100644 --- a/conf/airframes/flixr_discovery.xml +++ b/conf/airframes/flixr_discovery.xml @@ -40,7 +40,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation - + diff --git a/conf/autopilot/subsystems/fixedwing/imu_booz.makefile b/conf/autopilot/subsystems/fixedwing/imu_booz.makefile index 3a203f0da1..8efad96332 100644 --- a/conf/autopilot/subsystems/fixedwing/imu_booz.makefile +++ b/conf/autopilot/subsystems/fixedwing/imu_booz.makefile @@ -1,84 +1 @@ -# Hey Emacs, this is a -*- makefile -*- -# -# Booz2 IMU booz2v1.2 -# -# -# required xml: -#
-# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -#
-# -# - -# -# param: MAX_1168_DRDY_PORT - - - -# imu Booz2 v1.0, v1.1, v1.2, YAI v1.0 - -imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -DUSE_IMU -imu_srcs += $(SRC_SUBSYSTEMS)/imu.c -imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c -imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -imu_srcs += peripherals/max1168.c -imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c - -#ifeq ($(ARCH), lpc21) -imu_CFLAGS += -DSSP_VIC_SLOT=9 -imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 -#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) -#imu_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE) -#imu_CFLAGS += -DUSE_I2C2 -DUSE_EXTI9_5_IRQ -#endif - -ap.srcs += $(imu_srcs) -ap.CFLAGS += $(imu_CFLAGS) - -# -# Simulator -# - -sim.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -#FIXME, should be HMC5843 -sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 -#FIXME, should be verision 1.2 -sim.CFLAGS += -DIMU_B2_VERSION_1_1 -sim.srcs += $(SRC_SUBSYSTEMS)/imu.c -sim.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c -sim.srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -sim.srcs += peripherals/max1168.c -sim.srcs += $(SRC_ARCH)/peripherals/max1168_arch.c - -sim.CFLAGS += -DUSE_AMI601 -sim.srcs += peripherals/ami601.c -sim.CFLAGS += -DUSE_I2C1 +$(error The imu_booz subsystem has been removed, please replace with e.g. or "b2_v1.0", "b2_v1.1", "b2_v1.2" as appropriate.) diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile b/conf/autopilot/subsystems/shared/imu_b2_common.makefile similarity index 80% rename from conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile rename to conf/autopilot/subsystems/shared/imu_b2_common.makefile index 0e435f803d..84548578b4 100644 --- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile +++ b/conf/autopilot/subsystems/shared/imu_b2_common.makefile @@ -1,5 +1,6 @@ +# Hey Emacs, this is a -*- makefile -*- # -# Booz2 IMU booz2v1.0 +# Common part for all Booz2 IMUs # # # required xml: @@ -34,29 +35,28 @@ # # -# imu Booz2 v1 +# for fixedwing firmware +imu_CFLAGS += -DUSE_IMU imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 -imu_CFLAGS += -DIMU_B2_VERSION_1_0 imu_srcs += $(SRC_SUBSYSTEMS)/imu.c imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c -imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_srcs += peripherals/max1168.c imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c + + +ifeq ($(ARCH), lpc21) +imu_CFLAGS += -DSSP_VIC_SLOT=9 imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 +else ifeq ($(ARCH), stm32) +#FIXME: untested +imu_CFLAGS += -DUSE_SPI2 -DUSE_DMA1_C4_IRQ -DUSE_EXTI2_IRQ -DUSE_SPI2_IRQ +imu_CFLAGS += -DMAX_1168_DRDY_PORT=$(MAX_1168_DRDY_PORT) +imu_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE) +endif -imu_CFLAGS += -DUSE_AMI601 -imu_srcs += peripherals/ami601.c -imu_CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=12 - - -# Keep CFLAGS/Srcs for imu in separate expression so we can assign it to other targets -# see: conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile for example -ap.CFLAGS += $(imu_CFLAGS) -ap.srcs += $(imu_srcs) # # Simulator diff --git a/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile new file mode 100644 index 0000000000..b3063437df --- /dev/null +++ b/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile @@ -0,0 +1,60 @@ +# Hey Emacs, this is a -*- makefile -*- +# +# Booz2 IMU booz2v1.0 +# +# +# required xml: +#
+# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +#
+# +# + + +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile + +# imu Booz2 v1.1 +imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 +imu_CFLAGS += -DIMU_B2_VERSION_1_0 + +# Magnetometer +imu_CFLAGS += -DUSE_AMI601 +imu_srcs += peripherals/ami601.c + +ifeq ($(ARCH), lpc21) +imu_CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=12 +else ifeq ($(ARCH), stm32) +#FIXME: untested +imu_CFLAGS += -DUSE_I2C2 -DUSE_EXTI9_5_IRQ +endif + +# Keep CFLAGS/Srcs for imu in separate expression so we can assign it to other targets +# see: conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile for example +ap.CFLAGS += $(imu_CFLAGS) +ap.srcs += $(imu_srcs) diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.1.makefile similarity index 63% rename from conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile rename to conf/autopilot/subsystems/shared/imu_b2_v1.1.makefile index afea1237dd..2e4fe5e444 100644 --- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile +++ b/conf/autopilot/subsystems/shared/imu_b2_v1.1.makefile @@ -1,3 +1,4 @@ +# Hey Emacs, this is a -*- makefile -*- # # Booz2 IMU booz2v1.1 # @@ -38,51 +39,23 @@ # param: MAX_1168_DRDY_PORT +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile # imu Booz2 v1.1 - -imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" 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 -imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -imu_srcs += peripherals/max1168.c -imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c +# Magnetometer 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 += -DMS2100_DRDY_VIC_SLOT=12 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) -imu_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE) endif # Keep CFLAGS/Srcs for imu in separate expression so we can assign it to other targets # see: conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile for example ap.CFLAGS += $(imu_CFLAGS) ap.srcs += $(imu_srcs) - -# -# Simulator -# - -sim.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 -sim.CFLAGS += -DIMU_B2_VERSION_1_1 -sim.srcs += $(SRC_SUBSYSTEMS)/imu.c -sim.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c -sim.srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -sim.srcs += peripherals/max1168.c -sim.srcs += $(SRC_ARCH)/peripherals/max1168_arch.c - -sim.CFLAGS += -DUSE_AMI601 -sim.srcs += peripherals/ami601.c -sim.CFLAGS += -DUSE_I2C1 diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.2.makefile similarity index 61% rename from conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile rename to conf/autopilot/subsystems/shared/imu_b2_v1.2.makefile index 91ba3d16d4..e4775322c3 100644 --- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.2.makefile +++ b/conf/autopilot/subsystems/shared/imu_b2_v1.2.makefile @@ -1,3 +1,4 @@ +# Hey Emacs, this is a -*- makefile -*- # # Booz2 IMU booz2v1.2 # @@ -38,31 +39,21 @@ # param: MAX_1168_DRDY_PORT +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile # imu Booz2 v1.2 - -imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_HMC5843 imu_CFLAGS += -DIMU_B2_VERSION_1_2 -imu_srcs += $(SRC_SUBSYSTEMS)/imu.c -imu_srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c -imu_srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -imu_srcs += peripherals/max1168.c -imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c +# Magnetometer imu_srcs += peripherals/hmc5843.c 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 ms2100 not used on this imu -imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=12 +#imu_CFLAGS += -DMS2100_DRDY_VIC_SLOT=12 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) -imu_CFLAGS += -DMAX_1168_DRDY_PORT_SOURCE=$(MAX_1168_DRDY_PORT_SOURCE) imu_CFLAGS += -DUSE_I2C2 -DUSE_EXTI9_5_IRQ endif @@ -70,23 +61,3 @@ endif # see: conf/autopilot/subsystems/lisa_passthrough/imu_b2_v1.1.makefile for example ap.CFLAGS += $(imu_CFLAGS) ap.srcs += $(imu_srcs) - -# -# Simulator -# - -sim.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -#FIXME, should be HMC5843 -sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 -#FIXME, should be verision 1.2 -sim.CFLAGS += -DIMU_B2_VERSION_1_1 -sim.srcs += $(SRC_SUBSYSTEMS)/imu.c -sim.srcs += $(SRC_SUBSYSTEMS)/imu/imu_b2.c -sim.srcs += $(SRC_ARCH)/subsystems/imu/imu_b2_arch.c - -sim.srcs += peripherals/max1168.c -sim.srcs += $(SRC_ARCH)/peripherals/max1168_arch.c - -sim.CFLAGS += -DUSE_AMI601 -sim.srcs += peripherals/ami601.c -sim.CFLAGS += -DUSE_I2C1 diff --git a/conf/autopilot/subsystems/shared/imu_yai.makefile b/conf/autopilot/subsystems/shared/imu_yai.makefile new file mode 100644 index 0000000000..6149c87795 --- /dev/null +++ b/conf/autopilot/subsystems/shared/imu_yai.makefile @@ -0,0 +1,50 @@ +# Hey Emacs, this is a -*- makefile -*- +# +# YAI IMU +# +# +# required xml: +#
+# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +#
+# +# + +# +# param: MAX_1168_DRDY_PORT + +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile + +# imu YAI v1.0 +# no default channels and signs defined yet + +# No Magnetometer + +ap.srcs += $(imu_srcs) +ap.CFLAGS += $(imu_CFLAGS)