Merge pull request #91 from flixr/imu_b2

replace imu_booz, moved imu_b2_v1.x to shared subsystems, new imu_yai
This commit is contained in:
Felix Ruess
2011-11-24 06:20:42 -08:00
7 changed files with 135 additions and 164 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation
<subsystem name="ahrs" type="float_dcm"/>
<!-- Sensors -->
<subsystem name="imu" type="booz"/>
<subsystem name="imu" type="b2_v1.0"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="current_sensor">
<configure name="ADC_CURRENT_SENSOR" value="ADC_3"/>
@@ -1,84 +1 @@
# Hey Emacs, this is a -*- makefile -*-
#
# Booz2 IMU booz2v1.2
#
#
# required xml:
# <section name="IMU" prefix="IMU_">
#
# <define name="GYRO_X_NEUTRAL" value="33924"/>
# <define name="GYRO_Y_NEUTRAL" value="33417"/>
# <define name="GYRO_Z_NEUTRAL" value="32809"/>
#
# <define name="GYRO_X_SENS" value=" 1.01" integer="16"/>
# <define name="GYRO_Y_SENS" value="-1.01" integer="16"/>
# <define name="GYRO_Z_SENS" value="-1.01" integer="16"/>
#
# <define name="ACCEL_X_NEUTRAL" value="32081"/>
# <define name="ACCEL_Y_NEUTRAL" value="33738"/>
# <define name="ACCEL_Z_NEUTRAL" value="32441"/>
#
# <define name="ACCEL_X_SENS" value="-2.50411474" integer="16"/>
# <define name="ACCEL_Y_SENS" value="-2.48126183" integer="16"/>
# <define name="ACCEL_Z_SENS" value="-2.51396167" integer="16"/>
#
# <define name="MAG_X_NEUTRAL" value="2358"/>
# <define name="MAG_Y_NEUTRAL" value="2362"/>
# <define name="MAG_Z_NEUTRAL" value="2119"/>
#
# <define name="MAG_X_SENS" value="-3.4936416" integer="16"/>
# <define name="MAG_Y_SENS" value=" 3.607713" integer="16"/>
# <define name="MAG_Z_SENS" value="-4.90788848" integer="16"/>
# <define name="MAG_45_HACK" value="1"/>
#
# </section>
#
#
#
# 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 <subsystem name="imu" type="booz"/> with e.g. <subsystem name="imu" type="yai"/> or "b2_v1.0", "b2_v1.1", "b2_v1.2" as appropriate.)
@@ -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
@@ -0,0 +1,60 @@
# Hey Emacs, this is a -*- makefile -*-
#
# Booz2 IMU booz2v1.0
#
#
# required xml:
# <section name="IMU" prefix="IMU_">
#
# <define name="GYRO_X_NEUTRAL" value="33924"/>
# <define name="GYRO_Y_NEUTRAL" value="33417"/>
# <define name="GYRO_Z_NEUTRAL" value="32809"/>
#
# <define name="GYRO_X_SENS" value="1.01" integer="16"/>
# <define name="GYRO_Y_SENS" value="1.01" integer="16"/>
# <define name="GYRO_Z_SENS" value="1.01" integer="16"/>
#
# <define name="ACCEL_X_NEUTRAL" value="32081"/>
# <define name="ACCEL_Y_NEUTRAL" value="33738"/>
# <define name="ACCEL_Z_NEUTRAL" value="32441"/>
#
# <define name="ACCEL_X_SENS" value="2.50411474" integer="16"/>
# <define name="ACCEL_Y_SENS" value="2.48126183" integer="16"/>
# <define name="ACCEL_Z_SENS" value="2.51396167" integer="16"/>
#
# <define name="MAG_X_NEUTRAL" value="2358"/>
# <define name="MAG_Y_NEUTRAL" value="2362"/>
# <define name="MAG_Z_NEUTRAL" value="2119"/>
#
# <define name="MAG_X_SENS" value="3.4936416" integer="16"/>
# <define name="MAG_Y_SENS" value="3.607713" integer="16"/>
# <define name="MAG_Z_SENS" value="4.90788848" integer="16"/>
# <define name="MAG_45_HACK" value="1"/>
#
# </section>
#
#
# 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)
@@ -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
@@ -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
@@ -0,0 +1,50 @@
# Hey Emacs, this is a -*- makefile -*-
#
# YAI IMU
#
#
# required xml:
# <section name="IMU" prefix="IMU_">
#
# <define name="GYRO_X_NEUTRAL" value="33924"/>
# <define name="GYRO_Y_NEUTRAL" value="33417"/>
# <define name="GYRO_Z_NEUTRAL" value="32809"/>
#
# <define name="GYRO_X_SENS" value=" 1.01" integer="16"/>
# <define name="GYRO_Y_SENS" value="-1.01" integer="16"/>
# <define name="GYRO_Z_SENS" value="-1.01" integer="16"/>
#
# <define name="ACCEL_X_NEUTRAL" value="32081"/>
# <define name="ACCEL_Y_NEUTRAL" value="33738"/>
# <define name="ACCEL_Z_NEUTRAL" value="32441"/>
#
# <define name="ACCEL_X_SENS" value="-2.50411474" integer="16"/>
# <define name="ACCEL_Y_SENS" value="-2.48126183" integer="16"/>
# <define name="ACCEL_Z_SENS" value="-2.51396167" integer="16"/>
#
# <define name="MAG_X_NEUTRAL" value="2358"/>
# <define name="MAG_Y_NEUTRAL" value="2362"/>
# <define name="MAG_Z_NEUTRAL" value="2119"/>
#
# <define name="MAG_X_SENS" value="-3.4936416" integer="16"/>
# <define name="MAG_Y_SENS" value=" 3.607713" integer="16"/>
# <define name="MAG_Z_SENS" value="-4.90788848" integer="16"/>
# <define name="MAG_45_HACK" value="1"/>
#
# </section>
#
#
#
# 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)