device::Device * MPU9250_SPI_interface(int bus, bool external_bus) { uint32_t cs = SPIDEV_NONE(0); device::Device *interface = nullptr; if (external_bus) { #if defined(PX4_SPI_BUS_EXT) && defined(PX4_SPIDEV_EXT_MPU) cs = PX4_SPIDEV_EXT_MPU; #else errx(0, "External SPI not available"); #endif } else { cs = PX4_SPIDEV_MPU; } if (cs != SPIDEV_NONE(0)) { interface = new MPU9250_SPI(bus, cs); } return interface; }
device::Device * MPU9250_SPI_interface(int bus, int device_type, uint32_t cs, bool external_bus) { device::Device *interface = nullptr; if (external_bus) { #if !(defined(PX4_SPI_BUS_EXT) && defined(PX4_SPIDEV_EXT_MPU)) errx(0, "External SPI not available"); #endif } if (cs != SPIDEV_NONE(0)) { interface = new MPU9250_SPI(bus, cs); } return interface; }