Paparazzi UAS  v5.15_devel-81-gd13dafb
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_b2_v1.0 module

Booz2 IMU v1.0

No detailed description...

Example for airframe file

Add to your firmware section:

1 <module name="imu_b2_v1.0"/>

Module configuration options

Airframe file section

  • section name: IMU prefix: IMU_
    • name GYRO_X_NEUTRAL value: 33924
    • name GYRO_Y_NEUTRAL value: 33417
    • name GYRO_Z_NEUTRAL value: 32809
    • name GYRO_X_SENS value: 1.01
    • name GYRO_Y_SENS value: 1.01
    • name GYRO_Z_SENS value: 1.01
    • name ACCEL_X_NEUTRAL value: 32081
    • name ACCEL_Y_NEUTRAL value: 33738
    • name ACCEL_Z_NEUTRAL value: 32441
    • name ACCEL_X_SENS value: 2.50411474
    • name ACCEL_Y_SENS value: 2.48126183
    • name ACCEL_Z_SENS value: 2.51396167
    • name MAG_X_NEUTRAL value: 2358
    • name MAG_Y_NEUTRAL value: 2362
    • name MAG_Z_NEUTRAL value: 2119
    • name MAG_X_SENS value: 3.4936416
    • name MAG_Y_SENS value: 3.607713
    • name MAG_Z_SENS value: 4.90788848
    • name MAG_45_HACK value: 1

Auto-loaded modules

The following modules are automatically loaded (just as if you had added them in the airframe file)

Files

Header Files

The following headers are automatically included in modules.h

<!DOCTYPE module SYSTEM "module.dtd">
<module name="imu_b2_v1.0" dir="imu">
<doc>
<description>
Booz2 IMU v1.0
</description>
<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>
</doc>
<autoload name="imu_b2_common"/>
<header>
<file name="imu_b2.h" dir="subsystems/imu"/>
</header>
<makefile target="!sim|nps|fbw">
<define name="IMU_B2_VERSION_1_0"/>
<raw>
# Magnetometer
ifndef NO_MAG
$(TARGET).CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601
$(TARGET).CFLAGS += -DUSE_AMI601
$(TARGET).srcs += peripherals/ami601.c
ifeq ($(ARCH), lpc21)
$(TARGET).CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150
else ifeq ($(ARCH), stm32)
#FIXME: untested
$(TARGET).CFLAGS += -DUSE_I2C2
endif
endif #NO_MAG
</raw>
</makefile>
</module>