Improve new backlight (#8018)

Backlight function improvement
This commit is contained in:
3djc
2020-10-16 16:26:47 +02:00
committed by GitHub
parent c62a9b3a66
commit 596738b968
6 changed files with 28 additions and 11 deletions
+6
View File
@@ -356,6 +356,12 @@ void evalFunctions(const CustomFunctionData * functions, CustomFunctionsContext
case FUNC_BACKLIGHT:
{
newActiveFunctions |= (1u << FUNCTION_BACKLIGHT);
if (!CFN_PARAM(cfn)) { // When no source is set, backlight works like original backlight and turn on regardless of backlight settings
requiredBacklightBright = BACKLIGHT_FORCED_ON;
break;
}
getvalue_t raw = getValue(CFN_PARAM(cfn));
#if defined(COLORLCD)
if (raw == -1024)
+17 -10
View File
@@ -695,20 +695,27 @@ void checkBacklight()
}
}
bool backlightOn = (g_eeGeneral.backlightMode == e_backlight_mode_on || (g_eeGeneral.backlightMode != e_backlight_mode_off && lightOffCounter));
if (flashCounter) {
backlightOn = !backlightOn;
}
if (backlightOn) {
currentBacklightBright = requiredBacklightBright;
if (requiredBacklightBright == BACKLIGHT_FORCED_ON) {
currentBacklightBright = g_eeGeneral.backlightBright;
BACKLIGHT_ENABLE();
}
else {
BACKLIGHT_DISABLE();
bool backlightOn = ((g_eeGeneral.backlightMode == e_backlight_mode_on) ||
(g_eeGeneral.backlightMode != e_backlight_mode_off && lightOffCounter) ||
(g_eeGeneral.backlightMode == e_backlight_mode_off && isFunctionActive(FUNCTION_BACKLIGHT)));
if (flashCounter) {
backlightOn = !backlightOn;
}
if (backlightOn) {
currentBacklightBright = requiredBacklightBright;
BACKLIGHT_ENABLE();
}
else {
BACKLIGHT_DISABLE();
}
}
}
}
void resetBacklightTimeout()
+1
View File
@@ -852,6 +852,7 @@ enum FunctionsActive {
#endif
FUNCTION_BACKGND_MUSIC,
FUNCTION_BACKGND_MUSIC_PAUSE,
FUNCTION_BACKLIGHT,
};
#define VARIO_FREQUENCY_ZERO 700/*Hz*/
+2 -1
View File
@@ -546,7 +546,8 @@ void backlightInit();
#else
void backlightEnable(uint8_t dutyCycle = 0);
#endif
#define BACKLIGHT_LEVEL_MAX 100
#define BACKLIGHT_LEVEL_MAX 100
#define BACKLIGHT_FORCED_ON BACKLIGHT_LEVEL_MAX + 1
#if defined(PCBX12S)
#define BACKLIGHT_LEVEL_MIN 5
#elif defined(RADIO_FAMILY_T16)
+1
View File
@@ -274,6 +274,7 @@ extern "C" {
#define isBacklightEnabled() (PWM->PWM_CH_NUM[0].PWM_CDTY != 100)
#define BACKLIGHT_ENABLE() backlightEnable()
#define BACKLIGHT_DISABLE() backlightDisable()
#define BACKLIGHT_FORCED_ON 101
// ADC driver
#define NUM_POTS 3
+1
View File
@@ -660,6 +660,7 @@ void pwrResetHandler();
void backlightInit();
void backlightDisable();
#define BACKLIGHT_DISABLE() backlightDisable()
#define BACKLIGHT_FORCED_ON 101
uint8_t isBacklightEnabled();
#if !defined(__cplusplus)
#define backlightEnable(...)