mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-04 13:55:40 +08:00
Added second PX4 IMU, made it the primary one.
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- this is a quadrotor frame equiped with
|
||||
* Autopilot: 3dr Pixhawk 2.4
|
||||
* IMU: MPU6000 + L3GD20 + LSM303D
|
||||
* Actuators: PWM motor controllers?
|
||||
* IMU: L3GD20 + LSM303D + MPU6000 + external HMC58XX
|
||||
* Actuators: PWM motor controllers
|
||||
* GPS: Ublox http://wiki.paparazziuav.org/wiki/Subsystem/gps
|
||||
* RC: PPM
|
||||
-->
|
||||
@@ -21,14 +21,13 @@
|
||||
<subsystem name="udp" />
|
||||
</target>
|
||||
<subsystem name="telemetry" type="transparent" />
|
||||
<!-- <subsystem name="imu" type="px4fmu_v2.4">-->
|
||||
<subsystem name="imu" type="mpu6000">
|
||||
<configure name="IMU_MPU_SPI_DEV" value="spi1" />
|
||||
<configure name="IMU_MPU_SPI_SLAVE_IDX" value="SPI_SLAVE2" />
|
||||
</subsystem>
|
||||
<subsystem name="imu" type="px4fmu_v2.4"/>
|
||||
<subsystem name="gps" type="ublox" />
|
||||
<subsystem name="stabilization" type="indi" />
|
||||
<subsystem name="ahrs" type="int_cmpl_quat" />
|
||||
<subsystem name="ahrs" type="int_cmpl_quat" >
|
||||
<define name="AHRS_ICQ_IMU_ID" value="IMU_PX4_ID" /> <!-- Meaning the lsm303 and l3g -->
|
||||
<define name="AHRS_ICQ_MAG_ID" value="IMU_MPU6000_HMC_ID" /> <!-- Meaning the external magnetometer -->
|
||||
</subsystem>
|
||||
<subsystem name="ins" type="extended" />
|
||||
<subsystem name="current_sensor">
|
||||
<configure name="ADC_CURRENT_SENSOR" value="ADC_3" />
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# Hey Emacs, this is a -*- makefile -*-
|
||||
#
|
||||
# PX4 Pixhawk IMUconsists of two (internal) IMU's and one internal magneto. Also an optional external magneto
|
||||
#
|
||||
#MPU6000 + L3GD20 + LSM303D + HMC5883
|
||||
|
||||
include $(CFG_SHARED)/spi_master.makefile
|
||||
|
||||
IMU_PX4FMU_CFLAGS += -DIMU_TYPE_H=\"imu/imu_px4fmu_v2.4.h\"
|
||||
IMU_CFLAGS = -DIMU_TYPE_H=\"imu/imu_px4fmu_v2.4.h\"
|
||||
IMU_SRCS = $(SRC_SUBSYSTEMS)/imu.c
|
||||
IMU_SRCS += $(SRC_SUBSYSTEMS)/imu/imu_px4fmu_v2.4.c
|
||||
|
||||
# MPU
|
||||
IMU_SRCS += peripherals/mpu60x0.c
|
||||
IMU_SRCS += peripherals/mpu60x0_spi.c
|
||||
|
||||
#L3GD20 gyro
|
||||
IMU_SRCS += peripherals/l3gd20_spi.c
|
||||
|
||||
#LSM303D accelero + magneto
|
||||
IMU_SRCS += peripherals/lsm303dlhc_spi.c
|
||||
|
||||
# Magnetometer
|
||||
IMU_SRCS += peripherals/hmc58xx.c
|
||||
|
||||
# for fixedwing firmware and ap only
|
||||
ifeq ($(TARGET), ap)
|
||||
IMU_CFLAGS += -DUSE_IMU
|
||||
endif
|
||||
|
||||
# set default SPI device
|
||||
IMU_SPI_DEV ?= spi1
|
||||
# convert spix to upper/lower case
|
||||
IMU_SPI_DEV_UPPER=$(shell echo $(IMU_SPI_DEV) | tr a-z A-Z)
|
||||
IMU_SPI_DEV_LOWER=$(shell echo $(IMU_SPI_DEV) | tr A-Z a-z)
|
||||
IMU_CFLAGS += -DIMU_SPI_DEV=$(IMU_SPI_DEV_LOWER)
|
||||
IMU_CFLAGS += -DUSE_$(IMU_SPI_DEV_UPPER)
|
||||
|
||||
#********** MPU6000 ***********
|
||||
IMU_MPU_SPI_SLAVE_IDX ?= SPI_SLAVE2
|
||||
IMU_CFLAGS += -DIMU_MPU_SPI_SLAVE_IDX=$(IMU_MPU_SPI_SLAVE_IDX)
|
||||
IMU_CFLAGS += -DUSE_$(IMU_MPU_SPI_SLAVE_IDX)
|
||||
|
||||
#********** L3GD20 ***********
|
||||
IMU_L3G_SPI_SLAVE_IDX ?= SPI_SLAVE0
|
||||
IMU_CFLAGS += -DIMU_L3G_SPI_SLAVE_IDX=$(IMU_L3G_SPI_SLAVE_IDX)
|
||||
IMU_CFLAGS += -DUSE_$(IMU_L3G_SPI_SLAVE_IDX)
|
||||
|
||||
#********** LSM303dlhc ***********
|
||||
IMU_LSM_SPI_SLAVE_IDX ?= SPI_SLAVE1
|
||||
IMU_CFLAGS += -DIMU_LSM_SPI_SLAVE_IDX=$(IMU_LSM_SPI_SLAVE_IDX)
|
||||
IMU_CFLAGS += -DUSE_$(IMU_LSM_SPI_SLAVE_IDX)
|
||||
|
||||
#********** HMC5883 ***********
|
||||
IMU_HMC_I2C_DEV ?= i2c1
|
||||
|
||||
# convert i2cx to upper/lower case
|
||||
IMU_HMC_I2C_DEV_UPPER=$(shell echo $(IMU_HMC_I2C_DEV) | tr a-z A-Z)
|
||||
IMU_HMC_I2C_DEV_LOWER=$(shell echo $(IMU_HMC_I2C_DEV) | tr A-Z a-z)
|
||||
IMU_CFLAGS += -DIMU_HMC_I2C_DEV=$(IMU_HMC_I2C_DEV_LOWER)
|
||||
IMU_CFLAGS += -DUSE_$(IMU_HMC_I2C_DEV_UPPER)
|
||||
|
||||
# add it for all targets except sim, fbw and nps
|
||||
ifeq (,$(findstring $(TARGET),sim fbw nps))
|
||||
$(TARGET).CFLAGS += $(IMU_CFLAGS)
|
||||
$(TARGET).srcs += $(IMU_SRCS)
|
||||
endif
|
||||
|
||||
#
|
||||
# NPS simulator
|
||||
#
|
||||
include $(CFG_SHARED)/imu_nps.makefile
|
||||
Reference in New Issue
Block a user