From 9c63f4fd4717f92c684a8be2e90d9106885c0be5 Mon Sep 17 00:00:00 2001 From: kjunge <kai.junge@epfl.ch> Date: Sat, 22 Jan 2022 01:12:34 +0100 Subject: [PATCH] Fixed spelling error for RECEIVE, and added delay as a temporary fix for receiving errors --- comms_wrapper.py | 39 +++++++++++++++++++++------------------ comms_wrapper_example.py | 6 +++--- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/comms_wrapper.py b/comms_wrapper.py index aab6222..363dc20 100644 --- a/comms_wrapper.py +++ b/comms_wrapper.py @@ -1,5 +1,3 @@ -# Frist iteration - only tested on one laptop to some extent - import serial import serial.tools.list_ports from threading import Thread @@ -17,10 +15,10 @@ class Arduino: self.portName = portName self.baudrate = baudrate - self._rawRecievedMessage = None + self._rawReceivedMessage = None self._prevMessage = None - self.recievedMessages = {} - self.messageNames = list(self.recievedMessages.keys()) + self.receivedMessages = {} + self.messageNames = list(self.receivedMessages.keys()) self.arduino = None self.handshakeStatus = False @@ -28,7 +26,7 @@ class Arduino: def _serial_readline(self): while 1: try: - self._rawRecievedMessage = self.arduino.readline().decode('utf-8')[:-2] + self._rawReceivedMessage = self.arduino.readline().decode('utf-8')[:-2] except: pass time.sleep(0.001) @@ -45,17 +43,17 @@ class Arduino: def add_new_message_name(self, msgName): - if msgName in self.recievedMessages: + if msgName in self.receivedMessages: print("!! Message name ", msgName, " already exists so it cannot be added. !!") else: - self.recievedMessages[msgName] = None - self.messageNames = list(self.recievedMessages.keys()) + self.receivedMessages[msgName] = None + self.messageNames = list(self.receivedMessages.keys()) def delete_message_name(self, msgName): - if msgName in self.recievedMessages: - del self.recievedMessages[msgName] - self.messageNames = list(self.recievedMessages.keys()) + if msgName in self.receivedMessages: + del self.receivedMessages[msgName] + self.messageNames = list(self.receivedMessages.keys()) else: print("!! Message name ", msgName, " does not exist so it cannot be deleted. !!") @@ -114,7 +112,7 @@ class Arduino: self._serial_write("handshake1\n") time.sleep(0.1) - if self._rawRecievedMessage == "handshake2": + if self._rawReceivedMessage == "handshake2": self.handshakeStatus = True break @@ -130,13 +128,13 @@ class Arduino: self._serial_write( msg + "\n") - def recieve_message(self): + def receive_message(self): if not self.handshakeStatus: print("!! Handshake not completed !!") return False else: isMessageValid = True - msg = self._rawRecievedMessage + msg = self._rawReceivedMessage # sanity check 1: check if ends of the message are < and > try: if msg[0] == "<" and msg[-1] == ">": @@ -150,12 +148,13 @@ class Arduino: else: pass + time.sleep(0.000001) return True def disect_and_save_message(self, msg): - recievedMessageTemp = self.recievedMessages + receivedMessageTemp = self.receivedMessages if msg[-2] != ":": return False @@ -170,15 +169,19 @@ class Arduino: if msgName not in self.messageNames: return False - recievedMessageTemp[msgName] = msgPayload + receivedMessageTemp[msgName] = msgPayload else: return False - self.recievedMessages = recievedMessageTemp + self.receivedMessages = receivedMessageTemp return True +######## +### Key commands +######## + class Key(): def __init__(self): self.keyPressValue = None diff --git a/comms_wrapper_example.py b/comms_wrapper_example.py index 8b56b9c..564c1a8 100644 --- a/comms_wrapper_example.py +++ b/comms_wrapper_example.py @@ -23,10 +23,10 @@ def main(): # Your loop or process to do somthing while 1: - # Recieve messages from arduino side + # Receive messages from arduino side for arduino in arduinos: - if arduino.recieve_message(): - print("For :", arduino.descriptiveDeviceName, " msg: ", arduino.recievedMessages) + if arduino.receive_message(): + print("For :", arduino.descriptiveDeviceName, " msg: ", arduino.receivedMessages) # simple key commands for testing if key.keyPressValue == "t": -- GitLab