Added user interface elements for magnetometer calibration

This commit is contained in:
2021-08-23 01:02:53 +02:00
parent 244aaa8e89
commit bcadc3f273
3 changed files with 98 additions and 28 deletions
+26 -23
View File
@@ -74,29 +74,32 @@ class ClientConnectionThread(Thread):
def run(self):
msg = ''
while True:
raw_msg = self.client_socket.recv(2048).decode()
# Check for end of stream
if raw_msg == "":
self.client_socket.close()
if self._cage_dev:
self._cage_dev.close()
g.MAGNETOMETER.connected = False
return
# Process message
for char in raw_msg:
if char == '\n':
msg = msg.rstrip() # Some systems will try to send \r characters... looking at you windows O_O
try:
response = self.handle_msg(msg)
except Exception as e:
ui_print("An error occurred while processing a client message")
ui_print("Msg: {}".format(msg))
ui_print(e)
response = "err"
self.client_socket.sendall((response + '\n').encode('utf-8'))
msg = ''
else:
msg += char
try:
raw_msg = self.client_socket.recv(2048).decode()
# Check for end of stream
if raw_msg == "":
self.client_socket.close()
if self._cage_dev:
self._cage_dev.close()
g.MAGNETOMETER.connected = False
return
# Process message
for char in raw_msg:
if char == '\n':
msg = msg.rstrip() # Some systems will try to send \r characters... looking at you windows O_O
try:
response = self.handle_msg(msg)
except Exception as e:
ui_print("An error occurred while processing a client message")
ui_print("Msg: {}".format(msg))
ui_print(e)
response = "err"
self.client_socket.sendall((response + '\n').encode('utf-8'))
msg = ''
else:
msg += char
except ConnectionResetError:
ui_print("A connection was closed by the client.")
def handle_msg(self, message):
""" Executes command logic and returns string response (for client). """