AP_Compass: added external compass autodetection on Navio
This commit is contained in:
parent
62f2695e83
commit
2e5cfc2849
@ -508,6 +508,22 @@ void Compass::_detect_backends(void)
|
||||
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_NAVIO
|
||||
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_HMC5843::probe(*this, hal.i2c_mgr->get_device(HAL_COMPASS_HMC5843_I2C_BUS, HAL_COMPASS_HMC5843_I2C_ADDR));
|
||||
if (backend) {
|
||||
_add_backend(backend);
|
||||
|
@ -97,6 +97,7 @@
|
||||
#define HAL_COMPASS_QURT 12
|
||||
#define HAL_COMPASS_BBBMINI 13
|
||||
#define HAL_COMPASS_NAVIO2 14
|
||||
#define HAL_COMPASS_NAVIO 15
|
||||
|
||||
// Heat Types
|
||||
#define HAL_LINUX_HEAT_PWM 1
|
||||
@ -288,7 +289,7 @@
|
||||
#define HAL_BARO_MS5611_I2C_BUS 1
|
||||
#define HAL_BARO_MS5611_I2C_ADDR 0x77
|
||||
#define HAL_BARO_MS5611_USE_TIMER false
|
||||
#define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250
|
||||
#define HAL_COMPASS_DEFAULT HAL_COMPASS_NAVIO
|
||||
/* HMC5843 can be an external compass */
|
||||
#define HAL_COMPASS_HMC5843_I2C_BUS 1
|
||||
#define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E
|
||||
|
Loading…
Reference in New Issue
Block a user