Browse Source

Add support for Omnibus F4 boards with ICM20608G IMUs

One can use following command to compile:
make omnibus_f4sd_icm20608g

Co-Authored-By: berkercanatar <19846944+berkercanatar@users.noreply.github.com>
v1.13.0-BW
Bulut Gözübüyük 3 years ago committed by Beat Küng
parent
commit
80c6ab7106
  1. 3
      boards/omnibus/f4sd/icm20608g.px4board
  2. 6
      boards/omnibus/f4sd/init/rc.board_sensors
  3. 1
      boards/omnibus/f4sd/src/spi.cpp

3
boards/omnibus/f4sd/icm20608g.px4board

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=n
CONFIG_DRIVERS_IMU_INVENSENSE_MPU6000=n
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20608G=y

6
boards/omnibus/f4sd/init/rc.board_sensors

@ -8,7 +8,11 @@ board_adc start @@ -8,7 +8,11 @@ board_adc start
if ! mpu6000 -R 6 -s start
then
# some boards such as the Hobbywing XRotor F4 G2 use the ICM-20602
icm20602 -s -R 6 start
if ! icm20602 -s -R 6 start
then
# some clones of Omnibus F4 use the ICM-20608G (such as F4 PDB for Martian II FPV Drone)
icm20608g -s -R 6 start
fi
fi
bmp280 -s start

1
boards/omnibus/f4sd/src/spi.cpp

@ -39,6 +39,7 @@ constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = { @@ -39,6 +39,7 @@ constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = {
initSPIBus(SPI::Bus::SPI1, {
initSPIDevice(DRV_IMU_DEVTYPE_MPU6000, SPI::CS{GPIO::PortA, GPIO::Pin4}),
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortA, GPIO::Pin4}),
initSPIDevice(DRV_IMU_DEVTYPE_ICM20608G, SPI::CS{GPIO::PortA, GPIO::Pin4}),
}),
initSPIBus(SPI::Bus::SPI2, {
initSPIDevice(SPIDEV_MMCSD(0), SPI::CS{GPIO::PortB, GPIO::Pin12})

Loading…
Cancel
Save