优化闪烁和呼吸最低亮度
This commit is contained in:
@@ -6,6 +6,7 @@ volatile uint8_t Light_Transition_FadeActive;
|
||||
|
||||
#define LIGHT_FADE_STEP 1U
|
||||
#define BRIGHTNESS_SMOOTH_SHIFT 4U
|
||||
#define BREATH_MIN_OUTPUT 1U
|
||||
|
||||
/*
|
||||
* Gamma 1.8, mapping APP levels 1..100 to a stable physical range of
|
||||
@@ -94,8 +95,25 @@ void Light_Transition_Task(void)
|
||||
(uint16_t)(((uint32_t)W_PWM * brightness_scale + 2048U) >> 12);
|
||||
target_c =
|
||||
(uint16_t)(((uint32_t)C_PWM * brightness_scale + 2048U) >> 12);
|
||||
W_PWM_duty = approach_target(W_PWM_duty, target_w);
|
||||
C_PWM_duty = approach_target(C_PWM_duty, target_c);
|
||||
|
||||
if(Mode == mode1 && target_brightness != 0U)
|
||||
{
|
||||
if(W_PWM != 0U && target_w < BREATH_MIN_OUTPUT)
|
||||
target_w = BREATH_MIN_OUTPUT;
|
||||
if(C_PWM != 0U && target_c < BREATH_MIN_OUTPUT)
|
||||
target_c = BREATH_MIN_OUTPUT;
|
||||
}
|
||||
|
||||
if(Mode == mode2 && deviceStatus != POWEROFF)
|
||||
{
|
||||
W_PWM_duty = target_w;
|
||||
C_PWM_duty = target_c;
|
||||
}
|
||||
else
|
||||
{
|
||||
W_PWM_duty = approach_target(W_PWM_duty, target_w);
|
||||
C_PWM_duty = approach_target(C_PWM_duty, target_c);
|
||||
}
|
||||
|
||||
Light_Transition_FadeActive =
|
||||
deviceStatus == POWEROFF && (W_PWM_duty != 0U || C_PWM_duty != 0U);
|
||||
|
||||
Reference in New Issue
Block a user