From ab49593f9ff355cb922781ffba8a7987af80d71f Mon Sep 17 00:00:00 2001 From: Barbudor Date: Thu, 25 Jan 2024 08:43:56 +0100 Subject: [PATCH] Fix QMC5883 and HLC5883 drivers breaking sensor command (#20585) * fix breaking sensor command * fix hmc5883 --- tasmota/tasmota_xsns_sensor/xsns_100_ina3221.ino | 1 + tasmota/tasmota_xsns_sensor/xsns_101_hmc5883l.ino | 6 ++++-- tasmota/tasmota_xsns_sensor/xsns_33_qmc5883l.ino | 9 ++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_100_ina3221.ino b/tasmota/tasmota_xsns_sensor/xsns_100_ina3221.ino index 3ea91a9a2..b2ec980e8 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_100_ina3221.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_100_ina3221.ino @@ -261,6 +261,7 @@ bool Ina3221CmndSensor(void) { int argc = ArgC(); if(argc != 1 && argc != 4) { + AddLog(LOG_LEVEL_DEBUG, PSTR(D_INA3221 ": Not enough arguments (1 or 4)")); return false; } diff --git a/tasmota/tasmota_xsns_sensor/xsns_101_hmc5883l.ino b/tasmota/tasmota_xsns_sensor/xsns_101_hmc5883l.ino index f460b9ba4..839eff5c0 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_101_hmc5883l.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_101_hmc5883l.ino @@ -224,6 +224,8 @@ bool HMC5883L_Command() { bool Xsns101(uint32_t function) { if (!I2cEnabled(XI2C_73)) { return false; } + bool result = false; + if (FUNC_INIT == function) { HMC5883L_Init(); } @@ -231,7 +233,7 @@ bool Xsns101(uint32_t function) { switch (function) { case FUNC_COMMAND_SENSOR: if (XSNS_101 == XdrvMailbox.index) { - return HMC5883L_Command(); // Return true on success + result = HMC5883L_Command(); // Return true on success } break; case FUNC_JSON_APPEND: @@ -247,7 +249,7 @@ bool Xsns101(uint32_t function) { #endif // USE_WEBSERVER } } - return true; + return result; } #endif // USE_HMC5883L #endif // USE_I2C diff --git a/tasmota/tasmota_xsns_sensor/xsns_33_qmc5883l.ino b/tasmota/tasmota_xsns_sensor/xsns_33_qmc5883l.ino index f024da374..b1c0cafd7 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_33_qmc5883l.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_33_qmc5883l.ino @@ -286,11 +286,18 @@ void QMC5883L_Show(uint8_t json) { bool Xsns33(uint32_t function) { if (!I2cEnabled(XI2C_71)) { return false; } + bool result = false; + if (FUNC_INIT == function) { QMC5883L_Init(); } else if (QMC5883L != nullptr) { switch (function) { + // case FUNC_COMMAND_SENSOR: + // if (XSNS_33 == XdrvMailbox.index) { + // result = QMC5883L_CmndSensor(); + // } + // break; case FUNC_JSON_APPEND: QMC5883L_Show(1); break; @@ -304,7 +311,7 @@ bool Xsns33(uint32_t function) { #endif // USE_WEBSERVER } } - return true; + return result; } #endif // USE_QMC5883L #endif // USE_I2C \ No newline at end of file