~aleteoryx/muditaos

dbde19f8d87284a92a5154b592e2c1147f4c306e — Maciej Gibowicz 3 years ago 3eae770
[MOS-117] Faster eInk sleep after screen redraw

eInk is turned on for 2 sec to redraw the screen
- so far it was 3.8 sec
M module-services/service-eink/ServiceEink.cpp => module-services/service-eink/ServiceEink.cpp +1 -1
@@ 28,7 28,7 @@ namespace service::eink
    namespace
    {
        constexpr auto ServceEinkStackDepth = 4096U;
        constexpr std::chrono::milliseconds displayPowerOffTimeout{3800};
        constexpr std::chrono::milliseconds displayPowerOffTimeout{2000};

        std::string toSettingString(EinkModeMessage::Mode mode)
        {

M module-services/service-evtmgr/EventManager.cpp => module-services/service-evtmgr/EventManager.cpp +0 -4
@@ 280,10 280,6 @@ int EventManagerCommon::dumpLogsToFile()

void EventManagerCommon::handleMinuteUpdate(time_t timestamp)
{
    // temporary frequency lock to handle time update event
    if (cpuSentinel) {
        cpuSentinel->HoldMinimumFrequencyForTime(bsp::CpuFrequencyMHz::Level_2, std::chrono::seconds(1));
    }
    if (onMinuteTick) {
        onMinuteTick(timestamp);
    }

M products/PurePhone/EinkSentinelPure.cpp => products/PurePhone/EinkSentinelPure.cpp +6 -5
@@ 10,7 10,6 @@ namespace service::eink
{
    namespace
    {
        constexpr auto RedrawLockedEinkCpuFrequency   = bsp::CpuFrequencyMHz::Level_4;
        constexpr auto RedrawUnlockedEinkCpuFrequency = bsp::CpuFrequencyMHz::Level_6;
    } // namespace



@@ 27,10 26,12 @@ namespace service::eink

    void EinkSentinel::HoldMinimumFrequency()
    {
        currentReason = std::string("up: ") + owner->getCurrentProcessing() + std::string(" req: ") +
                        std::to_string(static_cast<int>((GetFrequency())));
        CpuSentinel::HoldMinimumFrequency(isScreenLocked ? RedrawLockedEinkCpuFrequency
                                                         : RedrawUnlockedEinkCpuFrequency);
        if (!isScreenLocked) {
            currentReason = std::string("up: ") + owner->getCurrentProcessing() + std::string(" req: ") +
                            std::to_string(static_cast<int>((GetFrequency())));

            CpuSentinel::HoldMinimumFrequency(RedrawUnlockedEinkCpuFrequency);
        }
    }

    sys::MessagePointer EinkSentinel::handleLockedPhone()