diff options
author | Karel Kočí <karel.koci@nic.cz> | 2017-07-18 20:11:12 +0200 |
---|---|---|
committer | Karel Kočí <karel.koci@nic.cz> | 2017-07-19 10:15:02 +0200 |
commit | dd8bcc2da80d15280b9aa94cec648fbdac576cc3 (patch) | |
tree | bac1f0e7b71b18414753e4ddfb507d70b79a0923 /turtetris_slave | |
parent | 0a9a2fd752b03e1796ed6ce110ee939f0eb773e6 (diff) | |
download | turris-tetris-dd8bcc2da80d15280b9aa94cec648fbdac576cc3.tar.gz turris-tetris-dd8bcc2da80d15280b9aa94cec648fbdac576cc3.tar.bz2 turris-tetris-dd8bcc2da80d15280b9aa94cec648fbdac576cc3.zip |
Add matrix
Diffstat (limited to 'turtetris_slave')
-rw-r--r-- | turtetris_slave/__init__.py | 31 | ||||
-rw-r--r-- | turtetris_slave/__main__.py | 3 | ||||
-rw-r--r-- | turtetris_slave/leds.py | 38 |
3 files changed, 72 insertions, 0 deletions
diff --git a/turtetris_slave/__init__.py b/turtetris_slave/__init__.py new file mode 100644 index 0000000..5779dee --- /dev/null +++ b/turtetris_slave/__init__.py @@ -0,0 +1,31 @@ +import json +import zmq +from subprocess import check_output +from . import leds + + +def socket_init(line): + "Initialize socket for given line" + context = zmq.Context() + socket = context.socket(zmq.SUB) + socket.subscribe('line' + str(line)) + # socket.setsockopt_string(zmq.SUBSCRIBE, 'line' + str(line)) + socket.connect('tcp://192.168.2.1:4444') # TODO change to 192.168.1.1 + return socket + + +def main(): + "Main function" + line = int(check_output("uci get turtetris.line", shell=True)) + print("Starting turtetris client and connecting as line " + str(line)) + sck = socket_init(line) + leds.prepare() + while True: + msg = sck.recv_string() + print(msg) + json0 = msg.find(' ') # First empty char is end of envelope + leds.output(json.loads(msg[json0:])) + + +if __name__ == '__main__': + main() diff --git a/turtetris_slave/__main__.py b/turtetris_slave/__main__.py new file mode 100644 index 0000000..8273c4f --- /dev/null +++ b/turtetris_slave/__main__.py @@ -0,0 +1,3 @@ +from . import main + +main() diff --git a/turtetris_slave/leds.py b/turtetris_slave/leds.py new file mode 100644 index 0000000..cdafca2 --- /dev/null +++ b/turtetris_slave/leds.py @@ -0,0 +1,38 @@ +from subprocess import call + + +def prepare(): + "Prepare leds" + call("rainbow all enable intensity 10 FFFFFF", shell=True) + + +def clear(): + "Clear previous changes" + call("rainbow all auto", shell=True) + + +__MAP__ = [ + 'pwr', + 'lan0', + 'lan1', + 'lan2', + 'lan3', + 'lan4', + 'wan', + 'pci1', + 'pci2', + 'pci3', + 'usr1', + 'usr2' +] + + +def output(data): + "Output received data to leds" + args = ['rainbow'] + for i in range(0, 12): + args.append(__MAP__[i]) + args.append(str(data[i]['color'])) + args.append('intensity') + args.append(str(data[i]['intens'])) + call(args) |