18 Listens to enclosure commands for Mycroft's Eyes. 20 Performs the associated command on Arduino by writing on the Serial port. 29 self.bus.on(
'enclosure.eyes.on', self.
on)
30 self.bus.on(
'enclosure.eyes.off', self.
off)
31 self.bus.on(
'enclosure.eyes.blink', self.
blink)
32 self.bus.on(
'enclosure.eyes.narrow', self.
narrow)
33 self.bus.on(
'enclosure.eyes.look', self.
look)
34 self.bus.on(
'enclosure.eyes.color', self.
color)
35 self.bus.on(
'enclosure.eyes.level', self.
brightness)
36 self.bus.on(
'enclosure.eyes.volume', self.
volume)
37 self.bus.on(
'enclosure.eyes.spin', self.
spin)
38 self.bus.on(
'enclosure.eyes.timedspin', self.
timed_spin)
39 self.bus.on(
'enclosure.eyes.reset', self.
reset)
40 self.bus.on(
'enclosure.eyes.setpixel', self.
set_pixel)
41 self.bus.on(
'enclosure.eyes.fill', self.
fill)
43 def on(self, event=None):
44 self.writer.write(
"eyes.on")
46 def off(self, event=None):
47 self.writer.write(
"eyes.off")
51 if event
and event.data:
52 side = event.data.get(
"side", side)
53 self.writer.write(
"eyes.blink=" + side)
56 self.writer.write(
"eyes.narrow")
58 def look(self, event=None):
59 if event
and event.data:
60 side = event.data.get(
"side",
"")
61 self.writer.write(
"eyes.look=" + side)
64 r, g, b = 255, 255, 255
65 if event
and event.data:
66 r = int(event.data.get(
"r", r)) 67 g = int(event.data.get("g", g))
68 b = int(event.data.get(
"b", b))
69 color = (r * 65536) + (g * 256) + b
70 self.writer.write(
"eyes.color=" + str(color))
74 r, g, b = 255, 255, 255
75 if event
and event.data:
76 idx = int(event.data.get(
"idx", idx))
77 r = int(event.data.get(
"r", r)) 78 g = int(event.data.get("g", g))
79 b = int(event.data.get(
"b", b))
80 color = (r * 65536) + (g * 256) + b
81 self.writer.write(
"eyes.set=" + str(idx) +
"," + str(color))
83 def fill(self, event=None):
85 if event
and event.data:
86 percent = int(event.data.get(
"percentage", 0))
87 amount = int(round(23.0 * percent / 100.0))
88 self.writer.write(
"eyes.fill=" + str(amount))
92 if event
and event.data:
93 level = event.data.get(
"level", level)
94 self.writer.write(
"eyes.level=" + str(level))
98 if event
and event.data:
99 volume = event.data.get(
"volume", volume)
100 self.writer.write(
"eyes.volume=" + str(volume))
103 self.writer.write(
"eyes.reset")
106 self.writer.write(
"eyes.spin")
110 if event
and event.data:
111 length = event.data.get(
"length", length)
112 self.writer.write(
"eyes.spin=" + str(length))
def color(self, event=None)
def brightness(self, event=None)
def set_pixel(self, event=None)
def volume(self, event=None)
def narrow(self, event=None)
def blink(self, event=None)
def __init__(self, bus, writer)
def fill(self, event=None)
def spin(self, event=None)
def timed_spin(self, event=None)
def off(self, event=None)
def look(self, event=None)
def reset(self, event=None)