mirror of
https://github.com/OpenSolo/OpenSolo.git
synced 2025-04-30 14:44:31 +02:00
58 lines
1.4 KiB
Python
Executable File
58 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import socket
|
|
import struct
|
|
import threading
|
|
from sololink import btn_msg
|
|
|
|
HOST = "10.1.1.1"
|
|
PORT = 5016
|
|
|
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
print "connecting to", HOST, ":", PORT, "...",
|
|
s.connect((HOST, PORT))
|
|
print "OK"
|
|
|
|
def in_thread(s):
|
|
while True:
|
|
msg = btn_msg.recv(s)
|
|
if msg is None:
|
|
print "received \"None\""
|
|
break
|
|
elif len(msg) != 4:
|
|
print "received funky message: ", str(msg)
|
|
else:
|
|
print "received:", msg[0], \
|
|
btn_msg.ButtonName[msg[1]], \
|
|
btn_msg.EventName[msg[2]], msg[3]
|
|
if btn_msg.msg_buf_long != 0:
|
|
print "btn_msg.msg_buf_long=%d!" % btn_msg.msg_buf_long
|
|
btn_msg.msg_buf_long = 0
|
|
if btn_msg.msg_buf_short != 0:
|
|
print "btn_msg.msg_buf_short=%d!" % btn_msg.msg_buf_short
|
|
btn_msg.msg_buf_short = 0
|
|
|
|
in_id = threading.Thread(target=in_thread, args=(s,))
|
|
in_id.daemon = True
|
|
in_id.start()
|
|
|
|
format = 1
|
|
while True:
|
|
|
|
desc = raw_input()
|
|
|
|
# allow changing which message goes out
|
|
if desc == "1":
|
|
format = 1
|
|
continue;
|
|
elif desc == "2":
|
|
format = 2
|
|
continue;
|
|
|
|
if format == 1:
|
|
button_id = btn_msg.ButtonA
|
|
shot_id = 0
|
|
btn_msg.sendArtooString(s, button_id, shot_id, desc + "\0")
|
|
elif format == 2:
|
|
btn_msg.sendShotString(s, desc + "\0")
|