|
|
|
@ -491,6 +491,30 @@ void Compass::_detect_backends(void)
@@ -491,6 +491,30 @@ void Compass::_detect_backends(void)
|
|
|
|
|
"pci0000:00/0000:00:18.6" }, |
|
|
|
|
HAL_COMPASS_HMC5843_I2C_ADDR), |
|
|
|
|
true)); |
|
|
|
|
#elif HAL_COMPASS_DEFAULT == HAL_COMPASS_NAVIO2 |
|
|
|
|
AP_Compass_Backend *backend = AP_Compass_AK8963::probe_mpu9250(*this, 0); |
|
|
|
|
if (backend) { |
|
|
|
|
_add_backend(backend); |
|
|
|
|
hal.console->printf("AK8953: Compass detected\n"); |
|
|
|
|
} else { |
|
|
|
|
hal.console->printf("AK8953: Compass not detected\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
backend = AP_Compass_LSM9DS1::probe(*this, hal.spi->get_device("lsm9ds1_m")); |
|
|
|
|
if (backend) { |
|
|
|
|
_add_backend(backend); |
|
|
|
|
hal.console->printf("LSM9DS1: Compass detected\n"); |
|
|
|
|
} else { |
|
|
|
|
hal.console->printf("LSM9DS1: Compass not detected\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
backend = AP_Compass_HMC5843::probe(*this, hal.i2c_mgr->get_device(HAL_COMPASS_HMC5843_I2C_BUS, HAL_COMPASS_HMC5843_I2C_ADDR)); |
|
|
|
|
if (backend) { |
|
|
|
|
_add_backend(backend); |
|
|
|
|
hal.console->printf("HMC5843: External compass detected\n"); |
|
|
|
|
} else { |
|
|
|
|
hal.console->printf("HMC5843: External compass not detected\n"); |
|
|
|
|
} |
|
|
|
|
#elif HAL_COMPASS_DEFAULT == HAL_COMPASS_AK8963_MPU9250 |
|
|
|
|
_add_backend(AP_Compass_AK8963::probe_mpu9250(*this, 0)); |
|
|
|
|
#elif HAL_COMPASS_DEFAULT == HAL_COMPASS_HMC5843 |
|
|
|
|