From: Chang.H.S Date: Thu, 8 Dec 2011 08:18:45 +0000 (+0900) Subject: LED Brightness Setup : setLED is moved in eDBoxLCD, fix integer to slider. X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=79eefcec68bd34b93dddd73e411f360859273bc4 LED Brightness Setup : setLED is moved in eDBoxLCD, fix integer to slider. --- diff --git a/lib/gdi/lcd.cpp b/lib/gdi/lcd.cpp index 794e9ab..931d41c 100755 --- a/lib/gdi/lcd.cpp +++ b/lib/gdi/lcd.cpp @@ -124,6 +124,23 @@ void eDBoxLCD::setInverted(unsigned char inv) update(); } +int eDBoxLCD::setLED(int value, int option) +{ + switch(option) + { + case LED_BRIGHTNESS: + ioctl(lcdfd, LED_IOCTL_BRIGHTNESS_NORMAL, (unsigned char)value); + break; + case LED_DEEPSTANDBY: + ioctl(lcdfd, LED_IOCTL_BRIGHTNESS_DEEPSTANDBY, (unsigned char)value); + break; + case LED_BLINKINGTIME: + ioctl(lcdfd, LED_IOCTL_BLINKING_TIME, (unsigned char)value); + break; + } + return 0; +} + int eDBoxLCD::setLCDContrast(int contrast) { #ifndef NO_LCD diff --git a/lib/gdi/lcd.h b/lib/gdi/lcd.h old mode 100644 new mode 100755 index e7b4c2c..9b83352 --- a/lib/gdi/lcd.h +++ b/lib/gdi/lcd.h @@ -10,6 +10,12 @@ #define LCD_BRIGHTNESS_MIN 0 #define LCD_BRIGHTNESS_MAX 255 +enum op { LED_BRIGHTNESS = 0, LED_DEEPSTANDBY, LED_BLINKINGTIME }; + +#define LED_IOCTL_BRIGHTNESS_NORMAL 0X10 +#define LED_IOCTL_BRIGHTNESS_DEEPSTANDBY 0X11 +#define LED_IOCTL_BLINKING_TIME 0X12 + class eLCD { #ifdef SWIG @@ -54,6 +60,7 @@ public: ~eDBoxLCD(); #endif static eDBoxLCD *getInstance(); + int setLED(int value, int option); int setLCDContrast(int contrast); int setLCDBrightness(int brightness); void setInverted( unsigned char ); diff --git a/lib/python/Components/Lcd.py b/lib/python/Components/Lcd.py old mode 100644 new mode 100755 diff --git a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/Makefile.am b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/Makefile.am index 371b83f..ef06b49 100644 --- a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/Makefile.am +++ b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/Makefile.am @@ -4,6 +4,4 @@ SUBDIRS = meta install_PYTHON = \ __init__.py \ - plugin.py \ - _ledsetup.so \ - ledsetup.py + plugin.py diff --git a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/_ledsetup.so b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/_ledsetup.so deleted file mode 100755 index 810b2bc..0000000 Binary files a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/_ledsetup.so and /dev/null differ diff --git a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/ledsetup.py b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/ledsetup.py deleted file mode 100644 index ad23636..0000000 --- a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/ledsetup.py +++ /dev/null @@ -1,74 +0,0 @@ -# This file was automatically generated by SWIG (http://www.swig.org). -# Version 1.3.39 -# -# Do not make changes to this file unless you know what you are doing--modify -# the SWIG interface file instead. -# This file is compatible with both classic and new-style classes. - -from sys import version_info -if version_info >= (2,6,0): - def swig_import_helper(): - from os.path import dirname - import imp - fp = None - try: - fp, pathname, description = imp.find_module('_ledsetup', [dirname(__file__)]) - except ImportError: - import _ledsetup - return _ledsetup - if fp is not None: - try: - _mod = imp.load_module('_ledsetup', fp, pathname, description) - finally: - fp.close() - return _mod - _ledsetup = swig_import_helper() - del swig_import_helper -else: - import _ledsetup -del version_info -try: - _swig_property = property -except NameError: - pass # Python < 2.2 doesn't have 'property'. -def _swig_setattr_nondynamic(self,class_type,name,value,static=1): - if (name == "thisown"): return self.this.own(value) - if (name == "this"): - if type(value).__name__ == 'SwigPyObject': - self.__dict__[name] = value - return - method = class_type.__swig_setmethods__.get(name,None) - if method: return method(self,value) - if (not static) or hasattr(self,name): - self.__dict__[name] = value - else: - raise AttributeError("You cannot add attributes to %s" % self) - -def _swig_setattr(self,class_type,name,value): - return _swig_setattr_nondynamic(self,class_type,name,value,0) - -def _swig_getattr(self,class_type,name): - if (name == "thisown"): return self.this.own() - method = class_type.__swig_getmethods__.get(name,None) - if method: return method(self) - raise AttributeError(name) - -def _swig_repr(self): - try: strthis = "proxy of " + self.this.__repr__() - except: strthis = "" - return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) - -try: - _object = object - _newclass = 1 -except AttributeError: - class _object : pass - _newclass = 0 - - - -def LEDUpdate(*args): - return _ledsetup.LEDUpdate(*args) -LEDUpdate = _ledsetup.LEDUpdate - - diff --git a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py index 8221d80..a679237 100755 --- a/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/LEDBrightnessSetup/plugin.py @@ -1,19 +1,21 @@ from Screens.Screen import Screen from Components.ConfigList import ConfigListScreen -from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigInteger +from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigSlider from Components.ActionMap import ActionMap from Components.Sources.StaticText import StaticText +from Components.Label import Label from Plugins.Plugin import PluginDescriptor from Screens.MessageBox import MessageBox from Tools.Directories import fileExists from enigma import eTimer +from enigma import eDBoxLCD from ledsetup import LEDUpdate config.plugins.brightnesssetup = ConfigSubsection() -config.plugins.brightnesssetup.brightness = ConfigInteger(default = 1, limits = (1,15)) -config.plugins.brightnesssetup.brightnessstandby = ConfigInteger(default = 5, limits = (1,15)) -config.plugins.brightnesssetup.brightnessdeepstandby = ConfigInteger(default = 5, limits = (1,15)) -config.plugins.brightnesssetup.blinkingtime = ConfigInteger(default = 5, limits = (1,15)) +config.plugins.brightnesssetup.brightness = ConfigSlider(default = 1, increment = 1, limits = (0,15)) +config.plugins.brightnesssetup.brightnessstandby = ConfigSlider(default = 1, increment = 1, limits = (0,15)) +config.plugins.brightnesssetup.brightnessdeepstandby = ConfigSlider(default = 5, increment = 1, limits = (0,15)) +config.plugins.brightnesssetup.blinkingtime = ConfigSlider(default = 5, increment = 1, limits = (0,15)) class LEDOption: BRIGHTNESS = 0 @@ -29,34 +31,31 @@ class LEDBrightnessSetupStandby: from Screens.Standby import inStandby inStandby.onClose.append(self.StandbyEnd) brightness = int(config.plugins.brightnesssetup.brightnessstandby.value) - LEDUpdate(brightness ,LEDOption.BRIGHTNESS) + eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS) def StandbyEnd(self): brightness = int(config.plugins.brightnesssetup.brightness.value) - LEDUpdate(brightness ,LEDOption.BRIGHTNESS) + eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS) def initLEDSetup(self): brightness = int(config.plugins.brightnesssetup.brightness.value) brightnessstandby = int(config.plugins.brightnesssetup.brightnessdeepstandby.value) blinkingtime = int(config.plugins.brightnesssetup.blinkingtime.value) - cmdList = [] - cmdList.append( (brightness,LEDOption.BRIGHTNESS) ) - cmdList.append( (brightnessstandby,LEDOption.DEEPSTANDBY) ) - cmdList.append( (blinkingtime,LEDOption.BLINKINGTIME) ) - for ( value, option ) in cmdList: - ret = LEDUpdate(value ,option) - if ret != 0: - print "DEVICE OPEN ERROR" - break; + eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS) + eDBoxLCD.getInstance().setLED(brightnessstandby ,LEDOption.DEEPSTANDBY) + eDBoxLCD.getInstance().setLED(blinkingtime ,LEDOption.BLINKINGTIME) class LEDBrightnessSetup(Screen,ConfigListScreen): skin = """ - + - - - - + + + + + + + """ def __init__(self,session): @@ -68,15 +67,31 @@ class LEDBrightnessSetup(Screen,ConfigListScreen): "cancel": self.keyCancel, "red": self.keyCancel, "green": self.keySave, + "yellow": self.keyDefault, }, -2) self.list = [] ConfigListScreen.__init__(self, self.list,session = self.session) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Ok")) + self["key_yellow"] = StaticText(_("Defalut")) + self["current_entry"]=Label("") self.createSetup() self.onLayoutFinish.append(self.checkModel) self.checkModelTimer = eTimer() self.checkModelTimer.callback.append(self.invalidmodel) + if not self.displayText in self["config"].onSelectionChanged: + self["config"].onSelectionChanged.append(self.displayText) + + def displayText(self): + if self["config"].getCurrent() == self.brightness: + self["current_entry"].setText("Touch LED Brightness at Normal state") + elif self["config"].getCurrent() == self.brightness_standby: + self["current_entry"].setText("Touch LED Brightness at Standby") + elif self["config"].getCurrent() == self.brightness_deepstandby: + self["current_entry"].setText("Touch LED Brightness at Deep Standby") + elif self["config"].getCurrent() == self.blinkingtime: + self["current_entry"].setText("Touch LED Blinking time") + self.setCurrentValue() def getModel(self): if fileExists("/proc/stb/info/vumodel"): @@ -97,13 +112,12 @@ class LEDBrightnessSetup(Screen,ConfigListScreen): def invalidmodel(self): self.session.openWithCallback(self.close, MessageBox, _("This Plugin only support for ULTIMO"), MessageBox.TYPE_ERROR, timeout = 30) - def createSetup(self): self.list = [] - self.brightness = getConfigListEntry(_("Touch LED brightness at normal state"), config.plugins.brightnesssetup.brightness) - self.brightness_standby = getConfigListEntry(_("Touch LED brightness at Standby"), config.plugins.brightnesssetup.brightnessstandby) - self.brightness_deepstandby = getConfigListEntry(_("Touch LED brightness at Deep Standby"), config.plugins.brightnesssetup.brightnessdeepstandby) - self.blinkingtime = getConfigListEntry(_("Touch LED blinking time"), config.plugins.brightnesssetup.blinkingtime) + self.brightness = getConfigListEntry(_("Normal state"), config.plugins.brightnesssetup.brightness) + self.brightness_standby = getConfigListEntry(_("Standby"), config.plugins.brightnesssetup.brightnessstandby) + self.brightness_deepstandby = getConfigListEntry(_("Deep Standby"), config.plugins.brightnesssetup.brightnessdeepstandby) + self.blinkingtime = getConfigListEntry(_("Blinking time"), config.plugins.brightnesssetup.blinkingtime) self.list.append( self.brightness ) self.list.append( self.brightness_standby ) self.list.append( self.brightness_deepstandby ) @@ -111,24 +125,50 @@ class LEDBrightnessSetup(Screen,ConfigListScreen): self["config"].list = self.list self["config"].l.setList(self.list) + def setCurrentValue(self): + if self["config"].getCurrent() == self.blinkingtime: + eDBoxLCD.getInstance().setLED(1 ,LEDOption.BRIGHTNESS) + eDBoxLCD.getInstance().setLED(self["config"].getCurrent()[1].value ,LEDOption.BLINKINGTIME) + else: + eDBoxLCD.getInstance().setLED(self["config"].getCurrent()[1].value ,LEDOption.BRIGHTNESS) + + def keyLeft(self): + ConfigListScreen.keyLeft(self) + self.setCurrentValue() + + def keyRight(self): + ConfigListScreen.keyRight(self) + self.setCurrentValue() + def saveLEDSetup(self): - brightness = int(config.plugins.brightnesssetup.brightness.value) - brightnessstandby = int(config.plugins.brightnesssetup.brightnessdeepstandby.value) - blinkingtime = int(config.plugins.brightnesssetup.blinkingtime.value) - cmdList = [] - cmdList.append( (brightness,LEDOption.BRIGHTNESS) ) - cmdList.append( (brightnessstandby,LEDOption.DEEPSTANDBY) ) - cmdList.append( (blinkingtime,LEDOption.BLINKINGTIME) ) - for ( value, option ) in cmdList: - ret = LEDUpdate(value ,option) - if ret != 0: - self.session.open(MessageBox, "DEVICE OPEN ERROR", type = MessageBox.TYPE_ERROR, timeout = 30) - break; + brightness = config.plugins.brightnesssetup.brightness.value + brightnessstandby = config.plugins.brightnesssetup.brightnessdeepstandby.value + blinkingtime = config.plugins.brightnesssetup.blinkingtime.value + eDBoxLCD.getInstance().setLED(brightness ,LEDOption.BRIGHTNESS) + eDBoxLCD.getInstance().setLED(brightnessstandby ,LEDOption.DEEPSTANDBY) + eDBoxLCD.getInstance().setLED(blinkingtime ,LEDOption.BLINKINGTIME) def keySave(self): - self.saveLEDSetup() + if self["config"].isChanged(): + self.saveLEDSetup() ConfigListScreen.keySave(self) + def keyDefault(self): + config.plugins.brightnesssetup.brightness.setValue(1) + config.plugins.brightnesssetup.brightnessstandby.setValue(1) + config.plugins.brightnesssetup.brightnessdeepstandby.setValue(5) + config.plugins.brightnesssetup.blinkingtime.setValue(5) + for entry in self["config"].getList(): + self["config"].l.invalidateEntry(self["config"].getList().index(entry)) + + def cancelConfirm(self, result): + if not result: + return + for x in self["config"].list: + x[1].cancel() + self.saveLEDSetup() + self.close() + def main(session, **kwargs): session.open(LEDBrightnessSetup)