diff --git a/conf/autopilot/subsystems/shared/imu_b2_common.makefile b/conf/autopilot/subsystems/shared/imu_b2_common.makefile new file mode 100644 index 0000000000..84548578b4 --- /dev/null +++ b/conf/autopilot/subsystems/shared/imu_b2_common.makefile @@ -0,0 +1,77 @@ +# Hey Emacs, this is a -*- makefile -*- +# +# Common part for all Booz2 IMUs +# +# +# required xml: +#
+# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +#
+# +# + +# for fixedwing firmware +imu_CFLAGS += -DUSE_IMU + +imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" +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) +#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 + + +# +# 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_0 +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_b2_v1.0.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile index 343d5c4e2e..b3063437df 100644 --- a/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile +++ b/conf/autopilot/subsystems/shared/imu_b2_v1.0.makefile @@ -1,3 +1,4 @@ +# Hey Emacs, this is a -*- makefile -*- # # Booz2 IMU booz2v1.0 # @@ -34,33 +35,22 @@ # # -# imu Booz2 v1.0 -# for fixedwing firmware -imu_CFLAGS += -DUSE_IMU +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile -imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" +# imu Booz2 v1.1 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_srcs += peripherals/max1168.c -imu_srcs += $(SRC_ARCH)/peripherals/max1168_arch.c +# Magnetometer imu_CFLAGS += -DUSE_AMI601 imu_srcs += peripherals/ami601.c ifeq ($(ARCH), lpc21) -imu_CFLAGS += -DSSP_VIC_SLOT=9 -imu_CFLAGS += -DMAX1168_EOC_VIC_SLOT=8 imu_CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=12 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) imu_CFLAGS += -DUSE_I2C2 -DUSE_EXTI9_5_IRQ endif @@ -68,21 +58,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\" -sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601 -sim.CFLAGS += -DIMU_B2_VERSION_1_0 -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_b2_v1.1.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.1.makefile index 49a956df9e..2e4fe5e444 100644 --- a/conf/autopilot/subsystems/shared/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,54 +39,23 @@ # param: MAX_1168_DRDY_PORT +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile # imu Booz2 v1.1 - -# 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_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/shared/imu_b2_v1.2.makefile b/conf/autopilot/subsystems/shared/imu_b2_v1.2.makefile index 3a55d1ad8d..e4775322c3 100644 --- a/conf/autopilot/subsystems/shared/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,34 +39,21 @@ # param: MAX_1168_DRDY_PORT +# common Booz2 IMU files +include $(CFG_SHARED)/imu_b2_common.makefile # imu Booz2 v1.2 - -# 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_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 @@ -73,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 index 09fd59e7c9..6149c87795 100644 --- a/conf/autopilot/subsystems/shared/imu_yai.makefile +++ b/conf/autopilot/subsystems/shared/imu_yai.makefile @@ -1,6 +1,6 @@ # Hey Emacs, this is a -*- makefile -*- # -# Booz2 IMU booz2v1.2 +# YAI IMU # # # required xml: @@ -38,50 +38,13 @@ # # 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 -#needed for fixedwing firmware -imu_CFLAGS += -DUSE_IMU - -imu_CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_b2.h\" -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) -#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 +# No Magnetometer 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