Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Unified Diff: tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py

Issue 1432093002: Improve readability of power monitoring code and add additional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix issue 556653 Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py
diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py b/tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py
index 8b219e0004380fb658ae6db040016b6300b77a2a..0e7fe306276c0f15ee103ec881bbc4f235f682c4 100644
--- a/tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py
+++ b/tools/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor.py
@@ -2,12 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import logging
+from telemetry.internal.platform.power_monitor import android_power_monitor_base
-from telemetry.internal.platform import power_monitor
-
-class FuelGaugePowerMonitor(power_monitor.PowerMonitor):
+class FuelGaugePowerMonitor(android_power_monitor_base.AndroidPowerMonitorBase):
"""PowerMonitor that relies on the fuel gauge chips to monitor the power
consumption of a android device.
"""
@@ -26,30 +24,21 @@ class FuelGaugePowerMonitor(power_monitor.PowerMonitor):
return self._battery.SupportsFuelGauge()
def StartMonitoringPower(self, browser):
- self._battery.SetCharging(False)
+ self._CheckStart()
+ self._ChargingOff(self._battery)
self._starting_fuel_gauge = self._battery.GetFuelGaugeChargeCounter()
def StopMonitoringPower(self):
+ self._CheckStop()
# Convert from nAh to mAh.
fuel_gauge_delta = (
float((self._starting_fuel_gauge) -
self._battery.GetFuelGaugeChargeCounter()) / 1000000)
- self._battery.SetCharging(True)
-
- voltage = self._battery.GetBatteryInfo().get('voltage')
- if voltage is None:
- # Converting at a nominal voltage of 4.0V, as those values are obtained by
- # a heuristic, and 4.0V is the voltage we set when using a monsoon device.
- voltage = 4.0
- logging.warning('Unable to get device voltage. Using %s.', voltage)
- else:
- voltage = float(voltage) / 1000
-
+ self._ChargingOn(self._battery)
+ voltage = self._ParseVoltage(self._battery.GetBatteryInfo().get('voltage'))
return self.ProcessPowerData(voltage, fuel_gauge_delta)
@staticmethod
def ProcessPowerData(voltage, fuel_gauge_delta):
- power_results = {'identifier': 'fuel_gauge'}
- power_results['fuel_gauge_energy_consumption_mwh'] = (
- fuel_gauge_delta * voltage)
- return power_results
+ return {'identifier': 'fuel_gauge',
+ 'fuel_gauge_energy_consumption_mwh': fuel_gauge_delta * voltage}

Powered by Google App Engine
This is Rietveld 408576698