diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index 5f96ea35..dec99e67 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -69,17 +69,20 @@ class PlaceholderEnergyConsumer : public PowerStats::IEnergyConsumer { } std::pair getInfo() override { return {kType, kName}; } - std::optional getEnergyConsumed() override { + std::optional getEnergyConsumed( + const std::vector &energyData) override { int64_t totalEnergyUWs = 0; int64_t timestampMs = 0; if (mChannelId != -1) { - std::vector measurements; - if (mPowerStats->readEnergyMeter({mChannelId}, &measurements).isOk()) { - for (const auto &m : measurements) { - totalEnergyUWs += m.energyUWs; - timestampMs = m.timestampMs; + int found = 0; + for (const auto &e : energyData) { + if (mChannelId == e.id) { + totalEnergyUWs += e.energyUWs; + timestampMs = e.timestampMs; + found++; } - } else { + } + if (found == 0) { LOG(ERROR) << "Failed to read energy meter"; return {}; }