mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-20 02:53:15 +08:00
62646d68de
Add two new items in module's dependency: - recommends: a recommended module tells the sorting algo that if the module is found, it should be sorted accordingly. It is useful for optional dependencies, like shell or mission in some modules - suggests: if a functionality is not provided by the user, a module can suggest a list of modules that can provide them. It is a convenient way to have "default" modules. As a result the former autoload node is removed and replaced by suggested modules.
64 lines
2.5 KiB
XML
64 lines
2.5 KiB
XML
<!DOCTYPE module SYSTEM "module.dtd">
|
|
|
|
<module name="imu_openpilot_revo" dir="imu" task="sensors">
|
|
<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>
|
|
<dep>
|
|
<depends>spi_master,i2c,imu_common</depends>
|
|
<provides>imu,mag</provides>
|
|
</dep>
|
|
<header>
|
|
<file name="imu_mpu6000_hmc5883.h"/>
|
|
</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"/>
|
|
|
|
<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"/>
|
|
</makefile>
|
|
</module>
|