1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
from Components.Element import Element
# this is not a GUI renderer.
class FrontpanelLed(Element):
def __init__(self, which = 0, patterns = [(20, 0, 0xffffffff),(20, 0x55555555, 0x84fc8c04)], boolean = True):
self.which = which
self.boolean = boolean
self.patterns = patterns
Element.__init__(self)
def changed(self, *args, **kwargs):
if self.boolean:
val = self.source.boolean and 0 or 1
else:
val = self.source.value
(speed, pattern, pattern_4bit) = self.patterns[val]
try:
open("/proc/stb/fp/led%d_pattern" % self.which, "w").write("%08x" % pattern)
except IOError:
pass
if self.which == 0:
try:
open("/proc/stb/fp/led_pattern", "w").write("%08x" % pattern_4bit)
except IOError:
pass
try:
open("/proc/stb/fp/led_pattern_speed", "w").write("%d" % speed)
except IOError:
pass
|