aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Renderer/FrontpanelLed.py
blob: 408f1c971fadfa3758802ce388496cdb801de879 (plain)
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
from Components.Element import Element

# this is not a GUI renderer.
class FrontpanelLed(Element):
	def __init__(self, which = 0, pattern_on = (20, 0x55555555, 0x84fc8c04), pattern_off = (20, 0, 0xffffffff)):
		self.which = which
		self.pattern_on = pattern_on
		self.pattern_off = pattern_off
		Element.__init__(self)

	def changed(self, *args, **kwargs):
		if self.source.boolean:
			(speed, pattern, pattern_4bit) = self.pattern_on
		else:
			(speed, pattern, pattern_4bit) = self.pattern_off

		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