|
|
|
@ -71,23 +71,28 @@ __BEGIN_DECLS
@@ -71,23 +71,28 @@ __BEGIN_DECLS
|
|
|
|
|
#define GPIO_nLED_GREEN GPIO_LED2 |
|
|
|
|
#define GPIO_nLED_BLUE GPIO_LED3 |
|
|
|
|
|
|
|
|
|
/* Define the Chip Selects */ |
|
|
|
|
|
|
|
|
|
/* SENSORS are on SPI1, 5, 6
|
|
|
|
|
* MEMORY is on bus SPI2 |
|
|
|
|
* MS5611 is on bus SPI4 |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
#define PX4_SPI_BUS_SENSORS 1 |
|
|
|
|
#define PX4_SPI_BUS_MEMORY 2 |
|
|
|
|
#define PX4_SPI_BUS_BARO 4 |
|
|
|
|
#define PX4_SPI_BUS_EXTERNAL1 5 |
|
|
|
|
#define PX4_SPI_BUS_EXTERNAL2 6 |
|
|
|
|
|
|
|
|
|
/* Define the Chip Selects, Data Ready and Control signals per SPI bus */ |
|
|
|
|
|
|
|
|
|
/* SPI 1 CS */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI1_CS1_ICM20689 /* PF2 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN2) |
|
|
|
|
#define GPIO_SPI1_CS2_ICM20602 /* PF3 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN3) |
|
|
|
|
#define GPIO_SPI1_CS3_BMI055_GYRO /* PF4 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN4) |
|
|
|
|
#define GPIO_SPI1_CS4_BMI055_ACC /* PG10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTG|GPIO_PIN10) |
|
|
|
|
#define GPIO_SPI2_CS_FRAM /* PF5 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN5) |
|
|
|
|
#define GPIO_SPI4_CS1_MS5611 /* PF10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN10) |
|
|
|
|
|
|
|
|
|
#define SPI5_CS1_EXTERNAL1 /* PI4 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN4) |
|
|
|
|
#define SPI5_CS2_EXTERNAL1 /* PI10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN10) |
|
|
|
|
#define SPI5_CS3_EXTERNAL1 /* PI11 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN11) |
|
|
|
|
#define SPI6_CS1_EXTERNAL2 /* PI6 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN6) |
|
|
|
|
#define SPI6_CS2_EXTERNAL2 /* PI7 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN7) |
|
|
|
|
#define SPI6_CS3_EXTERNAL2 /* PI8 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN8) |
|
|
|
|
|
|
|
|
|
/* Define the Ready interrupts */ /* NOT FMUv5 test HW ONLY*/ |
|
|
|
|
/* Define the SPI1 Data Ready interrupts */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI1_DRDY1_ICM20689 /* PB4 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTB|GPIO_PIN4) |
|
|
|
|
#define GPIO_SPI1_DRDY2_BMI055_GYRO /* PB14 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTB|GPIO_PIN14) |
|
|
|
@ -96,12 +101,47 @@ __BEGIN_DECLS
@@ -96,12 +101,47 @@ __BEGIN_DECLS
|
|
|
|
|
#define GPIO_SPI1_DRDY5_BMI055_GYRO /* PC13 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTC|GPIO_PIN13) |
|
|
|
|
#define GPIO_SPI1_DRDY6_BMI055_ACC /* PD10 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTD|GPIO_PIN10) |
|
|
|
|
|
|
|
|
|
/* Define external SPI config pins */ |
|
|
|
|
/* SPI1 off */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI1_SCK_OFF _PIN_OFF(GPIO_SPI1_SCK) |
|
|
|
|
#define GPIO_SPI1_MISO_OFF _PIN_OFF(GPIO_SPI1_MISO) |
|
|
|
|
#define GPIO_SPI1_MOSI_OFF _PIN_OFF(GPIO_SPI1_MOSI) |
|
|
|
|
|
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY1_ICM20689 _PIN_OFF(GPIO_SPI1_DRDY1_ICM20689) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY2_BMI055_GYRO _PIN_OFF(GPIO_SPI1_DRDY2_BMI055_GYRO) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY3_BMI055_ACC _PIN_OFF(GPIO_SPI1_DRDY3_BMI055_ACC) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY4_ICM20602 _PIN_OFF(GPIO_SPI1_DRDY4_ICM20602) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY5_BMI055_GYRO _PIN_OFF(GPIO_SPI1_DRDY5_BMI055_GYRO) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY6_BMI055_ACC _PIN_OFF(GPIO_SPI1_DRDY6_BMI055_ACC) |
|
|
|
|
|
|
|
|
|
/* SPI 2 CS */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI2_CS_FRAM /* PF5 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN5) |
|
|
|
|
|
|
|
|
|
/* SPI 4 CS */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI4_CS1_MS5611 /* PF10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTF|GPIO_PIN10) |
|
|
|
|
|
|
|
|
|
/* SPI 5 CS */ |
|
|
|
|
|
|
|
|
|
#define SPI5_CS1_EXTERNAL1 /* PI4 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN4) |
|
|
|
|
#define SPI5_CS2_EXTERNAL1 /* PI10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN10) |
|
|
|
|
#define SPI5_CS3_EXTERNAL1 /* PI11 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN11) |
|
|
|
|
|
|
|
|
|
/* Define the SPI1 Data Ready and Control signals */ |
|
|
|
|
|
|
|
|
|
#define GPIO_SPI5_DRDY7_EXTERNAL1 /* PD15 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTD|GPIO_PIN15) |
|
|
|
|
#define GPIO_nSPI5_RESET_EXTERNAL1 /* PB10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN10) |
|
|
|
|
#define GPIO_SPI5_SYNC_EXTERNAL1 /* PH15 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|PORTH|PIN15) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* SPI 6 */ |
|
|
|
|
|
|
|
|
|
#define SPI6_CS1_EXTERNAL2 /* PI6 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN6) |
|
|
|
|
#define SPI6_CS2_EXTERNAL2 /* PI7 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN7) |
|
|
|
|
#define SPI6_CS3_EXTERNAL2 /* PI8 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTI|GPIO_PIN8) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Define the ability to shut off off the sensor signals |
|
|
|
|
* by changing the signals to inputs |
|
|
|
@ -110,28 +150,8 @@ __BEGIN_DECLS
@@ -110,28 +150,8 @@ __BEGIN_DECLS
|
|
|
|
|
#define _PIN_OFF(def) (((def) & (GPIO_PORT_MASK | GPIO_PIN_MASK)) | (GPIO_INPUT|GPIO_PULLDOWN|GPIO_SPEED_2MHz)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY1_ICM20689 _PIN_OFF(GPIO_SPI1_DRDY1_ICM20689) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY2_BMI055_GYRO _PIN_OFF(GPIO_SPI1_DRDY2_BMI055_GYRO) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY3_BMI055_ACC _PIN_OFF(GPIO_SPI1_DRDY3_BMI055_ACC) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY4_ICM20602 _PIN_OFF(GPIO_SPI1_DRDY4_ICM20602) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY5_BMI055_GYRO _PIN_OFF(GPIO_SPI1_DRDY5_BMI055_GYRO) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI1_DRDY6_BMI055_ACC _PIN_OFF(GPIO_SPI1_DRDY6_BMI055_ACC) |
|
|
|
|
#define GPIO_DRDY_OFF_SPI5_DRDY7_EXTERNAL1 _PIN_OFF(GPIO_SPI5_DRDY7_EXTERNAL1) |
|
|
|
|
|
|
|
|
|
/* SPI1 off */ |
|
|
|
|
#define GPIO_SPI1_SCK_OFF _PIN_OFF(GPIO_SPI1_SCK) |
|
|
|
|
#define GPIO_SPI1_MISO_OFF _PIN_OFF(GPIO_SPI1_MISO) |
|
|
|
|
#define GPIO_SPI1_MOSI_OFF _PIN_OFF(GPIO_SPI1_MOSI) |
|
|
|
|
|
|
|
|
|
/* SENSORS are on SPI1
|
|
|
|
|
* MEMORY is on bus SPI2 |
|
|
|
|
* MS5611 is on bus SPI4 |
|
|
|
|
*/ |
|
|
|
|
#define PX4_SPI_BUS_SENSORS 1 |
|
|
|
|
#define PX4_SPI_BUS_MEMORY 2 |
|
|
|
|
#define PX4_SPI_BUS_BARO 4 |
|
|
|
|
#define PX4_SPI_BUS_EXTERNAL1 5 |
|
|
|
|
#define PX4_SPI_BUS_EXTERNAL2 6 |
|
|
|
|
|
|
|
|
|
/* v BEGIN Legacy SPI defines TODO: fix this with enumeration */ |
|
|
|
|
#define PX4_SPI_BUS_RAMTRON PX4_SPI_BUS_MEMORY |
|
|
|
@ -162,21 +182,20 @@ __BEGIN_DECLS
@@ -162,21 +182,20 @@ __BEGIN_DECLS
|
|
|
|
|
#define PX4_SPIDEV_EXTERNAL1_1 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL1,0) |
|
|
|
|
#define PX4_SPIDEV_EXTERNAL1_2 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL1,1) |
|
|
|
|
#define PX4_SPIDEV_EXTERNAL1_3 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL1,2) |
|
|
|
|
#define PX4_EXTERNAL1_BUS_CS_GPIO {SPI5_CS1_EXTERNAL1, SPI5_CS2_EXTERNAL1, \ |
|
|
|
|
SPI5_CS3_EXTERNAL1} |
|
|
|
|
#define PX4_EXTERNAL1_BUS_CS_GPIO {SPI5_CS1_EXTERNAL1, SPI5_CS2_EXTERNAL1, SPI5_CS3_EXTERNAL1} |
|
|
|
|
#define PX4_EXTERNAL1_BUS_FIRST_CS PX4_SPIDEV_EXTERNAL1_1 |
|
|
|
|
#define PX4_EXTERNAL1_BUS_LAST_CS PX4_SPIDEV_EXTERNAL1_3 |
|
|
|
|
|
|
|
|
|
#define PX4_SPIDEV_EXTERNAL2_1 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL2,0) |
|
|
|
|
#define PX4_SPIDEV_EXTERNAL2_2 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL2,1) |
|
|
|
|
#define PX4_SPIDEV_EXTERNAL2_3 PX4_MK_SPI_SEL(PX4_SPI_BUS_EXTERNAL2,2) |
|
|
|
|
#define PX4_EXTERNAL2_BUS_CS_GPIO {SPI6_CS1_EXTERNAL2, SPI6_CS2_EXTERNAL2, \ |
|
|
|
|
SPI6_CS3_EXTERNAL2} |
|
|
|
|
#define PX4_EXTERNAL2_BUS_CS_GPIO {SPI6_CS1_EXTERNAL2, SPI6_CS2_EXTERNAL2, SPI6_CS3_EXTERNAL2} |
|
|
|
|
#define PX4_EXTERNAL2_BUS_FIRST_CS PX4_SPIDEV_EXTERNAL2_1 |
|
|
|
|
#define PX4_EXTERNAL2_BUS_LAST_CS PX4_SPIDEV_EXTERNAL2_3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* I2C busses */ |
|
|
|
|
|
|
|
|
|
#define PX4_I2C_BUS_EXPANSION 1 |
|
|
|
|
#define PX4_I2C_BUS_EXPANSION1 2 |
|
|
|
|
#define PX4_I2C_BUS_EXPANSION2 4 |
|
|
|
|