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