From f46759230f5c1fe37f7e7d1e1c8f1c7c962af60b Mon Sep 17 00:00:00 2001
From: jtkenny <jtkenny@iastate.edu>
Date: Mon, 23 Oct 2023 22:18:00 +0200
Subject: [PATCH] implementing queueing

---
 .../crazyflie_connection.cpython-38.pyc       | Bin 0 -> 2650 bytes
 .../groundstation_socket.cpython-38.pyc       | Bin 0 -> 4253 bytes
 cflib_groundstation/groundstation_socket.py   |   9 ++---
 cflib_groundstation/main.py                   |  33 ++++++++++++++++--
 4 files changed, 36 insertions(+), 6 deletions(-)
 create mode 100644 cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc
 create mode 100644 cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc

diff --git a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..46a66108eef65d96e5e41d73bf7defe483a5523d
GIT binary patch
literal 2650
zcmb`J%Wl&^6o$u1lh{ezv`z2#+oqdlhgcxgHiZfaQq<5*HkRu%4OSC7jBP}_ggyc<
z(f8mfyyX$tvEm$?xGsz+i*YpPkL};{oip}~eQugnhTGF`PxwKRvG25#-|!eaz!uD4
zIAOp*yT$gU&|^^Ovb~~%#~*A3+&jP)e8s?7PXpE~fChzI)+<60CQv7!1ZC6`R6s{9
zg8^043e=#Es)GrWs0K7(3bhK;FoRlyCd{JNVGia|O;~_M)Ja%^Wz+_&z$)q#tid|!
zG;F{o>I`hbHfj@gFz4O4*%tQA_2t0jZQt{_6S}_lS0Nha-=;!z3?ciBg>>1S*16MS
z<HaY3kLap9CQ5iZ2|tfp@BJZfUAUox{qxov*AagE@a$d7LDq%U7k=bH5ZZKQi#$mV
zmXjs1Ke~=f$NVDdPY{{Ll4&<fl63bI*Z(Cgs2@?JkR_Y`E90@)cxyXXJbdl<X?F}=
zlR-1560mu~!>q?-n8)xf8T^4;Ndo2b5!fN8DKI84%gCus39@#?`>vOESkG}cWZaxr
z3EVvW$c1o$pGKo7oXp{+1OC9RB!Md4!;TO96$Dc``ns(6d#e((-ld04*h5;$#&>&F
z1|A#LV3Vg7v9ph1$3`Vs1B>YTk#P8Yjw_whnNtlI%SgeCkAX9%5^(j52cwj{oFhvg
zt$V8yw1JhJMj=kA)f`zm*qKuaSjX;YItA-FuJoB68<k)yhX91#%u!clGwHWa36z!&
zd_}!<2YfrnmEPZbs}ghrxkm%vxoZ2vq3ywLj=v+T`wxF-Z#LE~%d>~vvf`>`4Sk3P
z^uKOdA0m5@o)H!7SJ2mnFeuP#Nz^FNi$a(bXw4Q43bcNTX$rKUi6#YFW5gT<n)PCV
ng5-@a=+mZ%EufLqHNEifU*hlVX^F}@jP++}NzbX*AK2J0Fy{P}

literal 0
HcmV?d00001

diff --git a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..704af640fbe957aa1ab2b02b8e7b8d6685ee8597
GIT binary patch
literal 4253
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
A-T(jq

literal 0
HcmV?d00001

diff --git a/cflib_groundstation/groundstation_socket.py b/cflib_groundstation/groundstation_socket.py
index f0c15296d..803726dc3 100644
--- a/cflib_groundstation/groundstation_socket.py
+++ b/cflib_groundstation/groundstation_socket.py
@@ -1,3 +1,4 @@
+from queue import Queue
 import socket
 import os
 import collections
@@ -8,7 +9,7 @@ socket_path = './cflib_groundstation.socket'
 
 class GroundstationSocket():
     metadata = collections.namedtuple("metadata", ["msg_type", "msg_id", "data_len"])
-    def groundstation_connect(self):
+    def groundstation_connect(self, inputQueue: Queue):
         # remove the socket file if it already exists
         try:
             os.unlink(socket_path)
@@ -45,8 +46,9 @@ class GroundstationSocket():
                     print("There was an error decoding the packet")
                     break
 
-                #TODO: Add the message to the main function queue, which will
+                #Add the message to the main function queue, which will
                 #which will send the appropriate command to the quad.
+                inputQueue.put(message)
         finally:
             # close the connection
             self.connection.close()
@@ -149,7 +151,6 @@ class MessageTypeID(Enum):
     SEND_RT_ID = 20
     MAX_TYPE_ID = 21
 
-if __name__ == '__main__':
-    GroundstationSocket().groundstation_connect()
+
 
 
diff --git a/cflib_groundstation/main.py b/cflib_groundstation/main.py
index a7d3ccd07..76e489c3c 100644
--- a/cflib_groundstation/main.py
+++ b/cflib_groundstation/main.py
@@ -1,5 +1,34 @@
-
+from email import message
+from queue import Queue
+from threading import Thread
+from groundstation_socket import GroundstationSocket
+from crazyflie_connection import CrazyflieConnection
 
 
 class main():
-    print("main")
\ No newline at end of file
+    def __init__(self) -> None:
+        self.inputQueue = Queue()
+        self.outputQueue = Queue()
+        
+
+
+    def processCommands(self):
+        gs = GroundstationSocket()
+        self.inThread = Thread(target = gs.groundstation_connect, args = (self.inputQueue,))
+        self.inThread.start()
+        while True:
+            if self.inputQueue.not_empty:
+                command = self.inputQueue.get()
+                print(command)
+                msg_type = command["msg_type"]
+                print(msg_type)
+                
+
+                
+
+
+
+if __name__ == '__main__':
+    main().processCommands()
+    
+    
\ No newline at end of file
-- 
GitLab