blink frontpanel led when record is running
authorFelix Domke <tmbinc@elitedvb.net>
Sat, 23 Feb 2008 10:08:15 +0000 (10:08 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Sat, 23 Feb 2008 10:08:15 +0000 (10:08 +0000)
lib/python/Components/Renderer/FrontpanelLed.py [new file with mode: 0644]
lib/python/Components/Renderer/Makefile.am
lib/python/Screens/SessionGlobals.py

diff --git a/lib/python/Components/Renderer/FrontpanelLed.py b/lib/python/Components/Renderer/FrontpanelLed.py
new file mode 100644 (file)
index 0000000..cf4b022
--- /dev/null
@@ -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
index eb55ad624ebe9c15d1aa1b5e098c2f99cf0919c0..371c8d7218cdd135c252dc0d653660333c464c68 100644 (file)
@@ -2,4 +2,5 @@ installdir = $(LIBDIR)/enigma2/python/Components/Renderer
 
 install_PYTHON = \
        __init__.py Label.py Progress.py Listbox.py Renderer.py Pixmap.py \
 
 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
index 3eadf3329050a4c9d0fc465d8e91c0299f7ed566..a9636cacc8df03696921a1411bb8afab7137248f 100644 (file)
@@ -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.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):
 
 class SessionGlobals(Screen):
        def __init__(self, session):
@@ -22,6 +23,8 @@ class SessionGlobals(Screen):
                session.nav.event.append(self.serviceEvent)
                self.service_state = 0
 
                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
        def serviceEvent(self, evt):
                if evt == iPlayableService.evStart:
                        self.service_state = 1