From 25528a5ae0cc9cbada7c2daa266049f293fe05b0 Mon Sep 17 00:00:00 2001 From: aklimaj <alex.klimaj@tealdrones.com> Date: Thu, 26 Apr 2018 15:36:17 -0600 Subject: [PATCH] Adds support for another MPU9250 or MPU6500 on px4fmu-v4 internal SPI bus. Adds PX4_SPI_BUS_EXT, PX4_SPIDEV_EXT_MPU to board config and spi.c. Call 'mpu9250 -S start' to enable. --- src/drivers/boards/px4fmu-v4/board_config.h | 2 ++ src/drivers/boards/px4fmu-v4/spi.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/drivers/boards/px4fmu-v4/board_config.h b/src/drivers/boards/px4fmu-v4/board_config.h index 2293371c25..490bba0269 100644 --- a/src/drivers/boards/px4fmu-v4/board_config.h +++ b/src/drivers/boards/px4fmu-v4/board_config.h @@ -133,6 +133,7 @@ #define PX4_SPI_BUS_SENSORS 1 #define PX4_SPI_BUS_RAMTRON 2 #define PX4_SPI_BUS_BARO PX4_SPI_BUS_RAMTRON +#define PX4_SPI_BUS_EXT 1 /* Use these in place of the uint32_t enumeration to select a specific SPI device on SPI1 */ #define PX4_SPIDEV_GYRO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 1) @@ -147,6 +148,7 @@ #define PX4_SPIDEV_ICM_20602 PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 11) #define PX4_SPIDEV_BMI055_ACC PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 12) #define PX4_SPIDEV_BMI055_GYR PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 13) +#define PX4_SPIDEV_EXT_MPU PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 14) /* onboard MS5611 and FRAM are both on bus SPI2 * spi_dev_e:SPIDEV_FLASH has the value 2 and is used in the NuttX ramtron driver diff --git a/src/drivers/boards/px4fmu-v4/spi.c b/src/drivers/boards/px4fmu-v4/spi.c index dc08df83df..d67c6a8dcd 100644 --- a/src/drivers/boards/px4fmu-v4/spi.c +++ b/src/drivers/boards/px4fmu-v4/spi.c @@ -121,6 +121,7 @@ __EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool s case PX4_SPIDEV_ICM_20602: case PX4_SPIDEV_ICM_20608: case PX4_SPIDEV_BMI055_ACC: + case PX4_SPIDEV_EXT_MPU: /* Making sure the other peripherals are not selected */ px4_arch_gpiowrite(GPIO_SPI1_CS_PORTC_PIN2, 1); px4_arch_gpiowrite(GPIO_SPI1_CS_PORTC_PIN15, !selected); -- GitLab