mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-06-28 10:17:24 -04:00
In order to synchronize the Low Power mode, the services were immediately informed about the frequency change, so that they can update their resources (e.g. PWM filling) and services may request the maximum CPU frequency in order to perform a task (e.g. screen redraw, telephone conversation)
36 lines
930 B
C++
36 lines
930 B
C++
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include <Service/Message.hpp>
|
|
#include <bsp/common.hpp>
|
|
|
|
namespace sys
|
|
{
|
|
|
|
class RequestCpuFrequencyMessage : public sys::DataMessage
|
|
{
|
|
public:
|
|
RequestCpuFrequencyMessage(std::string sentinelName, bsp::CpuFrequencyHz request)
|
|
: sys::DataMessage(MessageType::SystemManagerCpuFrequency), sentinelName(sentinelName),
|
|
frequencyRequested(request)
|
|
{}
|
|
|
|
[[nodiscard]] auto getRequest() const noexcept
|
|
{
|
|
return frequencyRequested;
|
|
};
|
|
|
|
[[nodiscard]] auto getName() const noexcept
|
|
{
|
|
return sentinelName;
|
|
};
|
|
|
|
private:
|
|
std::string sentinelName;
|
|
bsp::CpuFrequencyHz frequencyRequested = bsp::CpuFrequencyHz::Level_1;
|
|
};
|
|
|
|
} // namespace sys
|