diff --git a/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc b/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc
index 5c0cdede7a433629c0523d73857000b22532edb2..4027a377ae82889947f5b062d6e37b0967afcddf 100644
Binary files a/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc and b/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc differ
diff --git a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc
index 85ab6295b2709099c95186ac0dfb1fb717b02213..5c520b674f7d044fda08380bc14c0ac76f1f1a2f 100644
Binary files a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc and b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc differ
diff --git a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc
index 6b0bc4dda7a65b59de08199f08b7d0999c907c75..54fe1726f0e08f21c905fee78ae7278a6a077dac 100644
Binary files a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc and b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc differ
diff --git a/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc b/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc
index 1242daed281da98433672de57f3f356e49326a1c..f84b6b1068c5e0a275f109b420b3c0c439f16dc5 100644
Binary files a/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc and b/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc differ
diff --git a/cflib_groundstation/crazyflie_connection.py b/cflib_groundstation/crazyflie_connection.py
index 85b9ce285f2552aad3e6db647430011b10f5e3cd..64f28687fa3cb7cc867ebeb8b22f9cf3584135f8 100644
--- a/cflib_groundstation/crazyflie_connection.py
+++ b/cflib_groundstation/crazyflie_connection.py
@@ -177,7 +177,16 @@ class CrazyflieConnection:
 
         try:
             if self.scf.is_link_open():
-                toc = list(self.scf.cf.param.values.values())
+                print(self.scf.cf.param.values)
+                lst = list(self.scf.cf.param.values.values())
+                print(lst)
+                toc = []
+                for val in lst:
+                    sublst = list(val.values())
+                    for item in sublst:
+                        toc.append(item)
+                #lst2 = list(self.scf.cf.param.values)
+                #print(lst2)
                 #val = toc.flatten()
                 #print(val)
                 print(toc)
@@ -190,10 +199,18 @@ class CrazyflieConnection:
             pass
 
             
-        data = bytearray(group)
-        data.append(name)
-        data.append(val)
+        data = bytearray()
+        data += command['data'][0:2]
+        data += command['data'][2:4]
+        if "." in actual:
+            actual = float(actual)
+            flBytes = struct.pack('f', actual)
+        else:
+            actual = int(actual)
+            flBytes = struct.pack('i', actual)
+        data += flBytes
         print(data)
+        print(len(data))
         responsedata = {
         "msg_type": (MessageTypeID.RESPPARAM_ID),
         "msg_id": command['msg_id'],
diff --git a/cflib_groundstation/groundstation_socket.py b/cflib_groundstation/groundstation_socket.py
index 90983b4ca38944948d56402c995554f118f50274..57f1ffb0f47c00ca860908c823c7f5954bd5d782 100644
--- a/cflib_groundstation/groundstation_socket.py
+++ b/cflib_groundstation/groundstation_socket.py
@@ -3,6 +3,7 @@ import socket
 import os
 import collections
 from enum import IntEnum, Enum
+import struct
 
 # Set the path for the Unix socket
 socket_path = './cflib_groundstation.socket'
@@ -92,14 +93,23 @@ class GroundstationSocket():
 
     def EncodePacket(self, messagedata):
         print("encoding packet")
-        bytedata = bytearray(Message.BEGIN_CHAR.value)
-        bytedata.append(messagedata["msg_type"] & 0xFF)
-        bytedata.append((messagedata["msg_type"] >> 8) & 0xFF)
+        bytedata = bytearray()
+        bytedata += b'\xbe'
+        
+        bytedata.append((messagedata["msg_type"].value & 0xFF))
+        print(bytedata)
+        bytedata.append((messagedata["msg_type"].value >> 8) & 0xFF)
+        print(bytedata)
         bytedata.append(messagedata["msg_id"])
+        print(bytedata)
         bytedata.append(messagedata["data_len"] & 0xFF)
+        print(bytedata)
         bytedata.append((messagedata["data_len"] >> 8) & 0xFF)
+        print(bytedata)
         bytedata += messagedata["data"]
-        bytedata.append(self.packetChecksum(messagedata["data"], PacketHeader.HDR_SIZE.value + messagedata["data_len"] + ChecksumFormat.CSUM_SIZE.value))
+        print(bytedata)
+        bytedata.append(self.packetChecksum(bytedata, PacketHeader.HDR_SIZE.value + messagedata["data_len"] + ChecksumFormat.CSUM_SIZE.value))
+        print(bytedata)
         return bytedata
 
     def WriteToBackend(self, message):
@@ -136,10 +146,7 @@ class DataType(IntEnum):
     intType = 0
     stringType = 2
 """
-  Message type IDs used to know what kind of message we are dealing with
-  Enumeration used to index the MessageTypes array in commands.c
-
-  DO NOT change items in the middle of this enum or you will break backwards compatibility.
+  Message type IDs used to know what kind omessagedata enum or you will break backwards compatibility.
   Add new message types in the slot between MAX_TYPE_ID and the one before it
   DO NOT change this enum without also updating the "MessageTypes" array
   in commands.c to match.