aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorFraxinas <andreas.frisch@multimedia-labs.de>2009-05-27 11:36:01 +0200
committerFraxinas <andreas.frisch@multimedia-labs.de>2009-05-27 11:36:01 +0200
commit51e789a04f758941668b095fd8b051db2ce58281 (patch)
tree2880f280e7f1006f7df12508e3b871c54442d304 /lib/python
parent8e60bdc64c73787b8e7955a6a99ad5afe4a071ef (diff)
parent26a9b45a2a0e746739b8fa2ef339dbd716257a0c (diff)
downloadenigma2-51e789a04f758941668b095fd8b051db2ce58281.tar.gz
enigma2-51e789a04f758941668b095fd8b051db2ce58281.zip
Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/EpgList.py29
-rw-r--r--lib/python/Components/Renderer/FrontpanelLed.py3
-rw-r--r--lib/python/Components/SystemInfo.py17
-rw-r--r--lib/python/Screens/SessionGlobals.py16
4 files changed, 47 insertions, 18 deletions
diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py
index fa60400f..59f92621 100644
--- a/lib/python/Components/EpgList.py
+++ b/lib/python/Components/EpgList.py
@@ -163,9 +163,17 @@ class EPGList(HTMLComponent, GUIComponent):
return self.clock_post_pixmap
else:
return self.clock_prepost_pixmap
+
+ def getPixmapForEntry(self, service, eventId, beginTime, duration):
+ rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service))
+ if rec:
+ clock_pic = self.getClockPixmap(service, beginTime, duration, eventId)
+ else:
+ clock_pic = None
+ return (clock_pic, rec)
def buildSingleEntry(self, service, eventId, beginTime, duration, EventName):
- rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service))
+ (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration)
r1=self.weekday_rect
r2=self.datetime_rect
r3=self.descr_rect
@@ -176,7 +184,6 @@ class EPGList(HTMLComponent, GUIComponent):
(eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4]))
]
if rec:
- clock_pic = self.getClockPixmap(service, beginTime, duration, eventId)
res.extend((
(eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
(eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName)
@@ -186,7 +193,7 @@ class EPGList(HTMLComponent, GUIComponent):
return res
def buildSimilarEntry(self, service, eventId, beginTime, service_name, duration):
- rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service))
+ (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration)
r1=self.weekday_rect
r2=self.datetime_rect
r3=self.service_rect
@@ -197,7 +204,6 @@ class EPGList(HTMLComponent, GUIComponent):
(eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4]))
]
if rec:
- clock_pic = self.getClockPixmap(service, beginTime, duration, eventId)
res.extend((
(eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic),
(eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, service_name)
@@ -206,25 +212,24 @@ class EPGList(HTMLComponent, GUIComponent):
res.append((eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, service_name))
return res
- def buildMultiEntry(self, changecount, service, eventId, begTime, duration, EventName, nowTime, service_name):
- rec=begTime and (self.timer.isInTimer(eventId, begTime, duration, service))
+ def buildMultiEntry(self, changecount, service, eventId, beginTime, duration, EventName, nowTime, service_name):
+ (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration)
r1=self.service_rect
r2=self.progress_rect
r3=self.descr_rect
r4=self.start_end_rect
res = [ None ] # no private data needed
if rec:
- clock_pic = self.getClockPixmap(service, begTime, duration, eventId)
res.extend((
(eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width()-21, r1.height(), 0, RT_HALIGN_LEFT, service_name),
(eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r1.left()+r1.width()-16, r1.top(), 21, 21, clock_pic)
))
else:
res.append((eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width(), r1.height(), 0, RT_HALIGN_LEFT, service_name))
- if begTime is not None:
- if nowTime < begTime:
- begin = localtime(begTime)
- end = localtime(begTime+duration)
+ if beginTime is not None:
+ if nowTime < beginTime:
+ begin = localtime(beginTime)
+ end = localtime(beginTime+duration)
# print "begin", begin
# print "end", end
res.extend((
@@ -232,7 +237,7 @@ class EPGList(HTMLComponent, GUIComponent):
(eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName)
))
else:
- percent = (nowTime - begTime) * 100 / duration
+ percent = (nowTime - beginTime) * 100 / duration
res.extend((
(eListboxPythonMultiContent.TYPE_PROGRESS, r2.left(), r2.top(), r2.width(), r2.height(), percent),
(eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName)
diff --git a/lib/python/Components/Renderer/FrontpanelLed.py b/lib/python/Components/Renderer/FrontpanelLed.py
index 3021a853..f896ecde 100644
--- a/lib/python/Components/Renderer/FrontpanelLed.py
+++ b/lib/python/Components/Renderer/FrontpanelLed.py
@@ -22,7 +22,8 @@ class FrontpanelLed(Element):
pass
if self.which == 0:
try:
- open("/proc/stb/fp/led_pattern", "w").write("%08x" % pattern_4bit)
+ open("/proc/stb/fp/led_set_pattern", "w").write("%08x" % pattern_4bit)
+ open("/proc/stb/fp/led_set_speed", "w").write("%d" % speed)
except IOError:
pass
try:
diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py
index d074c414..d2b405a2 100644
--- a/lib/python/Components/SystemInfo.py
+++ b/lib/python/Components/SystemInfo.py
@@ -1,10 +1,10 @@
from enigma import eDVBResourceManager
+from Tools.Directories import fileExists
SystemInfo = { }
#FIXMEE...
def getNumVideoDecoders():
- from Tools.Directories import fileExists
idx = 0
while fileExists("/dev/dvb/adapter0/video%d"%(idx), 'f'):
idx += 1
@@ -12,3 +12,18 @@ def getNumVideoDecoders():
SystemInfo["NumVideoDecoders"] = getNumVideoDecoders()
SystemInfo["CanMeasureFrontendInputPower"] = eDVBResourceManager.getInstance().canMeasureFrontendInputPower()
+
+
+def countFrontpanelLEDs():
+ leds = 0
+ if fileExists("/proc/stb/fp/led_set_pattern"):
+ leds += 1
+
+ while fileExists("/proc/stb/fp/led%d_pattern" % leds):
+ leds += 1
+
+ return leds
+
+SystemInfo["NumFrontpanelLEDs"] = countFrontpanelLEDs()
+SystemInfo["FrontpanelDisplay"] = fileExists("/dev/dbox/oled0") or fileExists("/dev/dbox/lcd0")
+SystemInfo["FrontpanelDisplayGrayscale"] = fileExists("/dev/dbox/oled0")
diff --git a/lib/python/Screens/SessionGlobals.py b/lib/python/Screens/SessionGlobals.py
index f2d56154..18d71d39 100644
--- a/lib/python/Screens/SessionGlobals.py
+++ b/lib/python/Screens/SessionGlobals.py
@@ -22,6 +22,9 @@ class SessionGlobals(Screen):
self["TunerInfo"] = TunerInfo()
self["RecordState"] = RecordState(session)
self["Standby"] = Boolean(fixed = False)
+
+ from Components.SystemInfo import SystemInfo
+
combine = Combine(func = lambda s: {(False, False): 0, (False, True): 1, (True, False): 2, (True, True): 3}[(s[0].boolean, s[1].boolean)])
combine.connect(self["Standby"])
combine.connect(self["RecordState"])
@@ -33,9 +36,14 @@ class SessionGlobals(Screen):
# false true on off off
# true true blnk off blnk
- PATTERN_ON = (20, 0xffffffff, 0)
- PATTERN_OFF = (20, 0, 0xffffffff)
+ PATTERN_ON = (20, 0xffffffff, 0xffffffff)
+ PATTERN_OFF = (20, 0, 0)
PATTERN_BLINK = (20, 0x55555555, 0x84fc8c04)
- FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_ON, PATTERN_BLINK]).connect(combine)
- FrontpanelLed(which = 1, boolean = False, patterns = [PATTERN_ON, PATTERN_ON, PATTERN_OFF, PATTERN_OFF]).connect(combine)
+ nr_leds = SystemInfo.get("NumFrontpanelLEDs", 0)
+
+ if nr_leds == 1:
+ FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_OFF, PATTERN_BLINK]).connect(combine)
+ elif nr_leds == 2:
+ FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_ON, PATTERN_BLINK]).connect(combine)
+ FrontpanelLed(which = 1, boolean = False, patterns = [PATTERN_ON, PATTERN_ON, PATTERN_OFF, PATTERN_OFF]).connect(combine)