mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-08-20 22:13:46 +08:00
feat(boards/zeroone): Add IIM42652 and BMP581 support for ZeroOneX6 Series V2 (#27475)
* Add TDK IIM42652 IMU and Bosch BMP581 Baro support for ZeroOneX6 Series V2 board
This commit is contained in:
@@ -10,6 +10,8 @@ CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3"
|
||||
CONFIG_DRIVERS_ADC_ADS1115=y
|
||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||
CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y
|
||||
CONFIG_DRIVERS_BAROMETER_BMP581=y
|
||||
CONFIG_DRIVERS_BAROMETER_GOERTEK_SPA06=y
|
||||
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
||||
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
||||
CONFIG_DRIVERS_CDCACM_AUTOSTART=y
|
||||
@@ -21,6 +23,7 @@ CONFIG_DRIVERS_HEATER=y
|
||||
CONFIG_DRIVERS_IMU_BOSCH_BMI088=y
|
||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM45686=y
|
||||
CONFIG_DRIVERS_IMU_INVENSENSE_IIM42653=y
|
||||
CONFIG_DRIVERS_IMU_INVENSENSE_IIM42652=y
|
||||
CONFIG_DRIVERS_IMU_MURATA_SCH16T=y
|
||||
CONFIG_DRIVERS_GNSS_SEPTENTRIO=y
|
||||
CONFIG_COMMON_LIGHT=y
|
||||
|
||||
@@ -66,7 +66,10 @@ then
|
||||
bmi088 -G -R 4 -s start # X6
|
||||
|
||||
# Internal SPI bus icm45686 with SPIX
|
||||
icm45686 -b 1 -s -R 8 start # X6 & X6 air
|
||||
if ! icm45686 -b 1 -s -R 8 start # X6 & X6 air
|
||||
then
|
||||
iim42652 -b 1 -s -R 8 start # X6 air V2
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -79,27 +82,36 @@ then
|
||||
bmi088 -G -R 4 -s start
|
||||
|
||||
# Internal SPI bus IIM42653 with SPIX
|
||||
iim42653 -b 1 -s -R 8 start
|
||||
if ! iim42653 -b 1 -s -R 8 start
|
||||
then
|
||||
iim42652 -b 1 -s -R 8 start # X6 Pro V2
|
||||
fi
|
||||
fi
|
||||
|
||||
# External compass on GPS1/I2C1 bus
|
||||
ist8310 -X -b 1 -R 10 start
|
||||
# Internal compass
|
||||
if ! rm3100 -I -b 4 start # X6 & X6 PRO & X6 Ultra
|
||||
if ! rm3100 -I -b 4 start # X6 Series
|
||||
then
|
||||
if ! ist8310 -I -a 0x0E -R 12 start # X6 air
|
||||
then
|
||||
bmm350 -I -b 4 -a 0x15 -R 14 start # X6 air II
|
||||
bmm350 -I -b 4 -a 0x15 -R 14 start # X6 air V2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Possible internal Baro
|
||||
if param compare SENS_INT_BARO_EN 1
|
||||
then
|
||||
icp201xx -I -a 0x64 start
|
||||
if ! icp201xx -I -a 0x64 start
|
||||
then
|
||||
bmp581 -I -a 0X47 start
|
||||
fi
|
||||
fi
|
||||
icp201xx -X start
|
||||
#external baro
|
||||
if ! icp201xx -X start
|
||||
then
|
||||
spa06 -X -a 0x77 start
|
||||
fi
|
||||
|
||||
unset INA_CONFIGURED
|
||||
unset HAVE_PM2
|
||||
|
||||
@@ -39,6 +39,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
|
||||
initSPIFmumID(ZeroOneX6_0, {
|
||||
initSPIBus(SPI::Bus::SPI1, {
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_ICM45686, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_IIM42652, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||
}, {GPIO::PortI, GPIO::Pin11}),
|
||||
initSPIBus(SPI::Bus::SPI2, {
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_ICM45686, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortA, GPIO::Pin10}),
|
||||
@@ -59,6 +60,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
|
||||
initSPIFmumID(ZeroOneX6_1, { // X6 Pro
|
||||
initSPIBus(SPI::Bus::SPI1, {
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_IIM42653, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_IIM42652, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||
}, {GPIO::PortI, GPIO::Pin11}),
|
||||
initSPIBus(SPI::Bus::SPI2, {
|
||||
initSPIDevice(DRV_IMU_DEVTYPE_IIM42653, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortA, GPIO::Pin10}),
|
||||
|
||||
Reference in New Issue
Block a user