M module-bsp/board/linux/battery-charger/battery_charger.cpp => module-bsp/board/linux/battery-charger/battery_charger.cpp +1 -1
@@ 63,7 63,7 @@ namespace bsp::battery_charger
else {
// second 100% in a row
if (plugged && Store::Battery::get().level == fullBattery) {
- Store::Battery::modify().state = Store::Battery::State::PluggedNotCharging;
+ Store::Battery::modify().state = Store::Battery::State::ChargingDone;
}
}
targetQueueHandle = IRQQueueHandle;
M module-bsp/board/rt1051/bsp/battery-charger/battery_charger.cpp => module-bsp/board/rt1051/bsp/battery-charger/battery_charger.cpp +4 -5
@@ 585,6 585,7 @@ namespace bsp::battery_charger
LOG_ERROR("failed to read charge summary");
}
auto chargerDetails = getChargerDetails();
+ auto chargingSetup = chargerRead(Registers::CHG_CNFG_00);
if (summary.second & static_cast<std::uint8_t>(CHG_INT::CHGIN_I)) {
Store::Battery::modify().state = Store::Battery::State::Charging;
@@ 595,13 596,11 @@ namespace bsp::battery_charger
switch (chargerDetails) {
case CHG_DETAILS_01::CHARGER_DONE:
- Store::Battery::modify().state = Store::Battery::State::PluggedNotCharging;
+ Store::Battery::modify().state = Store::Battery::State::ChargingDone;
chargingFinishedAction();
break;
case CHG_DETAILS_01::CHARGER_OFF:
- // IRQ from other source than CHGIN && Charger already plugged
- if (!(IRQSource.second & static_cast<std::uint8_t>(CHG_INT::CHGIN_I)) &&
- summary.second & static_cast<std::uint8_t>(CHG_INT::CHGIN_I)) {
+ if (chargingSetup.second != CHG_ON_OTG_OFF_BUCK_ON) {
Store::Battery::modify().state = Store::Battery::State::PluggedNotCharging;
}
break;
@@ 616,7 615,7 @@ namespace bsp::battery_charger
break;
}
- return (Store::Battery::get().state == Store::Battery::State::PluggedNotCharging ||
+ return (Store::Battery::get().state == Store::Battery::State::ChargingDone ||
Store::Battery::get().state == Store::Battery::State::Charging);
}
M module-gui/gui/widgets/TopBar.hpp => module-gui/gui/widgets/TopBar.hpp +0 -2
@@ 83,8 83,6 @@ namespace gui::top_bar
Label *networkAccessTechnologyLabel = nullptr;
SignalStrengthWidgetBase *signalWidget = nullptr;
Image *lock;
- std::map<const Store::Battery::State, Image *> batteryChargings = {
- {Store::Battery::State::Charging, nullptr}, {Store::Battery::State::PluggedNotCharging, nullptr}};
gui::SIM *sim = nullptr;
BatteryWidgetBase *batteryWidget = nullptr;
Configuration configuration;
M module-gui/gui/widgets/TopBar/BatteryWidgetBar.cpp => module-gui/gui/widgets/TopBar/BatteryWidgetBar.cpp +1 -1
@@ 59,7 59,7 @@ namespace gui
img->set(batteryCharging);
}
- void BatteryWidgetBar::showBatteryPluggedNotCharging()
+ void BatteryWidgetBar::showBatteryChargingDone()
{
img->set(batteryChargingReady);
}
M module-gui/gui/widgets/TopBar/BatteryWidgetBar.hpp => module-gui/gui/widgets/TopBar/BatteryWidgetBar.hpp +1 -1
@@ 15,7 15,7 @@ namespace gui
private:
void showBatteryLevel(std::uint32_t percentage) override;
- void showBatteryPluggedNotCharging() override;
+ void showBatteryChargingDone() override;
void showBatteryCharging() override;
Image *img = nullptr;
M module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp => module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp +4 -2
@@ 18,13 18,15 @@ namespace gui
setVisible(true);
switch (batteryContext.state) {
case Store::Battery::State::Discharging:
+ [[fallthrough]];
+ case Store::Battery::State::PluggedNotCharging:
showBatteryLevel(batteryContext.level);
break;
case Store::Battery::State::Charging:
showBatteryCharging();
break;
- case Store::Battery::State::PluggedNotCharging:
- showBatteryPluggedNotCharging();
+ case Store::Battery::State::ChargingDone:
+ showBatteryChargingDone();
break;
}
}
M module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp => module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp +1 -1
@@ 13,7 13,7 @@ namespace gui
class BatteryWidgetBase : public HBox
{
virtual void showBatteryLevel(std::uint32_t percentage) = 0;
- virtual void showBatteryPluggedNotCharging() = 0;
+ virtual void showBatteryChargingDone() = 0;
virtual void showBatteryCharging() = 0;
public:
M module-gui/gui/widgets/TopBar/BatteryWidgetText.cpp => module-gui/gui/widgets/TopBar/BatteryWidgetText.cpp +1 -1
@@ 29,7 29,7 @@ namespace gui
label->setText(utils::localize.get("topbar_battery_charging"));
}
- void BatteryWidgetText::showBatteryPluggedNotCharging()
+ void BatteryWidgetText::showBatteryChargingDone()
{
label->setText(utils::localize.get("topbar_battery_plugged"));
}
M module-gui/gui/widgets/TopBar/BatteryWidgetText.hpp => module-gui/gui/widgets/TopBar/BatteryWidgetText.hpp +1 -1
@@ 15,7 15,7 @@ namespace gui
private:
void showBatteryLevel(std::uint32_t percentage) override;
- void showBatteryPluggedNotCharging() override;
+ void showBatteryChargingDone() override;
void showBatteryCharging() override;
Label *label = nullptr;
};
M module-utils/common_data/EventStore.hpp => module-utils/common_data/EventStore.hpp +1 -0
@@ 25,6 25,7 @@ namespace Store
{
Discharging,
Charging,
+ ChargingDone,
PluggedNotCharging,
} state = State::Discharging;
unsigned int level = 0;