Files
paparazzi/conf/modules/imu_openpilot_revo.xml
T
Felix Ruess 17d32772c0 [imu] convert imu subsystems to modules (#1788)
* [imu] convert imu subsystems to modules

Also
- get rid of explicit imu init|event|periodic calls in main
- each imu implementation has their own imu_x_init/event/periodic

* [imu] fix some imu modules

* [imu] fix bad paths

* [imu] add imu_common module that every implementation autoloads

and put body_to_imu settings in imu_common module

* [imu] fix imu_ardrone2

* [conf] add imu_common settings module in conf_example and conf_tests
2016-08-12 12:02:38 +02:00

67 lines
2.7 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="imu_openpilot_revo" dir="imu">
<doc>
<description>
Driver for IMU on OpenPilot Revo board.
- Accelerometer/Gyroscope: MPU6000 via SPI1
- Magnetometer: HMC58xx via I2C1
The IMU positive X-axis is as inidcated with arrows on the board,
Z-axis is negative towards the side of the MPU and LEDs (that side is up).
If ACCEL and GYRO SENS/NEUTRAL are not defined, the defaults from the datasheet will be used.
</description>
<section name="IMU" prefix="IMU_">
<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"/>
</section>
</doc>
<autoload name="imu_common"/>
<autoload name="imu_nps"/>
<header>
<file name="imu_mpu6000_hmc5883.h" dir="subsystems/imu"/>
</header>
<init fun="imu_mpu_hmc_init()"/>
<periodic fun="imu_mpu_hmc_periodic()"/>
<event fun="imu_mpu_hmc_event()"/>
<makefile target="!sim|nps|fbw">
<!-- HMC is on I2C1 on OpenPilot Revolution -->
<define name="IMU_HMC_I2C_DEV" value="i2c1"/>
<define name="USE_I2C1"/>
<!-- MPU600 is on SPI1 using SPI_SLAVE_2 as defined in openpilot_revo_1.0.h -->
<define name="IMU_MPU_SPI_DEV" value="spi1"/>
<define name="USE_SPI1"/>
<define name="IMU_MPU_SPI_SLAVE_IDX" value="SPI_SLAVE2"/>
<define name="USE_SPI_SLAVE2"/>
<!-- set channels and signs so that positive x-axis is indicated by arrows on board
and the side with MPU and LEDs is up (negative z-axis)-->
<define name="IMU_MPU_CHAN_X" value="1"/>
<define name="IMU_MPU_CHAN_Y" value="0"/>
<define name="IMU_MPU_CHAN_Z" value="2"/>
<define name="IMU_MPU_X_SIGN" value="-1"/>
<define name="IMU_MPU_Y_SIGN" value="-1"/>
<define name="IMU_MPU_Z_SIGN" value="-1"/>
<define name="IMU_HMC_CHAN_X" value="1"/>
<define name="IMU_HMC_CHAN_Y" value="0"/>
<define name="IMU_HMC_CHAN_Z" value="2"/>
<define name="IMU_HMC_X_SIGN" value="1"/>
<define name="IMU_HMC_Y_SIGN" value="1"/>
<define name="IMU_HMC_Z_SIGN" value="-1"/>
<define name="IMU_TYPE_H" value="subsystems/imu/imu_mpu6000_hmc5883.h" type="string"/>
<file name="mpu60x0.c" dir="peripherals"/>
<file name="mpu60x0_spi.c" dir="peripherals"/>
<file name="hmc58xx.c" dir="peripherals"/>
<file name="imu_mpu6000_hmc5883.c" dir="subsystems/imu"/>
<raw>
include $(CFG_SHARED)/spi_master.makefile
</raw>
</makefile>
</module>