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