From: Felix Domke Date: Sat, 23 Feb 2008 10:08:15 +0000 (+0000) Subject: blink frontpanel led when record is running X-Git-Tag: 2.6.0~1502 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/34e9c6040287cab5b5af08d5d6634f2802109436 blink frontpanel led when record is running --- diff --git a/lib/python/Components/Renderer/FrontpanelLed.py b/lib/python/Components/Renderer/FrontpanelLed.py new file mode 100644 index 00000000..cf4b0229 --- /dev/null +++ b/lib/python/Components/Renderer/FrontpanelLed.py @@ -0,0 +1,22 @@ +from Components.Element import Element + +# this is not a GUI renderer. +class FrontpanelLed(Element): + def __init__(self): + Element.__init__(self) + + def changed(self, *args, **kwargs): + print ">> Frontpanel LED changed" + print ">> FP led:", self.source.value + if self.source.value: + pattern = 0x55555555 + speed = 20 + else: + pattern = 0 + speed = 1 + + try: + open("/proc/stb/fp/led0_pattern", "w").write("%08x" % pattern) + open("/proc/stb/fp/led_pattern_speed", "w").write("%d" % speed) + except IOError: + pass diff --git a/lib/python/Components/Renderer/Makefile.am b/lib/python/Components/Renderer/Makefile.am index eb55ad62..371c8d72 100644 --- a/lib/python/Components/Renderer/Makefile.am +++ b/lib/python/Components/Renderer/Makefile.am @@ -2,4 +2,5 @@ installdir = $(LIBDIR)/enigma2/python/Components/Renderer install_PYTHON = \ __init__.py Label.py Progress.py Listbox.py Renderer.py Pixmap.py \ - FixedLabel.py PositionGauge.py Canvas.py Picon.py Pig.py + FixedLabel.py PositionGauge.py Canvas.py Picon.py Pig.py \ + FrontpanelLed.py diff --git a/lib/python/Screens/SessionGlobals.py b/lib/python/Screens/SessionGlobals.py index 3eadf332..a9636cac 100644 --- a/lib/python/Screens/SessionGlobals.py +++ b/lib/python/Screens/SessionGlobals.py @@ -7,6 +7,7 @@ from Components.Sources.FrontendInfo import FrontendInfo from Components.Sources.Source import Source from Components.Sources.TunerInfo import TunerInfo from Components.Sources.RecordState import RecordState +from Components.Renderer.FrontpanelLed import FrontpanelLed class SessionGlobals(Screen): def __init__(self, session): @@ -22,6 +23,8 @@ class SessionGlobals(Screen): session.nav.event.append(self.serviceEvent) self.service_state = 0 + FrontpanelLed().connect(self["RecordState"]) + def serviceEvent(self, evt): if evt == iPlayableService.evStart: self.service_state = 1