Files
paparazzi/conf/modules/imu_aspirin_common.xml
T
Gautier Hattenberger 62646d68de Modules recommends and suggests (#3005)
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.
2023-03-07 17:14:15 +01:00

54 lines
2.1 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="imu_aspirin_common" dir="imu" task="sensors">
<doc>
<description>
Common functionality of Aspirin IMUs.
- Accelerometer: ADXL345 via SPI
- Gyroscope: ITG3200 via I2C
- Magnetometer: HMC58xx via I2C
</description>
<configure name="ASPIRIN_I2C_DEV" value="i2c2" description="I2C device to use"/>
<configure name="ASPIRIN_SPI_DEV" value="spi2" description="SPI device to use for accel"/>
<configure name="ASPIRIN_SPI_SLAVE_IDX" value="SPI_SLAVE2" description="slave index of the accel CS pin"/>
<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_aspirin.h"/>
</header>
<init fun="imu_aspirin_init()"/>
<periodic fun="imu_aspirin_periodic()"/>
<event fun="imu_aspirin_event()"/>
<makefile target="!sim|nps|fbw">
<configure name="ASPIRIN_I2C_DEV" default="i2c2" case="lower|upper"/>
<configure name="ASPIRIN_SPI_DEV" default="spi2" case="lower|upper"/>
<configure name="ASPIRIN_SPI_SLAVE_IDX" default="SPI_SLAVE2"/>
<define name="ASPIRIN_I2C_DEV" value="$(ASPIRIN_I2C_DEV_LOWER)"/>
<define name="USE_$(ASPIRIN_I2C_DEV_UPPER)"/>
<define name="ASPIRIN_SPI_DEV" value="$(ASPIRIN_SPI_DEV_LOWER)"/>
<define name="USE_$(ASPIRIN_SPI_DEV_UPPER)"/>
<define name="ASPIRIN_SPI_SLAVE_IDX" value="$(ASPIRIN_SPI_SLAVE_IDX)"/>
<define name="USE_$(ASPIRIN_SPI_SLAVE_IDX)"/>
<define name="ASPIRIN_ARCH_INDEP"/>
<file name="adxl345_spi.c" dir="peripherals"/>
<file name="itg3200.c" dir="peripherals"/>
<file name="hmc58xx.c" dir="peripherals"/>
<file name="imu_aspirin.c"/>
</makefile>
</module>