diff --git a/libraries/AP_Compass/AP_Compass.cpp b/libraries/AP_Compass/AP_Compass.cpp index a1bf48c0dc..b1556d6b8a 100644 --- a/libraries/AP_Compass/AP_Compass.cpp +++ b/libraries/AP_Compass/AP_Compass.cpp @@ -11,6 +11,7 @@ #include "AP_Compass_BMM150.h" #include "AP_Compass_HIL.h" #include "AP_Compass_HMC5843.h" +#include "AP_Compass_IST8308.h" #include "AP_Compass_IST8310.h" #include "AP_Compass_LSM303D.h" #include "AP_Compass_LSM9DS1.h" @@ -681,6 +682,12 @@ void Compass::_probe_external_i2c_compasses(void) all_external, default_rotation)); } } + + // external i2c bus + FOREACH_I2C_EXTERNAL(i) { + ADD_BACKEND(DRIVER_IST8308, AP_Compass_IST8308::probe(GET_I2C_DEVICE(i, HAL_COMPASS_IST8308_I2C_ADDR), + true, ROTATION_NONE)); + } #endif // HAL_MINIMIZE_FEATURES } diff --git a/libraries/AP_Compass/AP_Compass.h b/libraries/AP_Compass/AP_Compass.h index 75c8eda30e..3c60cb7602 100644 --- a/libraries/AP_Compass/AP_Compass.h +++ b/libraries/AP_Compass/AP_Compass.h @@ -378,6 +378,7 @@ private: DRIVER_QMC5883 =12, DRIVER_SITL =13, DRIVER_MAG3110 =14, + DRIVER_IST8308 = 15, }; bool _driver_enabled(enum DriverType driver_type);