mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
mRo ctrl zero updates
- add ICM20602 and ICM20648 data ready interrupts - enable Bosch BMI088 IMU - move HRT_TIMER to TIM3 (same timer as PPM channel)
This commit is contained in:
parent
a859a6b57c
commit
fd72e5e795
@ -29,7 +29,7 @@ px4_add_board(
|
||||
gps
|
||||
#heater
|
||||
#imu # all available imu drivers
|
||||
#imu/bmi088
|
||||
imu/bmi088
|
||||
imu/mpu6000
|
||||
imu/icm20948
|
||||
irlock
|
||||
|
||||
@ -11,8 +11,11 @@ mpu6000 -R 10 -s -T 20602 start
|
||||
# Internal ICM-20689
|
||||
#icm20689 -R 10 20689 start
|
||||
|
||||
# Internal BMI088
|
||||
bmi088 start
|
||||
# Internal SPI bus BMI088 accel
|
||||
bmi088 -A -R 10 start
|
||||
|
||||
# Internal SPI bus BMI088 gyro
|
||||
bmi088 -G -R 10 start
|
||||
|
||||
# Interal DPS310 (barometer)
|
||||
dps310 start
|
||||
|
||||
@ -215,7 +215,6 @@ CONFIG_UART4_RXDMA=y
|
||||
CONFIG_UART4_TXBUFSIZE=1500
|
||||
CONFIG_UART7_BAUD=57600
|
||||
CONFIG_UART7_RXBUFSIZE=600
|
||||
CONFIG_UART7_RXDMA=y
|
||||
CONFIG_UART7_SERIAL_CONSOLE=y
|
||||
CONFIG_UART7_TXBUFSIZE=1500
|
||||
CONFIG_UART8_BAUD=57600
|
||||
|
||||
@ -81,6 +81,10 @@
|
||||
#define GPIO_SPI1_CS1_ICM20602 /* PC2 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN2)
|
||||
#define GPIO_SPI1_CS2_ICM20948 /* PE15 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN15)
|
||||
|
||||
/* Define the SPI1 Data Ready interrupts */
|
||||
#define GPIO_SPI1_DRDY1_ICM20602 /* PD15 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTD|GPIO_PIN15)
|
||||
#define GPIO_SPI1_DRDY2_ICM20948 /* PE12 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTE|GPIO_PIN12)
|
||||
|
||||
/* SPI 2 CS */
|
||||
#define GPIO_SPI2_CS1_FRAM /* PD10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN10)
|
||||
#define GPIO_SPI2_CS2_BARO /* PD7 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN7)
|
||||
@ -253,7 +257,7 @@
|
||||
#define GPIO_OTGFS_VBUS /* PA9 */ (GPIO_INPUT|GPIO_PULLDOWN|GPIO_SPEED_100MHz|GPIO_PORTA|GPIO_PIN9)
|
||||
|
||||
/* High-resolution timer */
|
||||
#define HRT_TIMER 8 /* use timer8 for the HRT */
|
||||
#define HRT_TIMER 3 /* use timer3 for the HRT */
|
||||
#define HRT_TIMER_CHANNEL 3 /* use capture/compare channel 3 */
|
||||
|
||||
#define HRT_PPM_CHANNEL /* T3C2 */ 2 /* use capture/compare channel 1 */
|
||||
@ -328,10 +332,6 @@
|
||||
GPIO_VDD_3V3_SPEKTRUM_POWER_EN, \
|
||||
GPIO_TONE_ALARM_IDLE, \
|
||||
GPIO_SAFETY_SWITCH_IN, \
|
||||
GPIO_DRDY_BMI088_INT1_ACCEL, \
|
||||
GPIO_DRDY_BMI088_INT2_ACCEL, \
|
||||
GPIO_DRDY_BMI088_INT3_GYRO, \
|
||||
GPIO_DRDY_BMI088_INT4_GYRO, \
|
||||
}
|
||||
|
||||
#define BOARD_ENABLE_CONSOLE_BUFFER
|
||||
|
||||
@ -203,6 +203,9 @@ __EXPORT void board_spi_reset(int ms)
|
||||
stm32_configgpio(_PIN_OFF(GPIO_SPI1_SCK));
|
||||
stm32_configgpio(_PIN_OFF(GPIO_SPI1_MISO));
|
||||
stm32_configgpio(_PIN_OFF(GPIO_SPI1_MOSI));
|
||||
stm32_configgpio(_PIN_OFF(GPIO_SPI1_DRDY1_ICM20602));
|
||||
stm32_configgpio(_PIN_OFF(GPIO_SPI1_DRDY2_ICM20948));
|
||||
|
||||
|
||||
// SPI5
|
||||
for (auto cs : spi5selects_gpio) {
|
||||
@ -242,6 +245,9 @@ __EXPORT void board_spi_reset(int ms)
|
||||
stm32_configgpio(GPIO_SPI1_SCK);
|
||||
stm32_configgpio(GPIO_SPI1_MISO);
|
||||
stm32_configgpio(GPIO_SPI1_MOSI);
|
||||
stm32_configgpio(GPIO_SPI1_DRDY1_ICM20602);
|
||||
stm32_configgpio(GPIO_SPI1_DRDY2_ICM20948);
|
||||
|
||||
|
||||
// SPI5
|
||||
for (auto cs : spi5selects_gpio) {
|
||||
|
||||
@ -90,7 +90,11 @@ start(bool external_bus, enum Rotation rotation, enum sensor_type sensor)
|
||||
#endif
|
||||
|
||||
} else {
|
||||
#if defined(PX4_SPI_BUS_SENSORS3) && defined(PX4_SPIDEV_BMI088_ACC)
|
||||
*g_dev_acc_ptr = new BMI088_accel(PX4_SPI_BUS_SENSORS3, path_accel, PX4_SPIDEV_BMI088_ACC, rotation);
|
||||
#elif defined(PX4_SPI_BUS_5) && defined(PX4_SPIDEV_BMI088_ACC)
|
||||
*g_dev_acc_ptr = new BMI088_accel(PX4_SPI_BUS_5, path_accel, PX4_SPIDEV_BMI088_ACC, rotation);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (*g_dev_acc_ptr == nullptr) {
|
||||
@ -120,7 +124,11 @@ start(bool external_bus, enum Rotation rotation, enum sensor_type sensor)
|
||||
#endif
|
||||
|
||||
} else {
|
||||
#if defined(PX4_SPI_BUS_SENSORS3) && defined(PX4_SPIDEV_BMI088_GYR)
|
||||
*g_dev_gyr_ptr = new BMI088_gyro(PX4_SPI_BUS_SENSORS3, path_gyro, PX4_SPIDEV_BMI088_GYR, rotation);
|
||||
#elif defined(PX4_SPI_BUS_5) && defined(PX4_SPIDEV_BMI088_GYR)
|
||||
*g_dev_gyr_ptr = new BMI088_gyro(PX4_SPI_BUS_5, path_gyro, PX4_SPIDEV_BMI088_GYR, rotation);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (*g_dev_gyr_ptr == nullptr) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user