~aleteoryx/muditaos

465159ed15006a8e36c1782a39076a7f896ec08d — Wojtek Rzepecki 4 years ago c7c4512
[EGD-5805] Fix not charging icon

Fix icons behavior in topbar.
When plugged and no charging
regular dischrging icon is
displayed.
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;