From 429049cce3500b4d460167b4522a35c60b808332 Mon Sep 17 00:00:00 2001
From: 488_MP-4 <488_MP-4@iastate.edu>
Date: Thu, 26 Oct 2023 21:39:28 +0200
Subject: [PATCH] output override works

---
 cflib_groundstation/SetpointHandler.py        |   10 +-
 .../SetpointHandler.cpython-38.pyc            |  Bin 0 -> 7175 bytes
 .../crazyflie_connection.cpython-38.pyc       |  Bin 5921 -> 6867 bytes
 .../__pycache__/uCartCommander.cpython-38.pyc |  Bin 0 -> 7993 bytes
 cflib_groundstation/cache/5F73C19B.json       | 4651 +++++++++++++++++
 cflib_groundstation/cache/CCB14664.json       | 2544 +++++++++
 cflib_groundstation/crazyflie_connection.py   |   30 +-
 cflib_groundstation/main.py                   |   20 +-
 8 files changed, 7221 insertions(+), 34 deletions(-)
 create mode 100644 cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc
 create mode 100644 cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc
 create mode 100644 cflib_groundstation/cache/5F73C19B.json
 create mode 100644 cflib_groundstation/cache/CCB14664.json

diff --git a/cflib_groundstation/SetpointHandler.py b/cflib_groundstation/SetpointHandler.py
index d8f7e56de..0708687be 100644
--- a/cflib_groundstation/SetpointHandler.py
+++ b/cflib_groundstation/SetpointHandler.py
@@ -32,7 +32,7 @@ class Setpoint:
         self.yaw: float = 0
         self.pitch: float = 0
         self.roll: float = 0
-        self.thrust: int = 0
+        self.thrust: float = 0
 
 
 class SetpointHandler:
@@ -184,7 +184,7 @@ class SetpointHandler:
         if self.commander:
             if self._flight_mode == FlightMode.ATTITUDE_TYPE:
                 # scales thrust from 100 for slider control.
-                thrust = self.setpoint.thrust * 60000 / 100
+                thrust = self.setpoint.thrust #* 60000 / 100
                 print(f"Set attitude: {self.setpoint.yaw}, {self.setpoint.pitch}, "
                       f"{self.setpoint.roll}, {self.setpoint.thrust}")
 
@@ -193,8 +193,8 @@ class SetpointHandler:
                     int(thrust))
 
             elif self._flight_mode == FlightMode.ATTITUDE_RATE_TYPE:
-
-                thrust = self.setpoint.thrust * 60000 / 100
+                print(self.setpoint.thrust)
+                thrust = self.setpoint.thrust #* 60000 / 100
                 print(f"Set attitude rate: {self.setpoint.yaw},"
                       f" {self.setpoint.pitch}, "
                       f"{self.setpoint.roll}, {thrust}")
@@ -205,7 +205,7 @@ class SetpointHandler:
 
             elif self._flight_mode == FlightMode.MIXED_ATTITUDE_TYPE:
                 # scales thrust from 1000 for more fine-grained gamepad control.
-                thrust = self.setpoint.thrust * 60000 / 1000
+                thrust = self.setpoint.thrust #* 60000 / 1000
                 print(f"Set mixed attitude: {self.setpoint.yaw},"
                       f" {self.setpoint.pitch}, "
                       f"{self.setpoint.roll}, {thrust}")
diff --git a/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc b/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5c0cdede7a433629c0523d73857000b22532edb2
GIT binary patch
literal 7175
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

literal 0
HcmV?d00001

