3
3
4
4
#include " FrontlightAction.hpp"
5
5
#include " BellAlarmConstants.hpp"
6
-
7
6
#include < service-evtmgr/ScreenLightControlMessage.hpp>
8
7
#include < service-evtmgr/ServiceEventManagerName.hpp>
9
-
10
8
#include < service-db/Settings.hpp>
11
9
#include < db/SystemSettings.hpp>
10
+ #include < module-utils/utility/FrontlightUtils.hpp>
12
11
#include < module-utils/utility/Utils.hpp>
13
12
14
13
namespace alarms
15
14
{
16
15
namespace
17
16
{
18
- constexpr std::string_view alarmFrontlightOff = " 0" ;
19
- constexpr std::string_view prewakeupFrontlightOff = " 0" ;
17
+ constexpr auto alarmFrontlightOff = std::string_view{ " 0" } ;
18
+ constexpr auto prewakeupFrontlightOff = std::string_view{ " 0" } ;
20
19
21
20
/* Reach and maintain target brightness 1 minute faster than
22
21
* the duration of the action. */
23
22
constexpr auto frontlightRampDurationOffset = std::chrono::minutes{1 };
24
23
constexpr auto initialTargetDuration = std::chrono::seconds{5 };
25
- constexpr auto initialZeroBrightnessValue = 10 ;
24
+ #if defined(CONFIG_VERSION_PRO) && (CONFIG_VERSION_PRO == 1)
25
+ constexpr auto initialZeroBrightnessValue = 5 .0f ;
26
+ #else
27
+ constexpr auto initialZeroBrightnessValue = 10 .0f ;
28
+ #endif
26
29
27
- void validateBrightness (std::string &brightness)
30
+ inline void validateBrightness (std::string &brightness)
28
31
{
29
- constexpr auto defaultBrightness = std::string_view{" 50.0 " };
32
+ constexpr auto defaultBrightness = std::string_view{" 5 " };
30
33
31
34
if (brightness.empty ()) {
32
35
brightness = defaultBrightness;
@@ -163,9 +166,9 @@ namespace alarms
163
166
164
167
auto brightnessString = settings.getValue (bell::settings::Alarm::brightness, settings::SettingsScope::Global);
165
168
validateBrightness (brightnessString);
166
- screen_light_control::ManualModeParameters params{};
167
- params.manualModeBrightness = static_cast <BrightnessPercentage>(utils::toNumeric (brightnessString));
168
169
170
+ screen_light_control::ManualModeParameters params{
171
+ .manualModeBrightness = utils::frontlight::fixedValToPercentage (utils::toNumeric (brightnessString))};
169
172
return params;
170
173
}
171
174
@@ -239,17 +242,18 @@ namespace alarms
239
242
auto initialBrightnessString =
240
243
settings.getValue (bell::settings::PrewakeUp::brightness, settings::SettingsScope::Global);
241
244
validateBrightness (initialBrightnessString);
242
- initialBrightness = utils::toNumeric (initialBrightnessString);
245
+ initialBrightness = utils::frontlight::fixedValToPercentage ( utils:: toNumeric (initialBrightnessString) );
243
246
}
244
247
245
248
auto targetBrightnessString =
246
249
settings.getValue (bell::settings::Alarm::brightness, settings::SettingsScope::Global);
247
250
validateBrightness (targetBrightnessString);
251
+ const auto targetBrightness = utils::frontlight::fixedValToPercentage (utils::toNumeric (targetBrightnessString));
248
252
249
- const screen_light_control::functions::LinearProgressFunction startFunction{
250
- . target = static_cast < float >(initialBrightness), .duration = initialTargetDuration};
251
- const screen_light_control::functions::LinearProgressFunction endFunction{
252
- . target = static_cast < float >( utils::toNumeric (targetBrightnessString)), .duration = mainTargetDuration};
253
+ const screen_light_control::functions::LinearProgressFunction startFunction{. target = initialBrightness,
254
+ .duration = initialTargetDuration};
255
+ const screen_light_control::functions::LinearProgressFunction endFunction{. target = targetBrightness,
256
+ .duration = mainTargetDuration};
253
257
254
258
return screen_light_control::LinearProgressModeParameters{.startBrightnessValue =
255
259
static_cast <float >(initialBrightness),
@@ -262,14 +266,16 @@ namespace alarms
262
266
auto brightnessString =
263
267
settings.getValue (bell::settings::PrewakeUp::brightness, settings::SettingsScope::Global);
264
268
validateBrightness (brightnessString);
265
- const auto value = settings.getValue (bell::settings::PrewakeUp::lightDuration, settings::SettingsScope::Global);
266
- const auto lightDuration = std::chrono::minutes{utils::toNumeric (value)};
269
+ const auto brightnessValue = utils::frontlight::fixedValToPercentage (utils::toNumeric (brightnessString));
270
+ const auto durationString =
271
+ settings.getValue (bell::settings::PrewakeUp::lightDuration, settings::SettingsScope::Global);
272
+ const auto lightDuration = std::chrono::minutes{utils::toNumeric (durationString)};
267
273
const auto mainTargetDuration = lightDuration - frontlightRampDurationOffset - initialTargetDuration;
268
274
269
275
const screen_light_control::functions::LinearProgressFunction startFunction{
270
276
.target = initialZeroBrightnessValue, .duration = initialTargetDuration};
271
- const screen_light_control::functions::LinearProgressFunction endFunction{
272
- . target = static_cast < float >( utils::toNumeric (brightnessString)), .duration = mainTargetDuration};
277
+ const screen_light_control::functions::LinearProgressFunction endFunction{. target = brightnessValue,
278
+ .duration = mainTargetDuration};
273
279
274
280
return screen_light_control::LinearProgressModeParameters{
275
281
.startBrightnessValue = 0 .0f , .functions = {startFunction, endFunction}, .brightnessHysteresis = 0 .0f };
0 commit comments