Files
paparazzi/conf/modules/imu_icm42688.xml
2024-07-24 10:48:43 +02:00

53 lines
2.3 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="imu_icm42688" dir="imu" task="sensors">
<doc>
<description>
Driver module for the Invensense v3 IMU ICM42688.
</description>
<configure name="IMU_SPI_DEV" value="spi1" description="SPI device to use for ICM42688"/>
<configure name="IMU_SPI_SLAVE_IDX" value="SPI_SLAVE0" description="Slave index of the IMU AP_CS pin (12)"/>
<configure name="IMU_ODR" default="4KHZ" description="Output data rate of ACCEL and GYRO (invensense3.h:95/126)"/>
<configure name="GYRO_RANGE" default="500DPS" description="Gyro range (invensense3.h:114)"/>
<configure name="ACCEL_RANGE" default="2G" description="Accel range (invensense3.h:145)"/>
<configure name="GYRO_AAF" value="977" description="Gyro anti-aliasing filter"/>
<configure name="ACCEL_AAF" value="213" description="Accel anti-aliasing filter"/>
</doc>
<dep>
<depends>i2c,spi_master,imu_common</depends>
<provides>imu</provides>
</dep>
<header>
<file name="imu_icm42688.h"/>
</header>
<init fun="imu_icm42688_init()"/>
<periodic fun="imu_icm42688_periodic()" freq="1000"/>
<event fun="imu_icm42688_event()"/>
<makefile target="!sim|nps|fbw">
<configure name="IMU_SPI_DEV" default="spi1" case="lower|upper"/>
<configure name="IMU_SPI_SLAVE_IDX" default="SPI_SLAVE0"/>
<configure name="IMU_ODR" default="4KHZ"/>
<configure name="GYRO_RANGE" default="2000DPS"/>
<configure name="ACCEL_RANGE" default="8G"/>
<configure name="GYRO_AAF" default="977"/>
<configure name="ACCEL_AAF" default="213"/>
<define name="IMU_SPI_DEV" value="$(IMU_SPI_DEV_LOWER)"/>
<define name="USE_$(IMU_SPI_DEV_UPPER)"/>
<define name="IMU_SPI_SLAVE_IDX" value="$(IMU_SPI_SLAVE_IDX)"/>
<define name="USE_$(IMU_SPI_SLAVE_IDX)"/>
<define name="INVENSENSE3_GYRO_ODR" value="INVENSENSE3_GYRO_ODR_$(IMU_ODR)"/>
<define name="INVENSENSE3_ACCEL_ODR" value="INVENSENSE3_ACCEL_ODR_$(IMU_ODR)"/>
<define name="INVENSENSE3_GYRO_RANGE" value="INVENSENSE3_GYRO_RANGE_$(GYRO_RANGE)"/>
<define name="INVENSENSE3_ACCEL_RANGE" value="INVENSENSE3_ACCEL_RANGE_$(ACCEL_RANGE)"/>
<define name="INVENSENSE3_GYRO_AAF" value="$(GYRO_AAF)"/>
<define name="INVENSENSE3_ACCEL_AAF" value="$(ACCEL_AAF)"/>
<file name="invensense3.c" dir="peripherals"/>
<file name="imu_icm42688.c"/>
</makefile>
</module>