From 2fa289bbad72e2f8a4ef645b8a3627aee43193cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Tue, 17 Mar 2020 18:09:22 +0100 Subject: [PATCH] lsm9ds1_mag: cleanup + consistency with other drivers --- .../magnetometer/lsm9ds1_mag/LSM9DS1_MAG.cpp | 19 +++++++------------ .../magnetometer/lsm9ds1_mag/LSM9DS1_MAG.hpp | 4 ++-- .../lsm9ds1_mag/lsm9ds1_mag_main.cpp | 2 +- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.cpp b/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.cpp index 1f910ea94a..080372fd7a 100644 --- a/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.cpp +++ b/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.cpp @@ -68,20 +68,22 @@ int LSM9DS1_MAG::probe() return PX4_ERROR; } -bool LSM9DS1_MAG::Init() +int LSM9DS1_MAG::init() { - if (SPI::init() != PX4_OK) { - return false; + int ret = SPI::init(); + + if (ret != PX4_OK) { + return ret; } if (!Reset()) { PX4_ERR("reset failed"); - return false; + return PX4_ERROR; } Start(); - return true; + return PX4_OK; } bool LSM9DS1_MAG::Reset() @@ -147,16 +149,9 @@ void LSM9DS1_MAG::RegisterClearBits(Register reg, uint8_t clearbits) void LSM9DS1_MAG::Start() { - Stop(); - ScheduleOnInterval(1000000 / ST_LSM9DS1_MAG::M_ODR / 2); } -void LSM9DS1_MAG::Stop() -{ - ScheduleClear(); -} - void LSM9DS1_MAG::RunImpl() { perf_count(_interval_perf); diff --git a/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.hpp b/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.hpp index 90f64c9893..a0805d2036 100644 --- a/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.hpp +++ b/src/drivers/magnetometer/lsm9ds1_mag/LSM9DS1_MAG.hpp @@ -63,9 +63,9 @@ public: void print_status(); - bool Init(); + int init() override; + void Start(); - void Stop(); bool Reset(); void RunImpl(); diff --git a/src/drivers/magnetometer/lsm9ds1_mag/lsm9ds1_mag_main.cpp b/src/drivers/magnetometer/lsm9ds1_mag/lsm9ds1_mag_main.cpp index 752e4bdb7b..4aca1c0344 100644 --- a/src/drivers/magnetometer/lsm9ds1_mag/lsm9ds1_mag_main.cpp +++ b/src/drivers/magnetometer/lsm9ds1_mag/lsm9ds1_mag_main.cpp @@ -58,7 +58,7 @@ I2CSPIDriverBase *LSM9DS1_MAG::instantiate(const BusCLIArguments &cli, const Bus return nullptr; } - if (!instance->Init()) { + if (OK != instance->init()) { delete instance; return nullptr; }