- simple_display: allow to set scroll mode

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2017-11-13 21:17:36 +01:00
committed by Thilo Graf
parent e90fe75bd6
commit e2c66890a1
5 changed files with 28 additions and 1 deletions

View File

@@ -260,6 +260,8 @@ class CLCD
void setBrightnessStandby(int);
int getBrightnessStandby();
void setScrollMode(int) { return; }
void setContrast(int);
int getContrast();

View File

@@ -579,6 +579,25 @@ int CLCD::getBrightnessStandby()
return 0;
}
void CLCD::setScrollMode(int scroll)
{
printf("CLCD::%s scroll:%d\n", __func__, scroll);
if (scroll)
{
proc_put("/proc/stb/lcd/initial_scroll_delay", "1000", 4);
proc_put("/proc/stb/lcd/final_scroll_delay", "1000", 4);
proc_put("/proc/stb/lcd/scroll_delay", "150", 3);
proc_put("/proc/stb/lcd/scroll_repeats", "3", 1);
}
else
{
proc_put("/proc/stb/lcd/initial_scroll_delay", "0", 1);
proc_put("/proc/stb/lcd/final_scroll_delay", "0", 1);
proc_put("/proc/stb/lcd/scroll_delay", "0", 1);
proc_put("/proc/stb/lcd/scroll_repeats", "0", 1);
}
}
void CLCD::setPower(int)
{
}

View File

@@ -186,6 +186,8 @@ class CLCD
void setBrightnessDeepStandby(int) { return ; };
int getBrightnessDeepStandby() { return 0; };
void setScrollMode(int scoll);
void setContrast(int);
int getContrast();

View File

@@ -138,6 +138,8 @@ class CVFD
void setBrightnessDeepStandby(int);
int getBrightnessDeepStandby();
void setScrollMode(int) { return; }
void setPower(int);
int getPower();

View File

@@ -164,7 +164,7 @@ int CVfdSetup::showSetup()
vfds->addItem(oj);
//scroll options
oj = new CMenuOptionChooser(LOCALE_LCDMENU_SCROLL, &g_settings.lcd_scroll, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, vfd_enabled);
oj = new CMenuOptionChooser(LOCALE_LCDMENU_SCROLL, &g_settings.lcd_scroll, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, vfd_enabled, this);
oj->setHint("", LOCALE_MENU_HINT_VFD_SCROLL);
vfds->addItem(oj);
@@ -305,6 +305,8 @@ bool CVfdSetup::changeNotify(const neutrino_locale_t OptionName, void * /* data
CVFD::getInstance()->setled();
} else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_LEDCONTROLER_BACKLIGHT_TV)) {
CVFD::getInstance()->setBacklight(g_settings.backlight_tv);
} else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_LCDMENU_SCROLL)) {
CVFD::getInstance()->setScrollMode(g_settings.lcd_scroll);
}
return false;