diff --git a/src/drivers/magnetometer/isentek/ist8310/CMakeLists.txt b/src/drivers/magnetometer/isentek/ist8310/CMakeLists.txt index c9bc5d6a80..bb5145bdc8 100644 --- a/src/drivers/magnetometer/isentek/ist8310/CMakeLists.txt +++ b/src/drivers/magnetometer/isentek/ist8310/CMakeLists.txt @@ -35,6 +35,7 @@ px4_add_module( MODULE drivers__magnetometer__isentek__ist8310 MAIN ist8310 COMPILE_FLAGS + -DDEBUG_BUILD SRCS IST8310.cpp IST8310.hpp diff --git a/src/drivers/magnetometer/isentek/ist8310/IST8310.cpp b/src/drivers/magnetometer/isentek/ist8310/IST8310.cpp index b7d8512ce9..0aa3ef4b03 100644 --- a/src/drivers/magnetometer/isentek/ist8310/IST8310.cpp +++ b/src/drivers/magnetometer/isentek/ist8310/IST8310.cpp @@ -45,6 +45,7 @@ IST8310::IST8310(const I2CSPIDriverConfig &config) : I2CSPIDriver(config), _px4_mag(get_device_id(), config.rotation) { + _debug_enabled = true; } IST8310::~IST8310() @@ -85,14 +86,18 @@ void IST8310::print_status() int IST8310::probe() { - const uint8_t WAI = RegisterRead(Register::WAI); + for (int i = 0; i < 10; i++) { + const uint8_t WAI = RegisterRead(Register::WAI); - if (WAI != Device_ID) { - DEVICE_DEBUG("unexpected WAI 0x%02x", WAI); - return PX4_ERROR; + if (WAI == Device_ID) { + return PX4_OK; + + } else { + PX4_DEBUG("unexpected WAI 0x%02x", WAI); + } } - return PX4_OK; + return PX4_ERROR; } void IST8310::RunImpl()