diff --git a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc
index 95e0b2d206542122c47f17c1bc791704cb6a436a..836855302a700d6a3d0a94c139b07db361779585 100644
GIT binary patch
delta 2967
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
PI)RBm2_G+G5c>ZDSu1!(

delta 1998
zcma)7O>7%Q6yDkYUH>PJoj+(2AmBD}T#-gXR8{`dLa>vDs$@AB*Sm?FtbdqYw`#N@
zhr%V|Qbq_t`AOhZaR8J9H`G%PT)CMmm-G%NBzSKUC2A!cJkqysJl}h7X5RaDf4j7w
zjoyevOaXr1@4n`=I_^jN$=3Y~*=5Bhw&JQ)&C-Yfw(9Ct!!o$7xn?zFg}AM|;cCQ+
zaNBUB)tD6{!h&F%cIZRF4&4*2xGk>;neb1)&XI$xSRf?JK9EKa4kVKho&6#g!w*SI
z_8fQZp+IA7Qdvp%!+yLl?#eVpT~rAS_H`o79w`}enLSZnKX_9eAjDv<HvBGb-!keA
zr&e?;wM{E_r&RHaYjs*|lxV5y(GU<aB8|d>b|Az~AP!bbE7xl^r|iE96OUhpW|AZ^
ziOC+N(`;Vfoxl*3Co;=!-E(**8aau>Bl2LTUGa|NO)}M}^qnR<B`LGct>*ewwrebA
zx-m%4(~(Y@#!{)g>G+HF^*7i*#?okec4WcvPaM2O7MO1jxA#zQH0+Y^<k?^5TNm0>
zL(|TBrFO($Vztl+`_ULu2ozUjW0BlM{=ZKVDcp7_t=LYX*=YLL;jo?vAjn&TY(J4?
zzemT<w@+@u$?|pExn_GeSs^v>-D-^Vw`ACRi4ur($N_^MN(eIZ<5!Ycu~xX^@p2Wh
zMQA5`9G@d$7ETNlQm~xScw=A_RI8<$O*8N(J&%sc?ULJcEMu+dy2V<l>d;PHJ1r<L
zxW0mS4vn_T?j#<MzW|gxbQ{K|*u%%2*HVfly6!#WO|!tLv-dm7J70hm5S#P}wrEQq
zi9N!$bUc@Bh0o=!p+MLW_Q<|KC(+svH>3?Yka~nb2EKArsCCPNuWXvsA_5Lu-BwnG
zn)r_3tATWnY^#B~rv>spAp*A)w0wPI(12tbB-aDgHola%wLsi60}YpL6N(&SA9v<b
zbO_Idmre1c^hJc1*dLw4;}c-EbgW3xg^NaFJ`>`qp(9A+w>OF`mEWvKb8IGgafb`@
zA~G%^oEAU=8joXzspB>3HP7J%f3^a=>!AWZxO<pakmDpSiXh=`DN1CbN;=9}0*i=5
z{99GG`e$fq>+YIcaoCftDAT$|&Qc=Od8OW@Wru+h2UyURJIe$1b>#6W_xQ6bcUG5Q
zhhrYOd<I><{67*Dnm$PCbDrQZm3yVVjPzp}c@NlBy6|#)vNmPgsJXA$&*}VGJBPsV
zlA5o$&NpnVdwHyV=ooOP-FkU*=16tlvLCwN+etv>T9W5e+65L(BlIEQ2Z26^@I1mf
zgaL#>1blCEAyE~rNrWkcX@nVsS%f)+d4vUos|cs96ceg2M@dry0QKu(+v=h$>*;7j
z*LC<79S;SbDP4)4JNXA!B<`6>&_#?Q0<={BZlh9Lr}$E`%rf-bt!$b44VwI<_ZrLh
r_A#$FHLD{Zvp%&Sm>#`hE?4Vz({-+(?7Sp^tc6LKKt@0qA`IzY1DB9B

diff --git a/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc b/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1242daed281da98433672de57f3f356e49326a1c
GIT binary patch
literal 7993
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

literal 0
HcmV?d00001

diff --git a/cflib_groundstation/cache/5F73C19B.json b/cflib_groundstation/cache/5F73C19B.json
new file mode 100644
index 000000000..17eca4277
--- /dev/null
+++ b/cflib_groundstation/cache/5F73C19B.json
@@ -0,0 +1,4651 @@
+{
+  "gyro": {
+    "xRaw": {
+      "__class__": "LogTocElement",
+      "ident": 0,
+      "group": "gyro",
+      "name": "xRaw",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "yRaw": {
+      "__class__": "LogTocElement",
+      "ident": 1,
+      "group": "gyro",
+      "name": "yRaw",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "zRaw": {
+      "__class__": "LogTocElement",
+      "ident": 2,
+      "group": "gyro",
+      "name": "zRaw",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "xVariance": {
+      "__class__": "LogTocElement",
+      "ident": 3,
+      "group": "gyro",
+      "name": "xVariance",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yVariance": {
+      "__class__": "LogTocElement",
+      "ident": 4,
+      "group": "gyro",
+      "name": "yVariance",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "zVariance": {
+      "__class__": "LogTocElement",
+      "ident": 5,
+      "group": "gyro",
+      "name": "zVariance",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 108,
+      "group": "gyro",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 109,
+      "group": "gyro",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 110,
+      "group": "gyro",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "pwm": {
+    "m1_pwm": {
+      "__class__": "LogTocElement",
+      "ident": 6,
+      "group": "pwm",
+      "name": "m1_pwm",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m2_pwm": {
+      "__class__": "LogTocElement",
+      "ident": 7,
+      "group": "pwm",
+      "name": "m2_pwm",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m3_pwm": {
+      "__class__": "LogTocElement",
+      "ident": 8,
+      "group": "pwm",
+      "name": "m3_pwm",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m4_pwm": {
+      "__class__": "LogTocElement",
+      "ident": 9,
+      "group": "pwm",
+      "name": "m4_pwm",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    }
+  },
+  "crtp": {
+    "rxRate": {
+      "__class__": "LogTocElement",
+      "ident": 10,
+      "group": "crtp",
+      "name": "rxRate",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "txRate": {
+      "__class__": "LogTocElement",
+      "ident": 11,
+      "group": "crtp",
+      "name": "txRate",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "pm": {
+    "vbat": {
+      "__class__": "LogTocElement",
+      "ident": 12,
+      "group": "pm",
+      "name": "vbat",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vbatMV": {
+      "__class__": "LogTocElement",
+      "ident": 13,
+      "group": "pm",
+      "name": "vbatMV",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "extVbat": {
+      "__class__": "LogTocElement",
+      "ident": 14,
+      "group": "pm",
+      "name": "extVbat",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "extVbatMV": {
+      "__class__": "LogTocElement",
+      "ident": 15,
+      "group": "pm",
+      "name": "extVbatMV",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "extCurr": {
+      "__class__": "LogTocElement",
+      "ident": 16,
+      "group": "pm",
+      "name": "extCurr",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "chargeCurrent": {
+      "__class__": "LogTocElement",
+      "ident": 17,
+      "group": "pm",
+      "name": "chargeCurrent",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "state": {
+      "__class__": "LogTocElement",
+      "ident": 18,
+      "group": "pm",
+      "name": "state",
+      "ctype": "int8_t",
+      "pytype": "<b",
+      "access": 0
+    },
+    "batteryLevel": {
+      "__class__": "LogTocElement",
+      "ident": 19,
+      "group": "pm",
+      "name": "batteryLevel",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "radio": {
+    "rssi": {
+      "__class__": "LogTocElement",
+      "ident": 20,
+      "group": "radio",
+      "name": "rssi",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "isConnected": {
+      "__class__": "LogTocElement",
+      "ident": 21,
+      "group": "radio",
+      "name": "isConnected",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "sys": {
+    "armed": {
+      "__class__": "LogTocElement",
+      "ident": 22,
+      "group": "sys",
+      "name": "armed",
+      "ctype": "int8_t",
+      "pytype": "<b",
+      "access": 0
+    },
+    "canfly": {
+      "__class__": "LogTocElement",
+      "ident": 38,
+      "group": "sys",
+      "name": "canfly",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "isFlying": {
+      "__class__": "LogTocElement",
+      "ident": 39,
+      "group": "sys",
+      "name": "isFlying",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "isTumbled": {
+      "__class__": "LogTocElement",
+      "ident": 40,
+      "group": "sys",
+      "name": "isTumbled",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "extrx": {
+    "ch0": {
+      "__class__": "LogTocElement",
+      "ident": 23,
+      "group": "extrx",
+      "name": "ch0",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "ch1": {
+      "__class__": "LogTocElement",
+      "ident": 24,
+      "group": "extrx",
+      "name": "ch1",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "ch2": {
+      "__class__": "LogTocElement",
+      "ident": 25,
+      "group": "extrx",
+      "name": "ch2",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "ch3": {
+      "__class__": "LogTocElement",
+      "ident": 26,
+      "group": "extrx",
+      "name": "ch3",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "thrust": {
+      "__class__": "LogTocElement",
+      "ident": 27,
+      "group": "extrx",
+      "name": "thrust",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 28,
+      "group": "extrx",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 29,
+      "group": "extrx",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 30,
+      "group": "extrx",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "memTst": {
+    "errCntW": {
+      "__class__": "LogTocElement",
+      "ident": 31,
+      "group": "memTst",
+      "name": "errCntW",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    }
+  },
+  "range": {
+    "front": {
+      "__class__": "LogTocElement",
+      "ident": 32,
+      "group": "range",
+      "name": "front",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "back": {
+      "__class__": "LogTocElement",
+      "ident": 33,
+      "group": "range",
+      "name": "back",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "up": {
+      "__class__": "LogTocElement",
+      "ident": 34,
+      "group": "range",
+      "name": "up",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "left": {
+      "__class__": "LogTocElement",
+      "ident": 35,
+      "group": "range",
+      "name": "left",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "right": {
+      "__class__": "LogTocElement",
+      "ident": 36,
+      "group": "range",
+      "name": "right",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "zrange": {
+      "__class__": "LogTocElement",
+      "ident": 37,
+      "group": "range",
+      "name": "zrange",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "ext_pos": {
+    "X": {
+      "__class__": "LogTocElement",
+      "ident": 41,
+      "group": "ext_pos",
+      "name": "X",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Y": {
+      "__class__": "LogTocElement",
+      "ident": 42,
+      "group": "ext_pos",
+      "name": "Y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Z": {
+      "__class__": "LogTocElement",
+      "ident": 43,
+      "group": "ext_pos",
+      "name": "Z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "locSrv": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 44,
+      "group": "locSrv",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 45,
+      "group": "locSrv",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 46,
+      "group": "locSrv",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qx": {
+      "__class__": "LogTocElement",
+      "ident": 47,
+      "group": "locSrv",
+      "name": "qx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qy": {
+      "__class__": "LogTocElement",
+      "ident": 48,
+      "group": "locSrv",
+      "name": "qy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qz": {
+      "__class__": "LogTocElement",
+      "ident": 49,
+      "group": "locSrv",
+      "name": "qz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qw": {
+      "__class__": "LogTocElement",
+      "ident": 50,
+      "group": "locSrv",
+      "name": "qw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "locSrvZ": {
+    "tick": {
+      "__class__": "LogTocElement",
+      "ident": 51,
+      "group": "locSrvZ",
+      "name": "tick",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "pid_attitude": {
+    "roll_outP": {
+      "__class__": "LogTocElement",
+      "ident": 52,
+      "group": "pid_attitude",
+      "name": "roll_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outI": {
+      "__class__": "LogTocElement",
+      "ident": 53,
+      "group": "pid_attitude",
+      "name": "roll_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outD": {
+      "__class__": "LogTocElement",
+      "ident": 54,
+      "group": "pid_attitude",
+      "name": "roll_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outP": {
+      "__class__": "LogTocElement",
+      "ident": 55,
+      "group": "pid_attitude",
+      "name": "pitch_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outI": {
+      "__class__": "LogTocElement",
+      "ident": 56,
+      "group": "pid_attitude",
+      "name": "pitch_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outD": {
+      "__class__": "LogTocElement",
+      "ident": 57,
+      "group": "pid_attitude",
+      "name": "pitch_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outP": {
+      "__class__": "LogTocElement",
+      "ident": 58,
+      "group": "pid_attitude",
+      "name": "yaw_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outI": {
+      "__class__": "LogTocElement",
+      "ident": 59,
+      "group": "pid_attitude",
+      "name": "yaw_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outD": {
+      "__class__": "LogTocElement",
+      "ident": 60,
+      "group": "pid_attitude",
+      "name": "yaw_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "pid_rate": {
+    "roll_outP": {
+      "__class__": "LogTocElement",
+      "ident": 61,
+      "group": "pid_rate",
+      "name": "roll_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outI": {
+      "__class__": "LogTocElement",
+      "ident": 62,
+      "group": "pid_rate",
+      "name": "roll_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outD": {
+      "__class__": "LogTocElement",
+      "ident": 63,
+      "group": "pid_rate",
+      "name": "roll_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outP": {
+      "__class__": "LogTocElement",
+      "ident": 64,
+      "group": "pid_rate",
+      "name": "pitch_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outI": {
+      "__class__": "LogTocElement",
+      "ident": 65,
+      "group": "pid_rate",
+      "name": "pitch_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outD": {
+      "__class__": "LogTocElement",
+      "ident": 66,
+      "group": "pid_rate",
+      "name": "pitch_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outP": {
+      "__class__": "LogTocElement",
+      "ident": 67,
+      "group": "pid_rate",
+      "name": "yaw_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outI": {
+      "__class__": "LogTocElement",
+      "ident": 68,
+      "group": "pid_rate",
+      "name": "yaw_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outD": {
+      "__class__": "LogTocElement",
+      "ident": 69,
+      "group": "pid_rate",
+      "name": "yaw_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "sensfusion6": {
+    "qw": {
+      "__class__": "LogTocElement",
+      "ident": 70,
+      "group": "sensfusion6",
+      "name": "qw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qx": {
+      "__class__": "LogTocElement",
+      "ident": 71,
+      "group": "sensfusion6",
+      "name": "qx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qy": {
+      "__class__": "LogTocElement",
+      "ident": 72,
+      "group": "sensfusion6",
+      "name": "qy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qz": {
+      "__class__": "LogTocElement",
+      "ident": 73,
+      "group": "sensfusion6",
+      "name": "qz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "gravityX": {
+      "__class__": "LogTocElement",
+      "ident": 74,
+      "group": "sensfusion6",
+      "name": "gravityX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "gravityY": {
+      "__class__": "LogTocElement",
+      "ident": 75,
+      "group": "sensfusion6",
+      "name": "gravityY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "gravityZ": {
+      "__class__": "LogTocElement",
+      "ident": 76,
+      "group": "sensfusion6",
+      "name": "gravityZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accZbase": {
+      "__class__": "LogTocElement",
+      "ident": 77,
+      "group": "sensfusion6",
+      "name": "accZbase",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "isInit": {
+      "__class__": "LogTocElement",
+      "ident": 78,
+      "group": "sensfusion6",
+      "name": "isInit",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "isCalibrated": {
+      "__class__": "LogTocElement",
+      "ident": 79,
+      "group": "sensfusion6",
+      "name": "isCalibrated",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "acc": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 80,
+      "group": "acc",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 81,
+      "group": "acc",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 82,
+      "group": "acc",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "baro": {
+    "asl": {
+      "__class__": "LogTocElement",
+      "ident": 83,
+      "group": "baro",
+      "name": "asl",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "temp": {
+      "__class__": "LogTocElement",
+      "ident": 84,
+      "group": "baro",
+      "name": "temp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure": {
+      "__class__": "LogTocElement",
+      "ident": 85,
+      "group": "baro",
+      "name": "pressure",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "controller": {
+    "ctr_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 86,
+      "group": "controller",
+      "name": "ctr_yaw",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "cmd_thrust": {
+      "__class__": "LogTocElement",
+      "ident": 213,
+      "group": "controller",
+      "name": "cmd_thrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_roll": {
+      "__class__": "LogTocElement",
+      "ident": 214,
+      "group": "controller",
+      "name": "cmd_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 215,
+      "group": "controller",
+      "name": "cmd_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 216,
+      "group": "controller",
+      "name": "cmd_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_roll": {
+      "__class__": "LogTocElement",
+      "ident": 217,
+      "group": "controller",
+      "name": "r_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 218,
+      "group": "controller",
+      "name": "r_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 219,
+      "group": "controller",
+      "name": "r_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accelz": {
+      "__class__": "LogTocElement",
+      "ident": 220,
+      "group": "controller",
+      "name": "accelz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "actuatorThrust": {
+      "__class__": "LogTocElement",
+      "ident": 221,
+      "group": "controller",
+      "name": "actuatorThrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 222,
+      "group": "controller",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 223,
+      "group": "controller",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 224,
+      "group": "controller",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rollRate": {
+      "__class__": "LogTocElement",
+      "ident": 225,
+      "group": "controller",
+      "name": "rollRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitchRate": {
+      "__class__": "LogTocElement",
+      "ident": 226,
+      "group": "controller",
+      "name": "pitchRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yawRate": {
+      "__class__": "LogTocElement",
+      "ident": 227,
+      "group": "controller",
+      "name": "yawRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ctrltarget": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 87,
+      "group": "ctrltarget",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 88,
+      "group": "ctrltarget",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 89,
+      "group": "ctrltarget",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vx": {
+      "__class__": "LogTocElement",
+      "ident": 90,
+      "group": "ctrltarget",
+      "name": "vx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vy": {
+      "__class__": "LogTocElement",
+      "ident": 91,
+      "group": "ctrltarget",
+      "name": "vy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vz": {
+      "__class__": "LogTocElement",
+      "ident": 92,
+      "group": "ctrltarget",
+      "name": "vz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ax": {
+      "__class__": "LogTocElement",
+      "ident": 93,
+      "group": "ctrltarget",
+      "name": "ax",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ay": {
+      "__class__": "LogTocElement",
+      "ident": 94,
+      "group": "ctrltarget",
+      "name": "ay",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "az": {
+      "__class__": "LogTocElement",
+      "ident": 95,
+      "group": "ctrltarget",
+      "name": "az",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 96,
+      "group": "ctrltarget",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 97,
+      "group": "ctrltarget",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 98,
+      "group": "ctrltarget",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ctrltargetZ": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 99,
+      "group": "ctrltargetZ",
+      "name": "x",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 100,
+      "group": "ctrltargetZ",
+      "name": "y",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 101,
+      "group": "ctrltargetZ",
+      "name": "z",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vx": {
+      "__class__": "LogTocElement",
+      "ident": 102,
+      "group": "ctrltargetZ",
+      "name": "vx",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vy": {
+      "__class__": "LogTocElement",
+      "ident": 103,
+      "group": "ctrltargetZ",
+      "name": "vy",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vz": {
+      "__class__": "LogTocElement",
+      "ident": 104,
+      "group": "ctrltargetZ",
+      "name": "vz",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "ax": {
+      "__class__": "LogTocElement",
+      "ident": 105,
+      "group": "ctrltargetZ",
+      "name": "ax",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "ay": {
+      "__class__": "LogTocElement",
+      "ident": 106,
+      "group": "ctrltargetZ",
+      "name": "ay",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "az": {
+      "__class__": "LogTocElement",
+      "ident": 107,
+      "group": "ctrltargetZ",
+      "name": "az",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    }
+  },
+  "mag": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 111,
+      "group": "mag",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 112,
+      "group": "mag",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 113,
+      "group": "mag",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "stabilizer": {
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 114,
+      "group": "stabilizer",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 115,
+      "group": "stabilizer",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 116,
+      "group": "stabilizer",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "thrust": {
+      "__class__": "LogTocElement",
+      "ident": 117,
+      "group": "stabilizer",
+      "name": "thrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rtStab": {
+      "__class__": "LogTocElement",
+      "ident": 118,
+      "group": "stabilizer",
+      "name": "rtStab",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "intToOut": {
+      "__class__": "LogTocElement",
+      "ident": 119,
+      "group": "stabilizer",
+      "name": "intToOut",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    }
+  },
+  "stateEstimate": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 120,
+      "group": "stateEstimate",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 121,
+      "group": "stateEstimate",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 122,
+      "group": "stateEstimate",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vx": {
+      "__class__": "LogTocElement",
+      "ident": 123,
+      "group": "stateEstimate",
+      "name": "vx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vy": {
+      "__class__": "LogTocElement",
+      "ident": 124,
+      "group": "stateEstimate",
+      "name": "vy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "vz": {
+      "__class__": "LogTocElement",
+      "ident": 125,
+      "group": "stateEstimate",
+      "name": "vz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ax": {
+      "__class__": "LogTocElement",
+      "ident": 126,
+      "group": "stateEstimate",
+      "name": "ax",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ay": {
+      "__class__": "LogTocElement",
+      "ident": 127,
+      "group": "stateEstimate",
+      "name": "ay",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "az": {
+      "__class__": "LogTocElement",
+      "ident": 128,
+      "group": "stateEstimate",
+      "name": "az",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 129,
+      "group": "stateEstimate",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 130,
+      "group": "stateEstimate",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 131,
+      "group": "stateEstimate",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qx": {
+      "__class__": "LogTocElement",
+      "ident": 132,
+      "group": "stateEstimate",
+      "name": "qx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qy": {
+      "__class__": "LogTocElement",
+      "ident": 133,
+      "group": "stateEstimate",
+      "name": "qy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qz": {
+      "__class__": "LogTocElement",
+      "ident": 134,
+      "group": "stateEstimate",
+      "name": "qz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "qw": {
+      "__class__": "LogTocElement",
+      "ident": 135,
+      "group": "stateEstimate",
+      "name": "qw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "stateEstimateZ": {
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 136,
+      "group": "stateEstimateZ",
+      "name": "x",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 137,
+      "group": "stateEstimateZ",
+      "name": "y",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 138,
+      "group": "stateEstimateZ",
+      "name": "z",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vx": {
+      "__class__": "LogTocElement",
+      "ident": 139,
+      "group": "stateEstimateZ",
+      "name": "vx",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vy": {
+      "__class__": "LogTocElement",
+      "ident": 140,
+      "group": "stateEstimateZ",
+      "name": "vy",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "vz": {
+      "__class__": "LogTocElement",
+      "ident": 141,
+      "group": "stateEstimateZ",
+      "name": "vz",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "ax": {
+      "__class__": "LogTocElement",
+      "ident": 142,
+      "group": "stateEstimateZ",
+      "name": "ax",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "ay": {
+      "__class__": "LogTocElement",
+      "ident": 143,
+      "group": "stateEstimateZ",
+      "name": "ay",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "az": {
+      "__class__": "LogTocElement",
+      "ident": 144,
+      "group": "stateEstimateZ",
+      "name": "az",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "quat": {
+      "__class__": "LogTocElement",
+      "ident": 145,
+      "group": "stateEstimateZ",
+      "name": "quat",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "rateRoll": {
+      "__class__": "LogTocElement",
+      "ident": 146,
+      "group": "stateEstimateZ",
+      "name": "rateRoll",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "ratePitch": {
+      "__class__": "LogTocElement",
+      "ident": 147,
+      "group": "stateEstimateZ",
+      "name": "ratePitch",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "rateYaw": {
+      "__class__": "LogTocElement",
+      "ident": 148,
+      "group": "stateEstimateZ",
+      "name": "rateYaw",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    }
+  },
+  "posEstAlt": {
+    "estimatedZ": {
+      "__class__": "LogTocElement",
+      "ident": 149,
+      "group": "posEstAlt",
+      "name": "estimatedZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "estVZ": {
+      "__class__": "LogTocElement",
+      "ident": 150,
+      "group": "posEstAlt",
+      "name": "estVZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velocityZ": {
+      "__class__": "LogTocElement",
+      "ident": 151,
+      "group": "posEstAlt",
+      "name": "velocityZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "posCtl": {
+    "targetVX": {
+      "__class__": "LogTocElement",
+      "ident": 152,
+      "group": "posCtl",
+      "name": "targetVX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "targetVY": {
+      "__class__": "LogTocElement",
+      "ident": 153,
+      "group": "posCtl",
+      "name": "targetVY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "targetVZ": {
+      "__class__": "LogTocElement",
+      "ident": 154,
+      "group": "posCtl",
+      "name": "targetVZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "targetX": {
+      "__class__": "LogTocElement",
+      "ident": 155,
+      "group": "posCtl",
+      "name": "targetX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "targetY": {
+      "__class__": "LogTocElement",
+      "ident": 156,
+      "group": "posCtl",
+      "name": "targetY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "targetZ": {
+      "__class__": "LogTocElement",
+      "ident": 157,
+      "group": "posCtl",
+      "name": "targetZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Xp": {
+      "__class__": "LogTocElement",
+      "ident": 158,
+      "group": "posCtl",
+      "name": "Xp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Xi": {
+      "__class__": "LogTocElement",
+      "ident": 159,
+      "group": "posCtl",
+      "name": "Xi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Xd": {
+      "__class__": "LogTocElement",
+      "ident": 160,
+      "group": "posCtl",
+      "name": "Xd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Yp": {
+      "__class__": "LogTocElement",
+      "ident": 161,
+      "group": "posCtl",
+      "name": "Yp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Yi": {
+      "__class__": "LogTocElement",
+      "ident": 162,
+      "group": "posCtl",
+      "name": "Yi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Yd": {
+      "__class__": "LogTocElement",
+      "ident": 163,
+      "group": "posCtl",
+      "name": "Yd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Zp": {
+      "__class__": "LogTocElement",
+      "ident": 164,
+      "group": "posCtl",
+      "name": "Zp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Zi": {
+      "__class__": "LogTocElement",
+      "ident": 165,
+      "group": "posCtl",
+      "name": "Zi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Zd": {
+      "__class__": "LogTocElement",
+      "ident": 166,
+      "group": "posCtl",
+      "name": "Zd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VXp": {
+      "__class__": "LogTocElement",
+      "ident": 167,
+      "group": "posCtl",
+      "name": "VXp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VXi": {
+      "__class__": "LogTocElement",
+      "ident": 168,
+      "group": "posCtl",
+      "name": "VXi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VXd": {
+      "__class__": "LogTocElement",
+      "ident": 169,
+      "group": "posCtl",
+      "name": "VXd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VZp": {
+      "__class__": "LogTocElement",
+      "ident": 170,
+      "group": "posCtl",
+      "name": "VZp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VZi": {
+      "__class__": "LogTocElement",
+      "ident": 171,
+      "group": "posCtl",
+      "name": "VZi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "VZd": {
+      "__class__": "LogTocElement",
+      "ident": 172,
+      "group": "posCtl",
+      "name": "VZd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "posCtrlIndi": {
+    "posRef_x": {
+      "__class__": "LogTocElement",
+      "ident": 173,
+      "group": "posCtrlIndi",
+      "name": "posRef_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "posRef_y": {
+      "__class__": "LogTocElement",
+      "ident": 174,
+      "group": "posCtrlIndi",
+      "name": "posRef_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "posRef_z": {
+      "__class__": "LogTocElement",
+      "ident": 175,
+      "group": "posCtrlIndi",
+      "name": "posRef_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velS_x": {
+      "__class__": "LogTocElement",
+      "ident": 176,
+      "group": "posCtrlIndi",
+      "name": "velS_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velS_y": {
+      "__class__": "LogTocElement",
+      "ident": 177,
+      "group": "posCtrlIndi",
+      "name": "velS_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velS_z": {
+      "__class__": "LogTocElement",
+      "ident": 178,
+      "group": "posCtrlIndi",
+      "name": "velS_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velRef_x": {
+      "__class__": "LogTocElement",
+      "ident": 179,
+      "group": "posCtrlIndi",
+      "name": "velRef_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velRef_y": {
+      "__class__": "LogTocElement",
+      "ident": 180,
+      "group": "posCtrlIndi",
+      "name": "velRef_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "velRef_z": {
+      "__class__": "LogTocElement",
+      "ident": 181,
+      "group": "posCtrlIndi",
+      "name": "velRef_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angS_roll": {
+      "__class__": "LogTocElement",
+      "ident": 182,
+      "group": "posCtrlIndi",
+      "name": "angS_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angS_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 183,
+      "group": "posCtrlIndi",
+      "name": "angS_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angS_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 184,
+      "group": "posCtrlIndi",
+      "name": "angS_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angF_roll": {
+      "__class__": "LogTocElement",
+      "ident": 185,
+      "group": "posCtrlIndi",
+      "name": "angF_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angF_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 186,
+      "group": "posCtrlIndi",
+      "name": "angF_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angF_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 187,
+      "group": "posCtrlIndi",
+      "name": "angF_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accRef_x": {
+      "__class__": "LogTocElement",
+      "ident": 188,
+      "group": "posCtrlIndi",
+      "name": "accRef_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accRef_y": {
+      "__class__": "LogTocElement",
+      "ident": 189,
+      "group": "posCtrlIndi",
+      "name": "accRef_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accRef_z": {
+      "__class__": "LogTocElement",
+      "ident": 190,
+      "group": "posCtrlIndi",
+      "name": "accRef_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accS_x": {
+      "__class__": "LogTocElement",
+      "ident": 191,
+      "group": "posCtrlIndi",
+      "name": "accS_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accS_y": {
+      "__class__": "LogTocElement",
+      "ident": 192,
+      "group": "posCtrlIndi",
+      "name": "accS_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accS_z": {
+      "__class__": "LogTocElement",
+      "ident": 193,
+      "group": "posCtrlIndi",
+      "name": "accS_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accF_x": {
+      "__class__": "LogTocElement",
+      "ident": 194,
+      "group": "posCtrlIndi",
+      "name": "accF_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accF_y": {
+      "__class__": "LogTocElement",
+      "ident": 195,
+      "group": "posCtrlIndi",
+      "name": "accF_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accF_z": {
+      "__class__": "LogTocElement",
+      "ident": 196,
+      "group": "posCtrlIndi",
+      "name": "accF_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accFT_x": {
+      "__class__": "LogTocElement",
+      "ident": 197,
+      "group": "posCtrlIndi",
+      "name": "accFT_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accFT_y": {
+      "__class__": "LogTocElement",
+      "ident": 198,
+      "group": "posCtrlIndi",
+      "name": "accFT_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accFT_z": {
+      "__class__": "LogTocElement",
+      "ident": 199,
+      "group": "posCtrlIndi",
+      "name": "accFT_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accErr_x": {
+      "__class__": "LogTocElement",
+      "ident": 200,
+      "group": "posCtrlIndi",
+      "name": "accErr_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accErr_y": {
+      "__class__": "LogTocElement",
+      "ident": 201,
+      "group": "posCtrlIndi",
+      "name": "accErr_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accErr_z": {
+      "__class__": "LogTocElement",
+      "ident": 202,
+      "group": "posCtrlIndi",
+      "name": "accErr_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "phi_tilde": {
+      "__class__": "LogTocElement",
+      "ident": 203,
+      "group": "posCtrlIndi",
+      "name": "phi_tilde",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "theta_tilde": {
+      "__class__": "LogTocElement",
+      "ident": 204,
+      "group": "posCtrlIndi",
+      "name": "theta_tilde",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "T_tilde": {
+      "__class__": "LogTocElement",
+      "ident": 205,
+      "group": "posCtrlIndi",
+      "name": "T_tilde",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "T_inner": {
+      "__class__": "LogTocElement",
+      "ident": 206,
+      "group": "posCtrlIndi",
+      "name": "T_inner",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "T_inner_f": {
+      "__class__": "LogTocElement",
+      "ident": 207,
+      "group": "posCtrlIndi",
+      "name": "T_inner_f",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "T_incremented": {
+      "__class__": "LogTocElement",
+      "ident": 208,
+      "group": "posCtrlIndi",
+      "name": "T_incremented",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_phi": {
+      "__class__": "LogTocElement",
+      "ident": 209,
+      "group": "posCtrlIndi",
+      "name": "cmd_phi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_theta": {
+      "__class__": "LogTocElement",
+      "ident": 210,
+      "group": "posCtrlIndi",
+      "name": "cmd_theta",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "estimator": {
+    "rtApnd": {
+      "__class__": "LogTocElement",
+      "ident": 211,
+      "group": "estimator",
+      "name": "rtApnd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rtRej": {
+      "__class__": "LogTocElement",
+      "ident": 212,
+      "group": "estimator",
+      "name": "rtRej",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ctrlMel": {
+    "cmd_thrust": {
+      "__class__": "LogTocElement",
+      "ident": 228,
+      "group": "ctrlMel",
+      "name": "cmd_thrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_roll": {
+      "__class__": "LogTocElement",
+      "ident": 229,
+      "group": "ctrlMel",
+      "name": "cmd_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 230,
+      "group": "ctrlMel",
+      "name": "cmd_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 231,
+      "group": "ctrlMel",
+      "name": "cmd_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_roll": {
+      "__class__": "LogTocElement",
+      "ident": 232,
+      "group": "ctrlMel",
+      "name": "r_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 233,
+      "group": "ctrlMel",
+      "name": "r_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 234,
+      "group": "ctrlMel",
+      "name": "r_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accelz": {
+      "__class__": "LogTocElement",
+      "ident": 235,
+      "group": "ctrlMel",
+      "name": "accelz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "zdx": {
+      "__class__": "LogTocElement",
+      "ident": 236,
+      "group": "ctrlMel",
+      "name": "zdx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "zdy": {
+      "__class__": "LogTocElement",
+      "ident": 237,
+      "group": "ctrlMel",
+      "name": "zdy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "zdz": {
+      "__class__": "LogTocElement",
+      "ident": 238,
+      "group": "ctrlMel",
+      "name": "zdz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "i_err_x": {
+      "__class__": "LogTocElement",
+      "ident": 239,
+      "group": "ctrlMel",
+      "name": "i_err_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "i_err_y": {
+      "__class__": "LogTocElement",
+      "ident": 240,
+      "group": "ctrlMel",
+      "name": "i_err_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "i_err_z": {
+      "__class__": "LogTocElement",
+      "ident": 241,
+      "group": "ctrlMel",
+      "name": "i_err_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ctrlINDI": {
+    "cmd_thrust": {
+      "__class__": "LogTocElement",
+      "ident": 242,
+      "group": "ctrlINDI",
+      "name": "cmd_thrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_roll": {
+      "__class__": "LogTocElement",
+      "ident": 243,
+      "group": "ctrlINDI",
+      "name": "cmd_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 244,
+      "group": "ctrlINDI",
+      "name": "cmd_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 245,
+      "group": "ctrlINDI",
+      "name": "cmd_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_roll": {
+      "__class__": "LogTocElement",
+      "ident": 246,
+      "group": "ctrlINDI",
+      "name": "r_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 247,
+      "group": "ctrlINDI",
+      "name": "r_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 248,
+      "group": "ctrlINDI",
+      "name": "r_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "u_act_dyn_p": {
+      "__class__": "LogTocElement",
+      "ident": 249,
+      "group": "ctrlINDI",
+      "name": "u_act_dyn_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "u_act_dyn_q": {
+      "__class__": "LogTocElement",
+      "ident": 250,
+      "group": "ctrlINDI",
+      "name": "u_act_dyn_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "u_act_dyn_r": {
+      "__class__": "LogTocElement",
+      "ident": 251,
+      "group": "ctrlINDI",
+      "name": "u_act_dyn_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "du_p": {
+      "__class__": "LogTocElement",
+      "ident": 252,
+      "group": "ctrlINDI",
+      "name": "du_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "du_q": {
+      "__class__": "LogTocElement",
+      "ident": 253,
+      "group": "ctrlINDI",
+      "name": "du_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "du_r": {
+      "__class__": "LogTocElement",
+      "ident": 254,
+      "group": "ctrlINDI",
+      "name": "du_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ang_accel_ref_p": {
+      "__class__": "LogTocElement",
+      "ident": 255,
+      "group": "ctrlINDI",
+      "name": "ang_accel_ref_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ang_accel_ref_q": {
+      "__class__": "LogTocElement",
+      "ident": 256,
+      "group": "ctrlINDI",
+      "name": "ang_accel_ref_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "ang_accel_ref_r": {
+      "__class__": "LogTocElement",
+      "ident": 257,
+      "group": "ctrlINDI",
+      "name": "ang_accel_ref_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rate_d[0]": {
+      "__class__": "LogTocElement",
+      "ident": 258,
+      "group": "ctrlINDI",
+      "name": "rate_d[0]",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rate_d[1]": {
+      "__class__": "LogTocElement",
+      "ident": 259,
+      "group": "ctrlINDI",
+      "name": "rate_d[1]",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rate_d[2]": {
+      "__class__": "LogTocElement",
+      "ident": 260,
+      "group": "ctrlINDI",
+      "name": "rate_d[2]",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "uf_p": {
+      "__class__": "LogTocElement",
+      "ident": 261,
+      "group": "ctrlINDI",
+      "name": "uf_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "uf_q": {
+      "__class__": "LogTocElement",
+      "ident": 262,
+      "group": "ctrlINDI",
+      "name": "uf_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "uf_r": {
+      "__class__": "LogTocElement",
+      "ident": 263,
+      "group": "ctrlINDI",
+      "name": "uf_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Omega_f_p": {
+      "__class__": "LogTocElement",
+      "ident": 264,
+      "group": "ctrlINDI",
+      "name": "Omega_f_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Omega_f_q": {
+      "__class__": "LogTocElement",
+      "ident": 265,
+      "group": "ctrlINDI",
+      "name": "Omega_f_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "Omega_f_r": {
+      "__class__": "LogTocElement",
+      "ident": 266,
+      "group": "ctrlINDI",
+      "name": "Omega_f_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "n_p": {
+      "__class__": "LogTocElement",
+      "ident": 267,
+      "group": "ctrlINDI",
+      "name": "n_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "n_q": {
+      "__class__": "LogTocElement",
+      "ident": 268,
+      "group": "ctrlINDI",
+      "name": "n_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "n_r": {
+      "__class__": "LogTocElement",
+      "ident": 269,
+      "group": "ctrlINDI",
+      "name": "n_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "s_pid_attitude": {
+    "roll_outP": {
+      "__class__": "LogTocElement",
+      "ident": 270,
+      "group": "s_pid_attitude",
+      "name": "roll_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outI": {
+      "__class__": "LogTocElement",
+      "ident": 271,
+      "group": "s_pid_attitude",
+      "name": "roll_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outD": {
+      "__class__": "LogTocElement",
+      "ident": 272,
+      "group": "s_pid_attitude",
+      "name": "roll_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outP": {
+      "__class__": "LogTocElement",
+      "ident": 273,
+      "group": "s_pid_attitude",
+      "name": "pitch_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outI": {
+      "__class__": "LogTocElement",
+      "ident": 274,
+      "group": "s_pid_attitude",
+      "name": "pitch_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outD": {
+      "__class__": "LogTocElement",
+      "ident": 275,
+      "group": "s_pid_attitude",
+      "name": "pitch_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outP": {
+      "__class__": "LogTocElement",
+      "ident": 276,
+      "group": "s_pid_attitude",
+      "name": "yaw_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outI": {
+      "__class__": "LogTocElement",
+      "ident": 277,
+      "group": "s_pid_attitude",
+      "name": "yaw_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outD": {
+      "__class__": "LogTocElement",
+      "ident": 278,
+      "group": "s_pid_attitude",
+      "name": "yaw_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "s_pid_rate": {
+    "roll_outP": {
+      "__class__": "LogTocElement",
+      "ident": 279,
+      "group": "s_pid_rate",
+      "name": "roll_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outI": {
+      "__class__": "LogTocElement",
+      "ident": 280,
+      "group": "s_pid_rate",
+      "name": "roll_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll_outD": {
+      "__class__": "LogTocElement",
+      "ident": 281,
+      "group": "s_pid_rate",
+      "name": "roll_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outP": {
+      "__class__": "LogTocElement",
+      "ident": 282,
+      "group": "s_pid_rate",
+      "name": "pitch_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outI": {
+      "__class__": "LogTocElement",
+      "ident": 283,
+      "group": "s_pid_rate",
+      "name": "pitch_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch_outD": {
+      "__class__": "LogTocElement",
+      "ident": 284,
+      "group": "s_pid_rate",
+      "name": "pitch_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outP": {
+      "__class__": "LogTocElement",
+      "ident": 285,
+      "group": "s_pid_rate",
+      "name": "yaw_outP",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outI": {
+      "__class__": "LogTocElement",
+      "ident": 286,
+      "group": "s_pid_rate",
+      "name": "yaw_outI",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw_outD": {
+      "__class__": "LogTocElement",
+      "ident": 287,
+      "group": "s_pid_rate",
+      "name": "yaw_outD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ctrlStdnt": {
+    "cmd_thrust": {
+      "__class__": "LogTocElement",
+      "ident": 288,
+      "group": "ctrlStdnt",
+      "name": "cmd_thrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_roll": {
+      "__class__": "LogTocElement",
+      "ident": 289,
+      "group": "ctrlStdnt",
+      "name": "cmd_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 290,
+      "group": "ctrlStdnt",
+      "name": "cmd_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cmd_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 291,
+      "group": "ctrlStdnt",
+      "name": "cmd_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_roll": {
+      "__class__": "LogTocElement",
+      "ident": 292,
+      "group": "ctrlStdnt",
+      "name": "r_roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_pitch": {
+      "__class__": "LogTocElement",
+      "ident": 293,
+      "group": "ctrlStdnt",
+      "name": "r_pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "r_yaw": {
+      "__class__": "LogTocElement",
+      "ident": 294,
+      "group": "ctrlStdnt",
+      "name": "r_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "accelz": {
+      "__class__": "LogTocElement",
+      "ident": 295,
+      "group": "ctrlStdnt",
+      "name": "accelz",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "thrustDesired": {
+      "__class__": "LogTocElement",
+      "ident": 296,
+      "group": "ctrlStdnt",
+      "name": "thrustDesired",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "roll": {
+      "__class__": "LogTocElement",
+      "ident": 297,
+      "group": "ctrlStdnt",
+      "name": "roll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitch": {
+      "__class__": "LogTocElement",
+      "ident": 298,
+      "group": "ctrlStdnt",
+      "name": "pitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yaw": {
+      "__class__": "LogTocElement",
+      "ident": 299,
+      "group": "ctrlStdnt",
+      "name": "yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rollRate": {
+      "__class__": "LogTocElement",
+      "ident": 300,
+      "group": "ctrlStdnt",
+      "name": "rollRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pitchRate": {
+      "__class__": "LogTocElement",
+      "ident": 301,
+      "group": "ctrlStdnt",
+      "name": "pitchRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "yawRate": {
+      "__class__": "LogTocElement",
+      "ident": 302,
+      "group": "ctrlStdnt",
+      "name": "yawRate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "motor": {
+    "m1": {
+      "__class__": "LogTocElement",
+      "ident": 303,
+      "group": "motor",
+      "name": "m1",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m2": {
+      "__class__": "LogTocElement",
+      "ident": 304,
+      "group": "motor",
+      "name": "m2",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m3": {
+      "__class__": "LogTocElement",
+      "ident": 305,
+      "group": "motor",
+      "name": "m3",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    },
+    "m4": {
+      "__class__": "LogTocElement",
+      "ident": 306,
+      "group": "motor",
+      "name": "m4",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    }
+  },
+  "colAv": {
+    "latency": {
+      "__class__": "LogTocElement",
+      "ident": 307,
+      "group": "colAv",
+      "name": "latency",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0
+    }
+  },
+  "health": {
+    "motorVarXM1": {
+      "__class__": "LogTocElement",
+      "ident": 308,
+      "group": "health",
+      "name": "motorVarXM1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarYM1": {
+      "__class__": "LogTocElement",
+      "ident": 309,
+      "group": "health",
+      "name": "motorVarYM1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarXM2": {
+      "__class__": "LogTocElement",
+      "ident": 310,
+      "group": "health",
+      "name": "motorVarXM2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarYM2": {
+      "__class__": "LogTocElement",
+      "ident": 311,
+      "group": "health",
+      "name": "motorVarYM2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarXM3": {
+      "__class__": "LogTocElement",
+      "ident": 312,
+      "group": "health",
+      "name": "motorVarXM3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarYM3": {
+      "__class__": "LogTocElement",
+      "ident": 313,
+      "group": "health",
+      "name": "motorVarYM3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarXM4": {
+      "__class__": "LogTocElement",
+      "ident": 314,
+      "group": "health",
+      "name": "motorVarXM4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorVarYM4": {
+      "__class__": "LogTocElement",
+      "ident": 315,
+      "group": "health",
+      "name": "motorVarYM4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "motorPass": {
+      "__class__": "LogTocElement",
+      "ident": 316,
+      "group": "health",
+      "name": "motorPass",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "batterySag": {
+      "__class__": "LogTocElement",
+      "ident": 317,
+      "group": "health",
+      "name": "batterySag",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "batteryPass": {
+      "__class__": "LogTocElement",
+      "ident": 318,
+      "group": "health",
+      "name": "batteryPass",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "motorTestCount": {
+      "__class__": "LogTocElement",
+      "ident": 319,
+      "group": "health",
+      "name": "motorTestCount",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "kalman": {
+    "inFlight": {
+      "__class__": "LogTocElement",
+      "ident": 320,
+      "group": "kalman",
+      "name": "inFlight",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "stateX": {
+      "__class__": "LogTocElement",
+      "ident": 321,
+      "group": "kalman",
+      "name": "stateX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stateY": {
+      "__class__": "LogTocElement",
+      "ident": 322,
+      "group": "kalman",
+      "name": "stateY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stateZ": {
+      "__class__": "LogTocElement",
+      "ident": 323,
+      "group": "kalman",
+      "name": "stateZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "statePX": {
+      "__class__": "LogTocElement",
+      "ident": 324,
+      "group": "kalman",
+      "name": "statePX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "statePY": {
+      "__class__": "LogTocElement",
+      "ident": 325,
+      "group": "kalman",
+      "name": "statePY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "statePZ": {
+      "__class__": "LogTocElement",
+      "ident": 326,
+      "group": "kalman",
+      "name": "statePZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stateD0": {
+      "__class__": "LogTocElement",
+      "ident": 327,
+      "group": "kalman",
+      "name": "stateD0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stateD1": {
+      "__class__": "LogTocElement",
+      "ident": 328,
+      "group": "kalman",
+      "name": "stateD1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stateD2": {
+      "__class__": "LogTocElement",
+      "ident": 329,
+      "group": "kalman",
+      "name": "stateD2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varX": {
+      "__class__": "LogTocElement",
+      "ident": 330,
+      "group": "kalman",
+      "name": "varX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varY": {
+      "__class__": "LogTocElement",
+      "ident": 331,
+      "group": "kalman",
+      "name": "varY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varZ": {
+      "__class__": "LogTocElement",
+      "ident": 332,
+      "group": "kalman",
+      "name": "varZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varPX": {
+      "__class__": "LogTocElement",
+      "ident": 333,
+      "group": "kalman",
+      "name": "varPX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varPY": {
+      "__class__": "LogTocElement",
+      "ident": 334,
+      "group": "kalman",
+      "name": "varPY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varPZ": {
+      "__class__": "LogTocElement",
+      "ident": 335,
+      "group": "kalman",
+      "name": "varPZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varD0": {
+      "__class__": "LogTocElement",
+      "ident": 336,
+      "group": "kalman",
+      "name": "varD0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varD1": {
+      "__class__": "LogTocElement",
+      "ident": 337,
+      "group": "kalman",
+      "name": "varD1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "varD2": {
+      "__class__": "LogTocElement",
+      "ident": 338,
+      "group": "kalman",
+      "name": "varD2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "q0": {
+      "__class__": "LogTocElement",
+      "ident": 339,
+      "group": "kalman",
+      "name": "q0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "q1": {
+      "__class__": "LogTocElement",
+      "ident": 340,
+      "group": "kalman",
+      "name": "q1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "q2": {
+      "__class__": "LogTocElement",
+      "ident": 341,
+      "group": "kalman",
+      "name": "q2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "q3": {
+      "__class__": "LogTocElement",
+      "ident": 342,
+      "group": "kalman",
+      "name": "q3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rtUpdate": {
+      "__class__": "LogTocElement",
+      "ident": 343,
+      "group": "kalman",
+      "name": "rtUpdate",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rtPred": {
+      "__class__": "LogTocElement",
+      "ident": 344,
+      "group": "kalman",
+      "name": "rtPred",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rtFinal": {
+      "__class__": "LogTocElement",
+      "ident": 345,
+      "group": "kalman",
+      "name": "rtFinal",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "outlierf": {
+    "lhWin": {
+      "__class__": "LogTocElement",
+      "ident": 346,
+      "group": "outlierf",
+      "name": "lhWin",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "bucket0": {
+      "__class__": "LogTocElement",
+      "ident": 427,
+      "group": "outlierf",
+      "name": "bucket0",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "bucket1": {
+      "__class__": "LogTocElement",
+      "ident": 428,
+      "group": "outlierf",
+      "name": "bucket1",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "bucket2": {
+      "__class__": "LogTocElement",
+      "ident": 429,
+      "group": "outlierf",
+      "name": "bucket2",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "bucket3": {
+      "__class__": "LogTocElement",
+      "ident": 430,
+      "group": "outlierf",
+      "name": "bucket3",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "bucket4": {
+      "__class__": "LogTocElement",
+      "ident": 431,
+      "group": "outlierf",
+      "name": "bucket4",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "accLev": {
+      "__class__": "LogTocElement",
+      "ident": 432,
+      "group": "outlierf",
+      "name": "accLev",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "errD": {
+      "__class__": "LogTocElement",
+      "ident": 433,
+      "group": "outlierf",
+      "name": "errD",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "kalman_pred": {
+    "predNX": {
+      "__class__": "LogTocElement",
+      "ident": 347,
+      "group": "kalman_pred",
+      "name": "predNX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "predNY": {
+      "__class__": "LogTocElement",
+      "ident": 348,
+      "group": "kalman_pred",
+      "name": "predNY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "measNX": {
+      "__class__": "LogTocElement",
+      "ident": 349,
+      "group": "kalman_pred",
+      "name": "measNX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "measNY": {
+      "__class__": "LogTocElement",
+      "ident": 350,
+      "group": "kalman_pred",
+      "name": "measNY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ring": {
+    "fadeTime": {
+      "__class__": "LogTocElement",
+      "ident": 351,
+      "group": "ring",
+      "name": "fadeTime",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "gps": {
+    "lat": {
+      "__class__": "LogTocElement",
+      "ident": 352,
+      "group": "gps",
+      "name": "lat",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "lon": {
+      "__class__": "LogTocElement",
+      "ident": 353,
+      "group": "gps",
+      "name": "lon",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "hMSL": {
+      "__class__": "LogTocElement",
+      "ident": 354,
+      "group": "gps",
+      "name": "hMSL",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "hAcc": {
+      "__class__": "LogTocElement",
+      "ident": 355,
+      "group": "gps",
+      "name": "hAcc",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "nsat": {
+      "__class__": "LogTocElement",
+      "ident": 356,
+      "group": "gps",
+      "name": "nsat",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    },
+    "fix": {
+      "__class__": "LogTocElement",
+      "ident": 357,
+      "group": "gps",
+      "name": "fix",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0
+    }
+  },
+  "usd": {
+    "spiWrBps": {
+      "__class__": "LogTocElement",
+      "ident": 358,
+      "group": "usd",
+      "name": "spiWrBps",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "spiReBps": {
+      "__class__": "LogTocElement",
+      "ident": 359,
+      "group": "usd",
+      "name": "spiReBps",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "fatWrBps": {
+      "__class__": "LogTocElement",
+      "ident": 360,
+      "group": "usd",
+      "name": "fatWrBps",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "loco": {
+    "mode": {
+      "__class__": "LogTocElement",
+      "ident": 361,
+      "group": "loco",
+      "name": "mode",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "spiWr": {
+      "__class__": "LogTocElement",
+      "ident": 362,
+      "group": "loco",
+      "name": "spiWr",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "spiRe": {
+      "__class__": "LogTocElement",
+      "ident": 363,
+      "group": "loco",
+      "name": "spiRe",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "ranging": {
+    "state": {
+      "__class__": "LogTocElement",
+      "ident": 364,
+      "group": "ranging",
+      "name": "state",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "distance0": {
+      "__class__": "LogTocElement",
+      "ident": 365,
+      "group": "ranging",
+      "name": "distance0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance1": {
+      "__class__": "LogTocElement",
+      "ident": 366,
+      "group": "ranging",
+      "name": "distance1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance2": {
+      "__class__": "LogTocElement",
+      "ident": 367,
+      "group": "ranging",
+      "name": "distance2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance3": {
+      "__class__": "LogTocElement",
+      "ident": 368,
+      "group": "ranging",
+      "name": "distance3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance4": {
+      "__class__": "LogTocElement",
+      "ident": 369,
+      "group": "ranging",
+      "name": "distance4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance5": {
+      "__class__": "LogTocElement",
+      "ident": 370,
+      "group": "ranging",
+      "name": "distance5",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance6": {
+      "__class__": "LogTocElement",
+      "ident": 371,
+      "group": "ranging",
+      "name": "distance6",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "distance7": {
+      "__class__": "LogTocElement",
+      "ident": 372,
+      "group": "ranging",
+      "name": "distance7",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure0": {
+      "__class__": "LogTocElement",
+      "ident": 373,
+      "group": "ranging",
+      "name": "pressure0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure1": {
+      "__class__": "LogTocElement",
+      "ident": 374,
+      "group": "ranging",
+      "name": "pressure1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure2": {
+      "__class__": "LogTocElement",
+      "ident": 375,
+      "group": "ranging",
+      "name": "pressure2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure3": {
+      "__class__": "LogTocElement",
+      "ident": 376,
+      "group": "ranging",
+      "name": "pressure3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure4": {
+      "__class__": "LogTocElement",
+      "ident": 377,
+      "group": "ranging",
+      "name": "pressure4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure5": {
+      "__class__": "LogTocElement",
+      "ident": 378,
+      "group": "ranging",
+      "name": "pressure5",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure6": {
+      "__class__": "LogTocElement",
+      "ident": 379,
+      "group": "ranging",
+      "name": "pressure6",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "pressure7": {
+      "__class__": "LogTocElement",
+      "ident": 380,
+      "group": "ranging",
+      "name": "pressure7",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "twr": {
+    "rangingSuccessRate0": {
+      "__class__": "LogTocElement",
+      "ident": 381,
+      "group": "twr",
+      "name": "rangingSuccessRate0",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec0": {
+      "__class__": "LogTocElement",
+      "ident": 382,
+      "group": "twr",
+      "name": "rangingPerSec0",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingSuccessRate1": {
+      "__class__": "LogTocElement",
+      "ident": 383,
+      "group": "twr",
+      "name": "rangingSuccessRate1",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec1": {
+      "__class__": "LogTocElement",
+      "ident": 384,
+      "group": "twr",
+      "name": "rangingPerSec1",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingSuccessRate2": {
+      "__class__": "LogTocElement",
+      "ident": 385,
+      "group": "twr",
+      "name": "rangingSuccessRate2",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec2": {
+      "__class__": "LogTocElement",
+      "ident": 386,
+      "group": "twr",
+      "name": "rangingPerSec2",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingSuccessRate3": {
+      "__class__": "LogTocElement",
+      "ident": 387,
+      "group": "twr",
+      "name": "rangingSuccessRate3",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec3": {
+      "__class__": "LogTocElement",
+      "ident": 388,
+      "group": "twr",
+      "name": "rangingPerSec3",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingSuccessRate4": {
+      "__class__": "LogTocElement",
+      "ident": 389,
+      "group": "twr",
+      "name": "rangingSuccessRate4",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec4": {
+      "__class__": "LogTocElement",
+      "ident": 390,
+      "group": "twr",
+      "name": "rangingPerSec4",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingSuccessRate5": {
+      "__class__": "LogTocElement",
+      "ident": 391,
+      "group": "twr",
+      "name": "rangingSuccessRate5",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rangingPerSec5": {
+      "__class__": "LogTocElement",
+      "ident": 392,
+      "group": "twr",
+      "name": "rangingPerSec5",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "tdoa2": {
+    "d7-0": {
+      "__class__": "LogTocElement",
+      "ident": 393,
+      "group": "tdoa2",
+      "name": "d7-0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d0-1": {
+      "__class__": "LogTocElement",
+      "ident": 394,
+      "group": "tdoa2",
+      "name": "d0-1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d1-2": {
+      "__class__": "LogTocElement",
+      "ident": 395,
+      "group": "tdoa2",
+      "name": "d1-2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d2-3": {
+      "__class__": "LogTocElement",
+      "ident": 396,
+      "group": "tdoa2",
+      "name": "d2-3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d3-4": {
+      "__class__": "LogTocElement",
+      "ident": 397,
+      "group": "tdoa2",
+      "name": "d3-4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d4-5": {
+      "__class__": "LogTocElement",
+      "ident": 398,
+      "group": "tdoa2",
+      "name": "d4-5",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d5-6": {
+      "__class__": "LogTocElement",
+      "ident": 399,
+      "group": "tdoa2",
+      "name": "d5-6",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "d6-7": {
+      "__class__": "LogTocElement",
+      "ident": 400,
+      "group": "tdoa2",
+      "name": "d6-7",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc0": {
+      "__class__": "LogTocElement",
+      "ident": 401,
+      "group": "tdoa2",
+      "name": "cc0",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc1": {
+      "__class__": "LogTocElement",
+      "ident": 402,
+      "group": "tdoa2",
+      "name": "cc1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc2": {
+      "__class__": "LogTocElement",
+      "ident": 403,
+      "group": "tdoa2",
+      "name": "cc2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc3": {
+      "__class__": "LogTocElement",
+      "ident": 404,
+      "group": "tdoa2",
+      "name": "cc3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc4": {
+      "__class__": "LogTocElement",
+      "ident": 405,
+      "group": "tdoa2",
+      "name": "cc4",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc5": {
+      "__class__": "LogTocElement",
+      "ident": 406,
+      "group": "tdoa2",
+      "name": "cc5",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc6": {
+      "__class__": "LogTocElement",
+      "ident": 407,
+      "group": "tdoa2",
+      "name": "cc6",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc7": {
+      "__class__": "LogTocElement",
+      "ident": 408,
+      "group": "tdoa2",
+      "name": "cc7",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "dist7-0": {
+      "__class__": "LogTocElement",
+      "ident": 409,
+      "group": "tdoa2",
+      "name": "dist7-0",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist0-1": {
+      "__class__": "LogTocElement",
+      "ident": 410,
+      "group": "tdoa2",
+      "name": "dist0-1",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist1-2": {
+      "__class__": "LogTocElement",
+      "ident": 411,
+      "group": "tdoa2",
+      "name": "dist1-2",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist2-3": {
+      "__class__": "LogTocElement",
+      "ident": 412,
+      "group": "tdoa2",
+      "name": "dist2-3",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist3-4": {
+      "__class__": "LogTocElement",
+      "ident": 413,
+      "group": "tdoa2",
+      "name": "dist3-4",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist4-5": {
+      "__class__": "LogTocElement",
+      "ident": 414,
+      "group": "tdoa2",
+      "name": "dist4-5",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist5-6": {
+      "__class__": "LogTocElement",
+      "ident": 415,
+      "group": "tdoa2",
+      "name": "dist5-6",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "dist6-7": {
+      "__class__": "LogTocElement",
+      "ident": 416,
+      "group": "tdoa2",
+      "name": "dist6-7",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "tdoaEngine": {
+    "stRx": {
+      "__class__": "LogTocElement",
+      "ident": 417,
+      "group": "tdoaEngine",
+      "name": "stRx",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stEst": {
+      "__class__": "LogTocElement",
+      "ident": 418,
+      "group": "tdoaEngine",
+      "name": "stEst",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stTime": {
+      "__class__": "LogTocElement",
+      "ident": 419,
+      "group": "tdoaEngine",
+      "name": "stTime",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stFound": {
+      "__class__": "LogTocElement",
+      "ident": 420,
+      "group": "tdoaEngine",
+      "name": "stFound",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stCc": {
+      "__class__": "LogTocElement",
+      "ident": 421,
+      "group": "tdoaEngine",
+      "name": "stCc",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stHit": {
+      "__class__": "LogTocElement",
+      "ident": 422,
+      "group": "tdoaEngine",
+      "name": "stHit",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "stMiss": {
+      "__class__": "LogTocElement",
+      "ident": 423,
+      "group": "tdoaEngine",
+      "name": "stMiss",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cc": {
+      "__class__": "LogTocElement",
+      "ident": 424,
+      "group": "tdoaEngine",
+      "name": "cc",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "tof": {
+      "__class__": "LogTocElement",
+      "ident": 425,
+      "group": "tdoaEngine",
+      "name": "tof",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "tdoa": {
+      "__class__": "LogTocElement",
+      "ident": 426,
+      "group": "tdoaEngine",
+      "name": "tdoa",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "motion": {
+    "motion": {
+      "__class__": "LogTocElement",
+      "ident": 434,
+      "group": "motion",
+      "name": "motion",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "deltaX": {
+      "__class__": "LogTocElement",
+      "ident": 435,
+      "group": "motion",
+      "name": "deltaX",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "deltaY": {
+      "__class__": "LogTocElement",
+      "ident": 436,
+      "group": "motion",
+      "name": "deltaY",
+      "ctype": "int16_t",
+      "pytype": "<h",
+      "access": 0
+    },
+    "shutter": {
+      "__class__": "LogTocElement",
+      "ident": 437,
+      "group": "motion",
+      "name": "shutter",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "maxRaw": {
+      "__class__": "LogTocElement",
+      "ident": 438,
+      "group": "motion",
+      "name": "maxRaw",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "minRaw": {
+      "__class__": "LogTocElement",
+      "ident": 439,
+      "group": "motion",
+      "name": "minRaw",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "Rawsum": {
+      "__class__": "LogTocElement",
+      "ident": 440,
+      "group": "motion",
+      "name": "Rawsum",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "outlierCount": {
+      "__class__": "LogTocElement",
+      "ident": 441,
+      "group": "motion",
+      "name": "outlierCount",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "squal": {
+      "__class__": "LogTocElement",
+      "ident": 442,
+      "group": "motion",
+      "name": "squal",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "std": {
+      "__class__": "LogTocElement",
+      "ident": 443,
+      "group": "motion",
+      "name": "std",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    }
+  },
+  "oa": {
+    "front": {
+      "__class__": "LogTocElement",
+      "ident": 444,
+      "group": "oa",
+      "name": "front",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "back": {
+      "__class__": "LogTocElement",
+      "ident": 445,
+      "group": "oa",
+      "name": "back",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "up": {
+      "__class__": "LogTocElement",
+      "ident": 446,
+      "group": "oa",
+      "name": "up",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "left": {
+      "__class__": "LogTocElement",
+      "ident": 447,
+      "group": "oa",
+      "name": "left",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "right": {
+      "__class__": "LogTocElement",
+      "ident": 448,
+      "group": "oa",
+      "name": "right",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  },
+  "activeMarker": {
+    "btSns": {
+      "__class__": "LogTocElement",
+      "ident": 449,
+      "group": "activeMarker",
+      "name": "btSns",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "i2cOk": {
+      "__class__": "LogTocElement",
+      "ident": 450,
+      "group": "activeMarker",
+      "name": "i2cOk",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "aideck": {
+    "receivebyte": {
+      "__class__": "LogTocElement",
+      "ident": 451,
+      "group": "aideck",
+      "name": "receivebyte",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    }
+  },
+  "lighthouse": {
+    "validAngles": {
+      "__class__": "LogTocElement",
+      "ident": 452,
+      "group": "lighthouse",
+      "name": "validAngles",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "rawAngle0x": {
+      "__class__": "LogTocElement",
+      "ident": 453,
+      "group": "lighthouse",
+      "name": "rawAngle0x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle0y": {
+      "__class__": "LogTocElement",
+      "ident": 454,
+      "group": "lighthouse",
+      "name": "rawAngle0y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle1x": {
+      "__class__": "LogTocElement",
+      "ident": 455,
+      "group": "lighthouse",
+      "name": "rawAngle1x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle1y": {
+      "__class__": "LogTocElement",
+      "ident": 456,
+      "group": "lighthouse",
+      "name": "rawAngle1y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0x": {
+      "__class__": "LogTocElement",
+      "ident": 457,
+      "group": "lighthouse",
+      "name": "angle0x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0y": {
+      "__class__": "LogTocElement",
+      "ident": 458,
+      "group": "lighthouse",
+      "name": "angle0y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1x": {
+      "__class__": "LogTocElement",
+      "ident": 459,
+      "group": "lighthouse",
+      "name": "angle1x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1y": {
+      "__class__": "LogTocElement",
+      "ident": 460,
+      "group": "lighthouse",
+      "name": "angle1y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0x_1": {
+      "__class__": "LogTocElement",
+      "ident": 461,
+      "group": "lighthouse",
+      "name": "angle0x_1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0y_1": {
+      "__class__": "LogTocElement",
+      "ident": 462,
+      "group": "lighthouse",
+      "name": "angle0y_1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1x_1": {
+      "__class__": "LogTocElement",
+      "ident": 463,
+      "group": "lighthouse",
+      "name": "angle1x_1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1y_1": {
+      "__class__": "LogTocElement",
+      "ident": 464,
+      "group": "lighthouse",
+      "name": "angle1y_1",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0x_2": {
+      "__class__": "LogTocElement",
+      "ident": 465,
+      "group": "lighthouse",
+      "name": "angle0x_2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0y_2": {
+      "__class__": "LogTocElement",
+      "ident": 466,
+      "group": "lighthouse",
+      "name": "angle0y_2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1x_2": {
+      "__class__": "LogTocElement",
+      "ident": 467,
+      "group": "lighthouse",
+      "name": "angle1x_2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1y_2": {
+      "__class__": "LogTocElement",
+      "ident": 468,
+      "group": "lighthouse",
+      "name": "angle1y_2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0x_3": {
+      "__class__": "LogTocElement",
+      "ident": 469,
+      "group": "lighthouse",
+      "name": "angle0x_3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0y_3": {
+      "__class__": "LogTocElement",
+      "ident": 470,
+      "group": "lighthouse",
+      "name": "angle0y_3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1x_3": {
+      "__class__": "LogTocElement",
+      "ident": 471,
+      "group": "lighthouse",
+      "name": "angle1x_3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1y_3": {
+      "__class__": "LogTocElement",
+      "ident": 472,
+      "group": "lighthouse",
+      "name": "angle1y_3",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle0xlh2": {
+      "__class__": "LogTocElement",
+      "ident": 473,
+      "group": "lighthouse",
+      "name": "rawAngle0xlh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle0ylh2": {
+      "__class__": "LogTocElement",
+      "ident": 474,
+      "group": "lighthouse",
+      "name": "rawAngle0ylh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle1xlh2": {
+      "__class__": "LogTocElement",
+      "ident": 475,
+      "group": "lighthouse",
+      "name": "rawAngle1xlh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "rawAngle1ylh2": {
+      "__class__": "LogTocElement",
+      "ident": 476,
+      "group": "lighthouse",
+      "name": "rawAngle1ylh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0x_0lh2": {
+      "__class__": "LogTocElement",
+      "ident": 477,
+      "group": "lighthouse",
+      "name": "angle0x_0lh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle0y_0lh2": {
+      "__class__": "LogTocElement",
+      "ident": 478,
+      "group": "lighthouse",
+      "name": "angle0y_0lh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1x_0lh2": {
+      "__class__": "LogTocElement",
+      "ident": 479,
+      "group": "lighthouse",
+      "name": "angle1x_0lh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "angle1y_0lh2": {
+      "__class__": "LogTocElement",
+      "ident": 480,
+      "group": "lighthouse",
+      "name": "angle1y_0lh2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "serRt": {
+      "__class__": "LogTocElement",
+      "ident": 481,
+      "group": "lighthouse",
+      "name": "serRt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "frmRt": {
+      "__class__": "LogTocElement",
+      "ident": 482,
+      "group": "lighthouse",
+      "name": "frmRt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "cycleRt": {
+      "__class__": "LogTocElement",
+      "ident": 483,
+      "group": "lighthouse",
+      "name": "cycleRt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "bs0Rt": {
+      "__class__": "LogTocElement",
+      "ident": 484,
+      "group": "lighthouse",
+      "name": "bs0Rt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "bs1Rt": {
+      "__class__": "LogTocElement",
+      "ident": 485,
+      "group": "lighthouse",
+      "name": "bs1Rt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "width0": {
+      "__class__": "LogTocElement",
+      "ident": 486,
+      "group": "lighthouse",
+      "name": "width0",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "width1": {
+      "__class__": "LogTocElement",
+      "ident": 487,
+      "group": "lighthouse",
+      "name": "width1",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "width2": {
+      "__class__": "LogTocElement",
+      "ident": 488,
+      "group": "lighthouse",
+      "name": "width2",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "width3": {
+      "__class__": "LogTocElement",
+      "ident": 489,
+      "group": "lighthouse",
+      "name": "width3",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "comSync": {
+      "__class__": "LogTocElement",
+      "ident": 490,
+      "group": "lighthouse",
+      "name": "comSync",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "bsReceive": {
+      "__class__": "LogTocElement",
+      "ident": 491,
+      "group": "lighthouse",
+      "name": "bsReceive",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "bsActive": {
+      "__class__": "LogTocElement",
+      "ident": 492,
+      "group": "lighthouse",
+      "name": "bsActive",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "bsCalUd": {
+      "__class__": "LogTocElement",
+      "ident": 493,
+      "group": "lighthouse",
+      "name": "bsCalUd",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "bsCalCon": {
+      "__class__": "LogTocElement",
+      "ident": 494,
+      "group": "lighthouse",
+      "name": "bsCalCon",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "status": {
+      "__class__": "LogTocElement",
+      "ident": 495,
+      "group": "lighthouse",
+      "name": "status",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0
+    },
+    "posRt": {
+      "__class__": "LogTocElement",
+      "ident": 496,
+      "group": "lighthouse",
+      "name": "posRt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "estBs0Rt": {
+      "__class__": "LogTocElement",
+      "ident": 497,
+      "group": "lighthouse",
+      "name": "estBs0Rt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "estBs1Rt": {
+      "__class__": "LogTocElement",
+      "ident": 498,
+      "group": "lighthouse",
+      "name": "estBs1Rt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "x": {
+      "__class__": "LogTocElement",
+      "ident": 499,
+      "group": "lighthouse",
+      "name": "x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "y": {
+      "__class__": "LogTocElement",
+      "ident": 500,
+      "group": "lighthouse",
+      "name": "y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "z": {
+      "__class__": "LogTocElement",
+      "ident": 501,
+      "group": "lighthouse",
+      "name": "z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "delta": {
+      "__class__": "LogTocElement",
+      "ident": 502,
+      "group": "lighthouse",
+      "name": "delta",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0
+    },
+    "bsGeoVal": {
+      "__class__": "LogTocElement",
+      "ident": 503,
+      "group": "lighthouse",
+      "name": "bsGeoVal",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    },
+    "bsCalVal": {
+      "__class__": "LogTocElement",
+      "ident": 504,
+      "group": "lighthouse",
+      "name": "bsCalVal",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0
+    }
+  }
+}
\ No newline at end of file
diff --git a/cflib_groundstation/cache/CCB14664.json b/cflib_groundstation/cache/CCB14664.json
new file mode 100644
index 000000000..e7a113b3d
--- /dev/null
+++ b/cflib_groundstation/cache/CCB14664.json
@@ -0,0 +1,2544 @@
+{
+  "imu_sensors": {
+    "AK8963": {
+      "__class__": "ParamTocElement",
+      "ident": 0,
+      "group": "imu_sensors",
+      "name": "AK8963",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "LPS25H": {
+      "__class__": "ParamTocElement",
+      "ident": 1,
+      "group": "imu_sensors",
+      "name": "LPS25H",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "BMP388": {
+      "__class__": "ParamTocElement",
+      "ident": 5,
+      "group": "imu_sensors",
+      "name": "BMP388",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    }
+  },
+  "imu_tests": {
+    "MPU6500": {
+      "__class__": "ParamTocElement",
+      "ident": 2,
+      "group": "imu_tests",
+      "name": "MPU6500",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "AK8963": {
+      "__class__": "ParamTocElement",
+      "ident": 3,
+      "group": "imu_tests",
+      "name": "AK8963",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "LPS25H": {
+      "__class__": "ParamTocElement",
+      "ident": 4,
+      "group": "imu_tests",
+      "name": "LPS25H",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    }
+  },
+  "cpu": {
+    "flash": {
+      "__class__": "ParamTocElement",
+      "ident": 6,
+      "group": "cpu",
+      "name": "flash",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 1,
+      "extended": false
+    },
+    "id0": {
+      "__class__": "ParamTocElement",
+      "ident": 7,
+      "group": "cpu",
+      "name": "id0",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    },
+    "id1": {
+      "__class__": "ParamTocElement",
+      "ident": 8,
+      "group": "cpu",
+      "name": "id1",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    },
+    "id2": {
+      "__class__": "ParamTocElement",
+      "ident": 9,
+      "group": "cpu",
+      "name": "id2",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    }
+  },
+  "system": {
+    "selftestPassed": {
+      "__class__": "ParamTocElement",
+      "ident": 10,
+      "group": "system",
+      "name": "selftestPassed",
+      "ctype": "int8_t",
+      "pytype": "<b",
+      "access": 1,
+      "extended": false
+    },
+    "forceArm": {
+      "__class__": "ParamTocElement",
+      "ident": 11,
+      "group": "system",
+      "name": "forceArm",
+      "ctype": "int8_t",
+      "pytype": "<b",
+      "access": 0,
+      "extended": false
+    },
+    "taskDump": {
+      "__class__": "ParamTocElement",
+      "ident": 16,
+      "group": "system",
+      "name": "taskDump",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "highlight": {
+      "__class__": "ParamTocElement",
+      "ident": 208,
+      "group": "system",
+      "name": "highlight",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "crtpsrv": {
+    "echoDelay": {
+      "__class__": "ParamTocElement",
+      "ident": 12,
+      "group": "crtpsrv",
+      "name": "echoDelay",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "sound": {
+    "effect": {
+      "__class__": "ParamTocElement",
+      "ident": 13,
+      "group": "sound",
+      "name": "effect",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "neffect": {
+      "__class__": "ParamTocElement",
+      "ident": 14,
+      "group": "sound",
+      "name": "neffect",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    },
+    "freq": {
+      "__class__": "ParamTocElement",
+      "ident": 15,
+      "group": "sound",
+      "name": "freq",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "memTst": {
+    "resetW": {
+      "__class__": "ParamTocElement",
+      "ident": 17,
+      "group": "memTst",
+      "name": "resetW",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "sys": {
+    "e_stop": {
+      "__class__": "ParamTocElement",
+      "ident": 18,
+      "group": "sys",
+      "name": "e_stop",
+      "ctype": "int8_t",
+      "pytype": "<b",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "commander": {
+    "enHighLevel": {
+      "__class__": "ParamTocElement",
+      "ident": 19,
+      "group": "commander",
+      "name": "enHighLevel",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "flightmode": {
+    "althold": {
+      "__class__": "ParamTocElement",
+      "ident": 20,
+      "group": "flightmode",
+      "name": "althold",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "poshold": {
+      "__class__": "ParamTocElement",
+      "ident": 21,
+      "group": "flightmode",
+      "name": "poshold",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "posSet": {
+      "__class__": "ParamTocElement",
+      "ident": 22,
+      "group": "flightmode",
+      "name": "posSet",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "yawMode": {
+      "__class__": "ParamTocElement",
+      "ident": 23,
+      "group": "flightmode",
+      "name": "yawMode",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "stabModeRoll": {
+      "__class__": "ParamTocElement",
+      "ident": 24,
+      "group": "flightmode",
+      "name": "stabModeRoll",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "stabModePitch": {
+      "__class__": "ParamTocElement",
+      "ident": 25,
+      "group": "flightmode",
+      "name": "stabModePitch",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "stabModeYaw": {
+      "__class__": "ParamTocElement",
+      "ident": 26,
+      "group": "flightmode",
+      "name": "stabModeYaw",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "cmdrCPPM": {
+    "rateRoll": {
+      "__class__": "ParamTocElement",
+      "ident": 27,
+      "group": "cmdrCPPM",
+      "name": "rateRoll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ratePitch": {
+      "__class__": "ParamTocElement",
+      "ident": 28,
+      "group": "cmdrCPPM",
+      "name": "ratePitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "angPitch": {
+      "__class__": "ParamTocElement",
+      "ident": 29,
+      "group": "cmdrCPPM",
+      "name": "angPitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "angRoll": {
+      "__class__": "ParamTocElement",
+      "ident": 30,
+      "group": "cmdrCPPM",
+      "name": "angRoll",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "rateYaw": {
+      "__class__": "ParamTocElement",
+      "ident": 31,
+      "group": "cmdrCPPM",
+      "name": "rateYaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "locSrv": {
+    "enRangeStreamFP32": {
+      "__class__": "ParamTocElement",
+      "ident": 32,
+      "group": "locSrv",
+      "name": "enRangeStreamFP32",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "enLhAngleStream": {
+      "__class__": "ParamTocElement",
+      "ident": 33,
+      "group": "locSrv",
+      "name": "enLhAngleStream",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "extPosStdDev": {
+      "__class__": "ParamTocElement",
+      "ident": 34,
+      "group": "locSrv",
+      "name": "extPosStdDev",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "extQuatStdDev": {
+      "__class__": "ParamTocElement",
+      "ident": 35,
+      "group": "locSrv",
+      "name": "extQuatStdDev",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "pid_attitude": {
+    "roll_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 36,
+      "group": "pid_attitude",
+      "name": "roll_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 37,
+      "group": "pid_attitude",
+      "name": "roll_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 38,
+      "group": "pid_attitude",
+      "name": "roll_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 39,
+      "group": "pid_attitude",
+      "name": "pitch_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 40,
+      "group": "pid_attitude",
+      "name": "pitch_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 41,
+      "group": "pid_attitude",
+      "name": "pitch_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 42,
+      "group": "pid_attitude",
+      "name": "yaw_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 43,
+      "group": "pid_attitude",
+      "name": "yaw_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 44,
+      "group": "pid_attitude",
+      "name": "yaw_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "pid_rate": {
+    "roll_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 45,
+      "group": "pid_rate",
+      "name": "roll_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 46,
+      "group": "pid_rate",
+      "name": "roll_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 47,
+      "group": "pid_rate",
+      "name": "roll_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 48,
+      "group": "pid_rate",
+      "name": "pitch_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 49,
+      "group": "pid_rate",
+      "name": "pitch_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 50,
+      "group": "pid_rate",
+      "name": "pitch_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 51,
+      "group": "pid_rate",
+      "name": "yaw_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 52,
+      "group": "pid_rate",
+      "name": "yaw_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 53,
+      "group": "pid_rate",
+      "name": "yaw_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "sensfusion6": {
+    "kp": {
+      "__class__": "ParamTocElement",
+      "ident": 54,
+      "group": "sensfusion6",
+      "name": "kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ki": {
+      "__class__": "ParamTocElement",
+      "ident": 55,
+      "group": "sensfusion6",
+      "name": "ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "baseZacc": {
+      "__class__": "ParamTocElement",
+      "ident": 56,
+      "group": "sensfusion6",
+      "name": "baseZacc",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "stabilizer": {
+    "estimator": {
+      "__class__": "ParamTocElement",
+      "ident": 57,
+      "group": "stabilizer",
+      "name": "estimator",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "controller": {
+      "__class__": "ParamTocElement",
+      "ident": 58,
+      "group": "stabilizer",
+      "name": "controller",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "stop": {
+      "__class__": "ParamTocElement",
+      "ident": 59,
+      "group": "stabilizer",
+      "name": "stop",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "posEstAlt": {
+    "estAlphaAsl": {
+      "__class__": "ParamTocElement",
+      "ident": 60,
+      "group": "posEstAlt",
+      "name": "estAlphaAsl",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "estAlphaZr": {
+      "__class__": "ParamTocElement",
+      "ident": 61,
+      "group": "posEstAlt",
+      "name": "estAlphaZr",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "velFactor": {
+      "__class__": "ParamTocElement",
+      "ident": 62,
+      "group": "posEstAlt",
+      "name": "velFactor",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "velZAlpha": {
+      "__class__": "ParamTocElement",
+      "ident": 63,
+      "group": "posEstAlt",
+      "name": "velZAlpha",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vAccDeadband": {
+      "__class__": "ParamTocElement",
+      "ident": 64,
+      "group": "posEstAlt",
+      "name": "vAccDeadband",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "posCtlPid": {
+    "xKp": {
+      "__class__": "ParamTocElement",
+      "ident": 65,
+      "group": "posCtlPid",
+      "name": "xKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "xKi": {
+      "__class__": "ParamTocElement",
+      "ident": 66,
+      "group": "posCtlPid",
+      "name": "xKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "xKd": {
+      "__class__": "ParamTocElement",
+      "ident": 67,
+      "group": "posCtlPid",
+      "name": "xKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yKp": {
+      "__class__": "ParamTocElement",
+      "ident": 68,
+      "group": "posCtlPid",
+      "name": "yKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yKi": {
+      "__class__": "ParamTocElement",
+      "ident": 69,
+      "group": "posCtlPid",
+      "name": "yKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yKd": {
+      "__class__": "ParamTocElement",
+      "ident": 70,
+      "group": "posCtlPid",
+      "name": "yKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "zKp": {
+      "__class__": "ParamTocElement",
+      "ident": 71,
+      "group": "posCtlPid",
+      "name": "zKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "zKi": {
+      "__class__": "ParamTocElement",
+      "ident": 72,
+      "group": "posCtlPid",
+      "name": "zKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "zKd": {
+      "__class__": "ParamTocElement",
+      "ident": 73,
+      "group": "posCtlPid",
+      "name": "zKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "thrustBase": {
+      "__class__": "ParamTocElement",
+      "ident": 74,
+      "group": "posCtlPid",
+      "name": "thrustBase",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    },
+    "thrustMin": {
+      "__class__": "ParamTocElement",
+      "ident": 75,
+      "group": "posCtlPid",
+      "name": "thrustMin",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    },
+    "rpLimit": {
+      "__class__": "ParamTocElement",
+      "ident": 76,
+      "group": "posCtlPid",
+      "name": "rpLimit",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "xyVelMax": {
+      "__class__": "ParamTocElement",
+      "ident": 77,
+      "group": "posCtlPid",
+      "name": "xyVelMax",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "zVelMax": {
+      "__class__": "ParamTocElement",
+      "ident": 78,
+      "group": "posCtlPid",
+      "name": "zVelMax",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "velCtlPid": {
+    "vxKp": {
+      "__class__": "ParamTocElement",
+      "ident": 79,
+      "group": "velCtlPid",
+      "name": "vxKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vxKi": {
+      "__class__": "ParamTocElement",
+      "ident": 80,
+      "group": "velCtlPid",
+      "name": "vxKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vxKd": {
+      "__class__": "ParamTocElement",
+      "ident": 81,
+      "group": "velCtlPid",
+      "name": "vxKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vyKp": {
+      "__class__": "ParamTocElement",
+      "ident": 82,
+      "group": "velCtlPid",
+      "name": "vyKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vyKi": {
+      "__class__": "ParamTocElement",
+      "ident": 83,
+      "group": "velCtlPid",
+      "name": "vyKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vyKd": {
+      "__class__": "ParamTocElement",
+      "ident": 84,
+      "group": "velCtlPid",
+      "name": "vyKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vzKp": {
+      "__class__": "ParamTocElement",
+      "ident": 85,
+      "group": "velCtlPid",
+      "name": "vzKp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vzKi": {
+      "__class__": "ParamTocElement",
+      "ident": 86,
+      "group": "velCtlPid",
+      "name": "vzKi",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vzKd": {
+      "__class__": "ParamTocElement",
+      "ident": 87,
+      "group": "velCtlPid",
+      "name": "vzKd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "posCtrlIndi": {
+    "K_xi_x": {
+      "__class__": "ParamTocElement",
+      "ident": 88,
+      "group": "posCtrlIndi",
+      "name": "K_xi_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "K_xi_y": {
+      "__class__": "ParamTocElement",
+      "ident": 89,
+      "group": "posCtrlIndi",
+      "name": "K_xi_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "K_xi_z": {
+      "__class__": "ParamTocElement",
+      "ident": 90,
+      "group": "posCtrlIndi",
+      "name": "K_xi_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "K_dxi_x": {
+      "__class__": "ParamTocElement",
+      "ident": 91,
+      "group": "posCtrlIndi",
+      "name": "K_dxi_x",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "K_dxi_y": {
+      "__class__": "ParamTocElement",
+      "ident": 92,
+      "group": "posCtrlIndi",
+      "name": "K_dxi_y",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "K_dxi_z": {
+      "__class__": "ParamTocElement",
+      "ident": 93,
+      "group": "posCtrlIndi",
+      "name": "K_dxi_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pq_clamping": {
+      "__class__": "ParamTocElement",
+      "ident": 94,
+      "group": "posCtrlIndi",
+      "name": "pq_clamping",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "controller": {
+    "tiltComp": {
+      "__class__": "ParamTocElement",
+      "ident": 95,
+      "group": "controller",
+      "name": "tiltComp",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "ctrlMel": {
+    "kp_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 96,
+      "group": "ctrlMel",
+      "name": "kp_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kd_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 97,
+      "group": "ctrlMel",
+      "name": "kd_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ki_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 98,
+      "group": "ctrlMel",
+      "name": "ki_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "i_range_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 99,
+      "group": "ctrlMel",
+      "name": "i_range_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kp_z": {
+      "__class__": "ParamTocElement",
+      "ident": 100,
+      "group": "ctrlMel",
+      "name": "kp_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kd_z": {
+      "__class__": "ParamTocElement",
+      "ident": 101,
+      "group": "ctrlMel",
+      "name": "kd_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ki_z": {
+      "__class__": "ParamTocElement",
+      "ident": 102,
+      "group": "ctrlMel",
+      "name": "ki_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "i_range_z": {
+      "__class__": "ParamTocElement",
+      "ident": 103,
+      "group": "ctrlMel",
+      "name": "i_range_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "mass": {
+      "__class__": "ParamTocElement",
+      "ident": 104,
+      "group": "ctrlMel",
+      "name": "mass",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "massThrust": {
+      "__class__": "ParamTocElement",
+      "ident": 105,
+      "group": "ctrlMel",
+      "name": "massThrust",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kR_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 106,
+      "group": "ctrlMel",
+      "name": "kR_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kR_z": {
+      "__class__": "ParamTocElement",
+      "ident": 107,
+      "group": "ctrlMel",
+      "name": "kR_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kw_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 108,
+      "group": "ctrlMel",
+      "name": "kw_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kw_z": {
+      "__class__": "ParamTocElement",
+      "ident": 109,
+      "group": "ctrlMel",
+      "name": "kw_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ki_m_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 110,
+      "group": "ctrlMel",
+      "name": "ki_m_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ki_m_z": {
+      "__class__": "ParamTocElement",
+      "ident": 111,
+      "group": "ctrlMel",
+      "name": "ki_m_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "kd_omega_rp": {
+      "__class__": "ParamTocElement",
+      "ident": 112,
+      "group": "ctrlMel",
+      "name": "kd_omega_rp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "i_range_m_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 113,
+      "group": "ctrlMel",
+      "name": "i_range_m_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "i_range_m_z": {
+      "__class__": "ParamTocElement",
+      "ident": 114,
+      "group": "ctrlMel",
+      "name": "i_range_m_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "ctrlINDI": {
+    "thrust_threshold": {
+      "__class__": "ParamTocElement",
+      "ident": 115,
+      "group": "ctrlINDI",
+      "name": "thrust_threshold",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bound_ctrl_input": {
+      "__class__": "ParamTocElement",
+      "ident": 116,
+      "group": "ctrlINDI",
+      "name": "bound_ctrl_input",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "g1_p": {
+      "__class__": "ParamTocElement",
+      "ident": 117,
+      "group": "ctrlINDI",
+      "name": "g1_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "g1_q": {
+      "__class__": "ParamTocElement",
+      "ident": 118,
+      "group": "ctrlINDI",
+      "name": "g1_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "g1_r": {
+      "__class__": "ParamTocElement",
+      "ident": 119,
+      "group": "ctrlINDI",
+      "name": "g1_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "g2": {
+      "__class__": "ParamTocElement",
+      "ident": 120,
+      "group": "ctrlINDI",
+      "name": "g2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_err_p": {
+      "__class__": "ParamTocElement",
+      "ident": 121,
+      "group": "ctrlINDI",
+      "name": "ref_err_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_err_q": {
+      "__class__": "ParamTocElement",
+      "ident": 122,
+      "group": "ctrlINDI",
+      "name": "ref_err_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_err_r": {
+      "__class__": "ParamTocElement",
+      "ident": 123,
+      "group": "ctrlINDI",
+      "name": "ref_err_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_rate_p": {
+      "__class__": "ParamTocElement",
+      "ident": 124,
+      "group": "ctrlINDI",
+      "name": "ref_rate_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_rate_q": {
+      "__class__": "ParamTocElement",
+      "ident": 125,
+      "group": "ctrlINDI",
+      "name": "ref_rate_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ref_rate_r": {
+      "__class__": "ParamTocElement",
+      "ident": 126,
+      "group": "ctrlINDI",
+      "name": "ref_rate_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "act_dyn_p": {
+      "__class__": "ParamTocElement",
+      "ident": 127,
+      "group": "ctrlINDI",
+      "name": "act_dyn_p",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "act_dyn_q": {
+      "__class__": "ParamTocElement",
+      "ident": 128,
+      "group": "ctrlINDI",
+      "name": "act_dyn_q",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "act_dyn_r": {
+      "__class__": "ParamTocElement",
+      "ident": 129,
+      "group": "ctrlINDI",
+      "name": "act_dyn_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "filt_cutoff": {
+      "__class__": "ParamTocElement",
+      "ident": 130,
+      "group": "ctrlINDI",
+      "name": "filt_cutoff",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "filt_cutoff_r": {
+      "__class__": "ParamTocElement",
+      "ident": 131,
+      "group": "ctrlINDI",
+      "name": "filt_cutoff_r",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "outerLoopActive": {
+      "__class__": "ParamTocElement",
+      "ident": 132,
+      "group": "ctrlINDI",
+      "name": "outerLoopActive",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "s_pid_attitude": {
+    "roll_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 133,
+      "group": "s_pid_attitude",
+      "name": "roll_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 134,
+      "group": "s_pid_attitude",
+      "name": "roll_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 135,
+      "group": "s_pid_attitude",
+      "name": "roll_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 136,
+      "group": "s_pid_attitude",
+      "name": "pitch_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 137,
+      "group": "s_pid_attitude",
+      "name": "pitch_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 138,
+      "group": "s_pid_attitude",
+      "name": "pitch_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 139,
+      "group": "s_pid_attitude",
+      "name": "yaw_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 140,
+      "group": "s_pid_attitude",
+      "name": "yaw_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 141,
+      "group": "s_pid_attitude",
+      "name": "yaw_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "s_pid_rate": {
+    "roll_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 142,
+      "group": "s_pid_rate",
+      "name": "roll_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 143,
+      "group": "s_pid_rate",
+      "name": "roll_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "roll_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 144,
+      "group": "s_pid_rate",
+      "name": "roll_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 145,
+      "group": "s_pid_rate",
+      "name": "pitch_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 146,
+      "group": "s_pid_rate",
+      "name": "pitch_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pitch_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 147,
+      "group": "s_pid_rate",
+      "name": "pitch_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kp": {
+      "__class__": "ParamTocElement",
+      "ident": 148,
+      "group": "s_pid_rate",
+      "name": "yaw_kp",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_ki": {
+      "__class__": "ParamTocElement",
+      "ident": 149,
+      "group": "s_pid_rate",
+      "name": "yaw_ki",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "yaw_kd": {
+      "__class__": "ParamTocElement",
+      "ident": 150,
+      "group": "s_pid_rate",
+      "name": "yaw_kd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "ctrlStdnt": {
+    "tiltComp": {
+      "__class__": "ParamTocElement",
+      "ident": 151,
+      "group": "ctrlStdnt",
+      "name": "tiltComp",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "TEST_PARAM": {
+      "__class__": "ParamTocElement",
+      "ident": 152,
+      "group": "ctrlStdnt",
+      "name": "TEST_PARAM",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "motorPowerSet": {
+    "enable": {
+      "__class__": "ParamTocElement",
+      "ident": 153,
+      "group": "motorPowerSet",
+      "name": "enable",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "m1": {
+      "__class__": "ParamTocElement",
+      "ident": 154,
+      "group": "motorPowerSet",
+      "name": "m1",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    },
+    "m2": {
+      "__class__": "ParamTocElement",
+      "ident": 155,
+      "group": "motorPowerSet",
+      "name": "m2",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    },
+    "m3": {
+      "__class__": "ParamTocElement",
+      "ident": 156,
+      "group": "motorPowerSet",
+      "name": "m3",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    },
+    "m4": {
+      "__class__": "ParamTocElement",
+      "ident": 157,
+      "group": "motorPowerSet",
+      "name": "m4",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "powerDist": {
+    "idleThrust": {
+      "__class__": "ParamTocElement",
+      "ident": 158,
+      "group": "powerDist",
+      "name": "idleThrust",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "colAv": {
+    "enable": {
+      "__class__": "ParamTocElement",
+      "ident": 159,
+      "group": "colAv",
+      "name": "enable",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "ellipsoidX": {
+      "__class__": "ParamTocElement",
+      "ident": 160,
+      "group": "colAv",
+      "name": "ellipsoidX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ellipsoidY": {
+      "__class__": "ParamTocElement",
+      "ident": 161,
+      "group": "colAv",
+      "name": "ellipsoidY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "ellipsoidZ": {
+      "__class__": "ParamTocElement",
+      "ident": 162,
+      "group": "colAv",
+      "name": "ellipsoidZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMinX": {
+      "__class__": "ParamTocElement",
+      "ident": 163,
+      "group": "colAv",
+      "name": "bboxMinX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMinY": {
+      "__class__": "ParamTocElement",
+      "ident": 164,
+      "group": "colAv",
+      "name": "bboxMinY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMinZ": {
+      "__class__": "ParamTocElement",
+      "ident": 165,
+      "group": "colAv",
+      "name": "bboxMinZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMaxX": {
+      "__class__": "ParamTocElement",
+      "ident": 166,
+      "group": "colAv",
+      "name": "bboxMaxX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMaxY": {
+      "__class__": "ParamTocElement",
+      "ident": 167,
+      "group": "colAv",
+      "name": "bboxMaxY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "bboxMaxZ": {
+      "__class__": "ParamTocElement",
+      "ident": 168,
+      "group": "colAv",
+      "name": "bboxMaxZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "horizon": {
+      "__class__": "ParamTocElement",
+      "ident": 169,
+      "group": "colAv",
+      "name": "horizon",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "maxSpeed": {
+      "__class__": "ParamTocElement",
+      "ident": 170,
+      "group": "colAv",
+      "name": "maxSpeed",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "sidestepThrsh": {
+      "__class__": "ParamTocElement",
+      "ident": 171,
+      "group": "colAv",
+      "name": "sidestepThrsh",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "maxPeerLocAge": {
+      "__class__": "ParamTocElement",
+      "ident": 172,
+      "group": "colAv",
+      "name": "maxPeerLocAge",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0,
+      "extended": false
+    },
+    "vorTol": {
+      "__class__": "ParamTocElement",
+      "ident": 173,
+      "group": "colAv",
+      "name": "vorTol",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vorIters": {
+      "__class__": "ParamTocElement",
+      "ident": 174,
+      "group": "colAv",
+      "name": "vorIters",
+      "ctype": "int32_t",
+      "pytype": "<i",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "health": {
+    "startPropTest": {
+      "__class__": "ParamTocElement",
+      "ident": 175,
+      "group": "health",
+      "name": "startPropTest",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "startBatTest": {
+      "__class__": "ParamTocElement",
+      "ident": 176,
+      "group": "health",
+      "name": "startBatTest",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "kalman": {
+    "resetEstimation": {
+      "__class__": "ParamTocElement",
+      "ident": 177,
+      "group": "kalman",
+      "name": "resetEstimation",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "quadIsFlying": {
+      "__class__": "ParamTocElement",
+      "ident": 178,
+      "group": "kalman",
+      "name": "quadIsFlying",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "robustTdoa": {
+      "__class__": "ParamTocElement",
+      "ident": 179,
+      "group": "kalman",
+      "name": "robustTdoa",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "robustTwr": {
+      "__class__": "ParamTocElement",
+      "ident": 180,
+      "group": "kalman",
+      "name": "robustTwr",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "pNAcc_xy": {
+      "__class__": "ParamTocElement",
+      "ident": 181,
+      "group": "kalman",
+      "name": "pNAcc_xy",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pNAcc_z": {
+      "__class__": "ParamTocElement",
+      "ident": 182,
+      "group": "kalman",
+      "name": "pNAcc_z",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pNVel": {
+      "__class__": "ParamTocElement",
+      "ident": 183,
+      "group": "kalman",
+      "name": "pNVel",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pNPos": {
+      "__class__": "ParamTocElement",
+      "ident": 184,
+      "group": "kalman",
+      "name": "pNPos",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "pNAtt": {
+      "__class__": "ParamTocElement",
+      "ident": 185,
+      "group": "kalman",
+      "name": "pNAtt",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "mNBaro": {
+      "__class__": "ParamTocElement",
+      "ident": 186,
+      "group": "kalman",
+      "name": "mNBaro",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "mNGyro_rollpitch": {
+      "__class__": "ParamTocElement",
+      "ident": 187,
+      "group": "kalman",
+      "name": "mNGyro_rollpitch",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "mNGyro_yaw": {
+      "__class__": "ParamTocElement",
+      "ident": 188,
+      "group": "kalman",
+      "name": "mNGyro_yaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "initialX": {
+      "__class__": "ParamTocElement",
+      "ident": 189,
+      "group": "kalman",
+      "name": "initialX",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "initialY": {
+      "__class__": "ParamTocElement",
+      "ident": 190,
+      "group": "kalman",
+      "name": "initialY",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "initialZ": {
+      "__class__": "ParamTocElement",
+      "ident": 191,
+      "group": "kalman",
+      "name": "initialZ",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "initialYaw": {
+      "__class__": "ParamTocElement",
+      "ident": 192,
+      "group": "kalman",
+      "name": "initialYaw",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "maxPos": {
+      "__class__": "ParamTocElement",
+      "ident": 193,
+      "group": "kalman",
+      "name": "maxPos",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "maxVel": {
+      "__class__": "ParamTocElement",
+      "ident": 194,
+      "group": "kalman",
+      "name": "maxVel",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "hlCommander": {
+    "vtoff": {
+      "__class__": "ParamTocElement",
+      "ident": 195,
+      "group": "hlCommander",
+      "name": "vtoff",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "vland": {
+      "__class__": "ParamTocElement",
+      "ident": 196,
+      "group": "hlCommander",
+      "name": "vland",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "deck": {
+    "bcLedRing": {
+      "__class__": "ParamTocElement",
+      "ident": 197,
+      "group": "deck",
+      "name": "bcLedRing",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcBuzzer": {
+      "__class__": "ParamTocElement",
+      "ident": 209,
+      "group": "deck",
+      "name": "bcBuzzer",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcGTGPS": {
+      "__class__": "ParamTocElement",
+      "ident": 210,
+      "group": "deck",
+      "name": "bcGTGPS",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcCPPM": {
+      "__class__": "ParamTocElement",
+      "ident": 211,
+      "group": "deck",
+      "name": "bcCPPM",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcUSD": {
+      "__class__": "ParamTocElement",
+      "ident": 212,
+      "group": "deck",
+      "name": "bcUSD",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcZRanger": {
+      "__class__": "ParamTocElement",
+      "ident": 215,
+      "group": "deck",
+      "name": "bcZRanger",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcZRanger2": {
+      "__class__": "ParamTocElement",
+      "ident": 216,
+      "group": "deck",
+      "name": "bcZRanger2",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcDWM1000": {
+      "__class__": "ParamTocElement",
+      "ident": 217,
+      "group": "deck",
+      "name": "bcDWM1000",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcFlow": {
+      "__class__": "ParamTocElement",
+      "ident": 222,
+      "group": "deck",
+      "name": "bcFlow",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcFlow2": {
+      "__class__": "ParamTocElement",
+      "ident": 223,
+      "group": "deck",
+      "name": "bcFlow2",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcOA": {
+      "__class__": "ParamTocElement",
+      "ident": 227,
+      "group": "deck",
+      "name": "bcOA",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcMultiranger": {
+      "__class__": "ParamTocElement",
+      "ident": 228,
+      "group": "deck",
+      "name": "bcMultiranger",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcLighthouse4": {
+      "__class__": "ParamTocElement",
+      "ident": 229,
+      "group": "deck",
+      "name": "bcLighthouse4",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcActiveMarker": {
+      "__class__": "ParamTocElement",
+      "ident": 236,
+      "group": "deck",
+      "name": "bcActiveMarker",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "bcAIDeck": {
+      "__class__": "ParamTocElement",
+      "ident": 237,
+      "group": "deck",
+      "name": "bcAIDeck",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    }
+  },
+  "ring": {
+    "effect": {
+      "__class__": "ParamTocElement",
+      "ident": 198,
+      "group": "ring",
+      "name": "effect",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "neffect": {
+      "__class__": "ParamTocElement",
+      "ident": 199,
+      "group": "ring",
+      "name": "neffect",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    },
+    "solidRed": {
+      "__class__": "ParamTocElement",
+      "ident": 200,
+      "group": "ring",
+      "name": "solidRed",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "solidGreen": {
+      "__class__": "ParamTocElement",
+      "ident": 201,
+      "group": "ring",
+      "name": "solidGreen",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "solidBlue": {
+      "__class__": "ParamTocElement",
+      "ident": 202,
+      "group": "ring",
+      "name": "solidBlue",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "headlightEnable": {
+      "__class__": "ParamTocElement",
+      "ident": 203,
+      "group": "ring",
+      "name": "headlightEnable",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "emptyCharge": {
+      "__class__": "ParamTocElement",
+      "ident": 204,
+      "group": "ring",
+      "name": "emptyCharge",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "fullCharge": {
+      "__class__": "ParamTocElement",
+      "ident": 205,
+      "group": "ring",
+      "name": "fullCharge",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "fadeColor": {
+      "__class__": "ParamTocElement",
+      "ident": 206,
+      "group": "ring",
+      "name": "fadeColor",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 0,
+      "extended": false
+    },
+    "fadeTime": {
+      "__class__": "ParamTocElement",
+      "ident": 207,
+      "group": "ring",
+      "name": "fadeTime",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "usd": {
+    "canLog": {
+      "__class__": "ParamTocElement",
+      "ident": 213,
+      "group": "usd",
+      "name": "canLog",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    },
+    "logging": {
+      "__class__": "ParamTocElement",
+      "ident": 214,
+      "group": "usd",
+      "name": "logging",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "loco": {
+    "mode": {
+      "__class__": "ParamTocElement",
+      "ident": 218,
+      "group": "loco",
+      "name": "mode",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "tdoaEngine": {
+    "logId": {
+      "__class__": "ParamTocElement",
+      "ident": 219,
+      "group": "tdoaEngine",
+      "name": "logId",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "logOthrId": {
+      "__class__": "ParamTocElement",
+      "ident": 220,
+      "group": "tdoaEngine",
+      "name": "logOthrId",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "matchAlgo": {
+      "__class__": "ParamTocElement",
+      "ident": 221,
+      "group": "tdoaEngine",
+      "name": "matchAlgo",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "motion": {
+    "disable": {
+      "__class__": "ParamTocElement",
+      "ident": 224,
+      "group": "motion",
+      "name": "disable",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "adaptive": {
+      "__class__": "ParamTocElement",
+      "ident": 225,
+      "group": "motion",
+      "name": "adaptive",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "flowStdFixed": {
+      "__class__": "ParamTocElement",
+      "ident": 226,
+      "group": "motion",
+      "name": "flowStdFixed",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "activeMarker": {
+    "front": {
+      "__class__": "ParamTocElement",
+      "ident": 230,
+      "group": "activeMarker",
+      "name": "front",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "back": {
+      "__class__": "ParamTocElement",
+      "ident": 231,
+      "group": "activeMarker",
+      "name": "back",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "left": {
+      "__class__": "ParamTocElement",
+      "ident": 232,
+      "group": "activeMarker",
+      "name": "left",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "right": {
+      "__class__": "ParamTocElement",
+      "ident": 233,
+      "group": "activeMarker",
+      "name": "right",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "mode": {
+      "__class__": "ParamTocElement",
+      "ident": 234,
+      "group": "activeMarker",
+      "name": "mode",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "poll": {
+      "__class__": "ParamTocElement",
+      "ident": 235,
+      "group": "activeMarker",
+      "name": "poll",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    }
+  },
+  "firmware": {
+    "revision0": {
+      "__class__": "ParamTocElement",
+      "ident": 238,
+      "group": "firmware",
+      "name": "revision0",
+      "ctype": "uint32_t",
+      "pytype": "<L",
+      "access": 1,
+      "extended": false
+    },
+    "revision1": {
+      "__class__": "ParamTocElement",
+      "ident": 239,
+      "group": "firmware",
+      "name": "revision1",
+      "ctype": "uint16_t",
+      "pytype": "<H",
+      "access": 1,
+      "extended": false
+    },
+    "modified": {
+      "__class__": "ParamTocElement",
+      "ident": 240,
+      "group": "firmware",
+      "name": "modified",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 1,
+      "extended": false
+    }
+  },
+  "lighthouse": {
+    "method": {
+      "__class__": "ParamTocElement",
+      "ident": 241,
+      "group": "lighthouse",
+      "name": "method",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "bsCalibReset": {
+      "__class__": "ParamTocElement",
+      "ident": 242,
+      "group": "lighthouse",
+      "name": "bsCalibReset",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "systemType": {
+      "__class__": "ParamTocElement",
+      "ident": 243,
+      "group": "lighthouse",
+      "name": "systemType",
+      "ctype": "uint8_t",
+      "pytype": "<B",
+      "access": 0,
+      "extended": false
+    },
+    "sweepStd": {
+      "__class__": "ParamTocElement",
+      "ident": 244,
+      "group": "lighthouse",
+      "name": "sweepStd",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    },
+    "sweepStd2": {
+      "__class__": "ParamTocElement",
+      "ident": 245,
+      "group": "lighthouse",
+      "name": "sweepStd2",
+      "ctype": "float",
+      "pytype": "<f",
+      "access": 0,
+      "extended": false
+    }
+  }
+}
\ No newline at end of file
diff --git a/cflib_groundstation/crazyflie_connection.py b/cflib_groundstation/crazyflie_connection.py
index 25eefc28d..3a8ecfa70 100644
--- a/cflib_groundstation/crazyflie_connection.py
+++ b/cflib_groundstation/crazyflie_connection.py
@@ -8,6 +8,7 @@ cflib library.
 from time import time
 from typing import List
 import time
+import struct
 
 import cflib.crtp
 from cflib.crazyflie import Crazyflie
@@ -82,8 +83,6 @@ class CrazyflieConnection:
             self.scf.close_link()
             self.scf = None
             self.is_connected = False
-        # disconnect the commander from setpointhandler
-        self.setpoint_handler.disconnectCommander()
 
     def Debug():
         raise Exception
@@ -97,19 +96,21 @@ class CrazyflieConnection:
         raise Exception
     def OverrideOuput(self, command): 
         """Sends all setpoints for a given amount of time"""
+        print(command["data"])
         mode = command['data'][0]
-        time = command['data'][1:4] # Currently sent every 20ms by setpoint_handler may change
-        thrust =  command['data'][5:8]
-        pitch =  command['data'][9:12]
-        roll =  command['data'][13:16]
-        yaw =  command['data'][17:20]
+        time = command['data'][1:5] # Currently sent every 20ms by setpoint_handler may change
+        thrust =  command['data'][5:9]
+        pitch =  command['data'][9:13]
+        roll =  command['data'][13:17]
+        yaw =  command['data'][17:21]
 
         # Error Handling
         try:
-            yaw = float(yaw)
-            pitch = float(pitch)
-            roll = float(roll)
-            thrust = int(thrust)
+            yaw = struct.unpack('f', bytes(yaw))[0]
+            pitch = struct.unpack('f', bytes(pitch))[0]
+            roll = struct.unpack('f', bytes(roll))[0]
+            thrust = struct.unpack('f', bytes(thrust))[0]
+            print(thrust)
         except ValueError:
             raise Exception
 
@@ -166,21 +167,26 @@ class CrazyflieConnection:
         """ Retrieve parameter value from crazyflie toc. """
         #Bytes 0 and 1 are node ID, ie group
         #Bytes 2 and 3 are node paramID, ie name
+        print("Getting Param...")
         group = command['data'][0:1]
         name = command['data'][2:3]
 
+
         try:
             if self.scf.is_link_open():
                 val = self.scf.cf.param.values[group][name]
+                print(val)
     
+
         except AttributeError:
             val = -1.234567
             pass
 
+            
         data = bytearray(group)
         data.append(name)
         data.append(val)
-
+        print(data)
         responsedata = {
         "msg_type": (MessageTypeID.RESPPARAM_ID),
         "msg_id": command['msg_id'],
diff --git a/cflib_groundstation/main.py b/cflib_groundstation/main.py
index a4b29c27c..ddf09b0f0 100644
--- a/cflib_groundstation/main.py
+++ b/cflib_groundstation/main.py
@@ -17,6 +17,7 @@ class main():
         self.inThread = Thread(target = gs.groundstation_connect, args = (self.inputQueue,))
         self.inThread.start()
         self.cfConnect = CrazyflieConnection()
+        self.cfConnect.connect("radio://0/20/2M/E7E7E7E7E7")
         self.commandThread = Thread(target = self.processCommands)
         self.commandThread.start()
         while True:
@@ -38,28 +39,13 @@ class main():
                 elif msg_type == MessageTypeID.BEGINUPDATE_ID.value:
                     self.cfConnect.BeginUpdate()
                 elif msg_type == MessageTypeID.OUTPUT_OVERRIDE_ID.value:
-                    self.cfConnect.OverrideOuput()
+                    self.cfConnect.OverrideOuput(command)
                 elif msg_type == MessageTypeID.GETNODES_ID.value:
                     self.cfConnect.GetNodes()
                 elif msg_type == MessageTypeID.SETPARAM_ID.value:
                     self.cfConnect.SetParam()
                 elif msg_type == MessageTypeID.GETPARAM_ID.value:
-                    group = command['data'][0:1]
-                    name = command['data'][2:3]
-
-                    val = 10
-                    data = bytearray(group)
-                    data += name
-                    data.append(val)
-
-                    responsedata = {
-                    "msg_type": (MessageTypeID.RESPPARAM_ID.value),
-                    "msg_id": command['msg_id'],
-                    "data_len": 8,
-                    "data": data
-                    }
-                    self.outputQueue.put(responsedata)
-                    #self.cfConnect.GetParam()
+                    self.cfConnect.GetParam(command, self.outputQueue)
                 elif msg_type == MessageTypeID.SETSOURCE_ID.value:
                     self.cfConnect.SetSource()
                 elif msg_type == MessageTypeID.GETSOURCE_ID.value:
-- 
GitLab