forked from Archive/PX4-Autopilot
FMUv2: added support for MPU6000 on v2.4 board
This commit is contained in:
parent
b666581983
commit
3decf408c2
|
@ -85,11 +85,13 @@ __BEGIN_DECLS
|
||||||
#define GPIO_SPI_CS_ACCEL_MAG (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN15)
|
#define GPIO_SPI_CS_ACCEL_MAG (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN15)
|
||||||
#define GPIO_SPI_CS_BARO (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN7)
|
#define GPIO_SPI_CS_BARO (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN7)
|
||||||
#define GPIO_SPI_CS_FRAM (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN10)
|
#define GPIO_SPI_CS_FRAM (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN10)
|
||||||
|
#define GPIO_SPI_CS_MPU (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN2)
|
||||||
|
|
||||||
/* Use these in place of the spi_dev_e enumeration to select a specific SPI device on SPI1 */
|
/* Use these in place of the spi_dev_e enumeration to select a specific SPI device on SPI1 */
|
||||||
#define PX4_SPIDEV_GYRO 1
|
#define PX4_SPIDEV_GYRO 1
|
||||||
#define PX4_SPIDEV_ACCEL_MAG 2
|
#define PX4_SPIDEV_ACCEL_MAG 2
|
||||||
#define PX4_SPIDEV_BARO 3
|
#define PX4_SPIDEV_BARO 3
|
||||||
|
#define PX4_SPIDEV_MPU 4
|
||||||
|
|
||||||
/* I2C busses */
|
/* I2C busses */
|
||||||
#define PX4_I2C_BUS_EXPANSION 1
|
#define PX4_I2C_BUS_EXPANSION 1
|
||||||
|
|
|
@ -73,6 +73,7 @@ __EXPORT void weak_function stm32_spiinitialize(void)
|
||||||
stm32_configgpio(GPIO_SPI_CS_GYRO);
|
stm32_configgpio(GPIO_SPI_CS_GYRO);
|
||||||
stm32_configgpio(GPIO_SPI_CS_ACCEL_MAG);
|
stm32_configgpio(GPIO_SPI_CS_ACCEL_MAG);
|
||||||
stm32_configgpio(GPIO_SPI_CS_BARO);
|
stm32_configgpio(GPIO_SPI_CS_BARO);
|
||||||
|
stm32_configgpio(GPIO_SPI_CS_MPU);
|
||||||
|
|
||||||
/* De-activate all peripherals,
|
/* De-activate all peripherals,
|
||||||
* required for some peripheral
|
* required for some peripheral
|
||||||
|
@ -81,6 +82,7 @@ __EXPORT void weak_function stm32_spiinitialize(void)
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_MPU, 1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_STM32_SPI2
|
#ifdef CONFIG_STM32_SPI2
|
||||||
|
@ -99,6 +101,7 @@ __EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_GYRO, !selected);
|
stm32_gpiowrite(GPIO_SPI_CS_GYRO, !selected);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_MPU, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PX4_SPIDEV_ACCEL_MAG:
|
case PX4_SPIDEV_ACCEL_MAG:
|
||||||
|
@ -106,6 +109,7 @@ __EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, !selected);
|
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, !selected);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_MPU, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PX4_SPIDEV_BARO:
|
case PX4_SPIDEV_BARO:
|
||||||
|
@ -113,6 +117,15 @@ __EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
||||||
stm32_gpiowrite(GPIO_SPI_CS_BARO, !selected);
|
stm32_gpiowrite(GPIO_SPI_CS_BARO, !selected);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_MPU, 1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PX4_SPIDEV_MPU:
|
||||||
|
/* Making sure the other peripherals are not selected */
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_GYRO, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_ACCEL_MAG, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_BARO, 1);
|
||||||
|
stm32_gpiowrite(GPIO_SPI_CS_MPU, !selected);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue