@@ -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
@@ -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()
|
||||
|
||||
@@ -852,6 +852,7 @@ enum FunctionsActive {
|
||||
#endif
|
||||
FUNCTION_BACKGND_MUSIC,
|
||||
FUNCTION_BACKGND_MUSIC_PAUSE,
|
||||
FUNCTION_BACKLIGHT,
|
||||
};
|
||||
|
||||
#define VARIO_FREQUENCY_ZERO 700/*Hz*/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(...)
|
||||
|
||||
Reference in New Issue
Block a user