-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanualSign.py
executable file
·74 lines (67 loc) · 1.94 KB
/
manualSign.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env python
# SDC in the place to B
import sys
import re
import time
import alphasign
from alphasign.modes import *
import random
USB_PORT = "/dev/tty.usbserial-A500STEQ"
modes = [TWINKLE,
SPARKLE,
SNOW,
INTERLOCK,
SWITCH,
SPRAY,
STARBURST,
WELCOME,
SLOT_MACHINE,
THANK_YOU,
RUNNING_ANIMAL,
FIREWORKS,
TURBO_CAR,
BALLOON_ANIMATION,
CHERRY_BOMB,
ROTATE,
HOLD,
ROLL_UP,
ROLL_DOWN,
ROLL_LEFT,
ROLL_RIGHT,
WIPE_UP,
WIPE_DOWN,
WIPE_LEFT,
WIPE_RIGHT,
SCROLL,
AUTOMODE,ROLL_IN,
ROLL_OUT,
WIPE_IN,
WIPE_OUT,
COMPRESSED_ROTATE,
EXPLODE
]
class SignBotFactory():
def __init__(self):
self.sign = alphasign.Serial(USB_PORT)
self.sign.connect()
# self.sign.clear_memory()
self.message_str = alphasign.String(size = 140, label = "2")
self.message_txt = alphasign.Text("%s" % self.message_str.call(), label="B", mode = alphasign.modes.TWINKLE)
#message_txt = alphasign.Text("%s%s" % (alphasign.colors.GREEN,message_str.call()), label="B", mode = alphasign.modes.ROTATE)
self.message_str.data = "Make me say things!"
# allocate memory for these objects on the sign
self.sign.allocate((self.message_str, self.message_txt ))
self.sign.set_run_sequence((self.message_txt,))
self.sign.write(self.message_txt)
self.sign.write(self.message_str)
def writeMessage(self,message):
self.message_str.data = message
mode = modes[random.randrange(len(modes))]
self.message_txt.mode = mode
self.sign.write(self.message_txt)
self.sign.write(self.message_str)
if __name__ == "__main__":
sbf = SignBotFactory()
while True:
say = raw_input()
sbf.writeMessage(say)