diff --git a/src/Power.cpp b/src/Power.cpp index 8d5fe1c32..932dee736 100644 --- a/src/Power.cpp +++ b/src/Power.cpp @@ -421,7 +421,7 @@ class AnalogBatteryLevel : public HasBatteryLevel if (hasINA()) { // get current flow from INA sensor - negative value means power flowing into the battery // default assuming BATTERY+ <--> INA_VIN+ <--> SHUNT RESISTOR <--> INA_VIN- <--> LOAD - LOG_DEBUG("Using INA on I2C addr 0x%x for charging detection", config.power.device_battery_ina_address); +// LOG_DEBUG("Using INA on I2C addr 0x%x for charging detection", config.power.device_battery_ina_address); #if defined(INA_CHARGING_DETECTION_INVERT) return getINACurrent() > 0; #else @@ -464,16 +464,13 @@ class AnalogBatteryLevel : public HasBatteryLevel #if HAS_TELEMETRY && !MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR && !defined(ARCH_PORTDUINO) && !defined(ARCH_STM32WL) uint16_t getINAVoltage() { - if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first == config.power.device_battery_ina_address) { + if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first > 0) { return ina219Sensor.getBusVoltageMv(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first > 0) { return ina226Sensor.getBusVoltageMv(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA260].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA260].first > 0) { return ina260Sensor.getBusVoltageMv(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first > 0) { return ina3221Sensor.getBusVoltageMv(); } return 0; @@ -481,13 +478,11 @@ class AnalogBatteryLevel : public HasBatteryLevel int16_t getINACurrent() { - if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first == config.power.device_battery_ina_address) { + if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first > 0) { return ina219Sensor.getCurrentMa(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first > 0) { return ina226Sensor.getCurrentMa(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first > 0) { return ina3221Sensor.getCurrentMa(); } return 0; @@ -495,24 +490,21 @@ class AnalogBatteryLevel : public HasBatteryLevel bool hasINA() { - if (!config.power.device_battery_ina_address) { - return false; - } - if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first == config.power.device_battery_ina_address) { +// if (!config.power.device_battery_ina_address) { +// return false; +// } + if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA219].first > 0) { if (!ina219Sensor.isInitialized()) return ina219Sensor.runOnce() > 0; return ina219Sensor.isRunning(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA226].first > 0) { if (!ina226Sensor.isInitialized()) return ina226Sensor.runOnce() > 0; - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA260].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA260].first > 0) { if (!ina260Sensor.isInitialized()) return ina260Sensor.runOnce() > 0; return ina260Sensor.isRunning(); - } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first == - config.power.device_battery_ina_address) { + } else if (nodeTelemetrySensorsMap[meshtastic_TelemetrySensorType_INA3221].first > 0) { if (!ina3221Sensor.isInitialized()) return ina3221Sensor.runOnce() > 0; return ina3221Sensor.isRunning();