diff --git a/cache/5F73C19B.json b/cache/5F73C19B.json new file mode 100644 index 0000000000000000000000000000000000000000..17eca427721abb97cb2d845eff0ae6b9827654ae --- /dev/null +++ b/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/cache/CCB14664.json b/cache/CCB14664.json new file mode 100644 index 0000000000000000000000000000000000000000..e7a113b3dbc4e5e5404d43474a0b5f960f82a12f --- /dev/null +++ b/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/__pycache__/crazyflie_connection.cpython-38.pyc b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc index 7fed0bbfac59539b7cfe78f8badae14f8708c4b6..e400bbdbd3f831942b5dcd904faaa1b3dc1797a7 100644 Binary files a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc and b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc differ diff --git a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc index 30ef2552b4af55a25d6e1a991b7f10cde30eb8e0..ac3003bf0ebab8f540db688413cf7aa33f548f9f 100644 Binary files a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc and b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc differ diff --git a/cflib_groundstation/crazyflie_connection.py b/cflib_groundstation/crazyflie_connection.py index 407b50f556a4177c4200eee39c0e6c109f1ae81a..761543566fb7fd800823c24c09e8ce827c17fe0b 100644 --- a/cflib_groundstation/crazyflie_connection.py +++ b/cflib_groundstation/crazyflie_connection.py @@ -66,7 +66,9 @@ class CrazyflieConnection: self.scf = SyncCrazyflie(uri, cf=Crazyflie(rw_cache='./cache')) self.scf.open_link() self.scf.wait_for_params() - self.is_connected = True + self.iC_connected = True + print("Connect quad") + #self.toc = self.get_TOC() # sets commander self.scf.cf.commander = uCartCommander.Commander(self.scf.cf) @@ -111,7 +113,6 @@ class CrazyflieConnection: 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 @@ -134,35 +135,38 @@ class CrazyflieConnection: raise Exception self.setpoint_handler.setSetpoint(yaw, pitch, roll, thrust) + self.setpoint_handler.sendSetpoint() def GetNodeIds(): raise Exception + def SetParam(self, command): """ Set a crazyflie parameter value. """ - group = command['data'][0:1] - name = command['data'][2:3] - value = command['data'][4:7] + group = int.from_bytes(command['data'][0:2], 'little') + name = int.from_bytes(command['data'][2:4], 'little') + value = struct.unpack('f', bytes(command['data'][4:8]))[0] try: if self.scf.is_link_open(): - full_name = group + "." + name + element = self.scf.cf.param.toc.get_element_by_id(name) + full_name = element.group + "." + element.name cf = self.scf.cf - cf.param.add_update_callback(group=group, name=name, - cb=self.done_setting_param_value) + # cf.param.add_update_callback(group=group, name=name, + # cb=self.done_setting_param_value) cf.param.set_value(full_name, value) # Don't return until the parameter is done getting set - while self.param_callback_count < 1: - time.sleep(0.01) + # while self.param_callback_count < 1: + # time.sleep(0.01) - self.param_callback_count = 0 + # self.param_callback_count = 0 except AttributeError: print("Nothing connected") - def done_setting_param_value(self, *_args): - """ Callback when done setting a parameter value. """ - print("Done setting param") - self.param_callback_count += 1 + # def done_setting_param_value(self, *_args): + # """ Callback when done setting a parameter value. """ + # print("Done setting param") + # self.param_callback_count += 1 def GetParam(self, command, outputQueue: Queue): #group: str, name: str, """ Retrieve parameter value from crazyflie toc. """ @@ -171,44 +175,27 @@ class CrazyflieConnection: print("Getting Param...") group = int.from_bytes(command['data'][0:2], 'little') name = int.from_bytes(command['data'][2:4], 'little') - print(group) - print(name) - try: if self.scf.is_link_open(): - print(self.scf.cf.param.values) - lst = list(self.scf.cf.param.values.values()) - print(lst) - toc = [] - for val in lst: - sublst = list(val.values()) - for item in sublst: - toc.append(item) - #lst2 = list(self.scf.cf.param.values) - #print(lst2) - #val = toc.flatten() - #print(val) - print(toc) - actual = toc[name] - print(actual) - + #print(self.scf.cf.param.values) + element = self.scf.cf.param.toc.get_element_by_id(name) + print(element.group) + print(element.name) + full_name = element.group + "." + element.name + actual = self.scf.cf.param.get_value(full_name) except AttributeError: - val = -1.234567 + actual = -1.234567 pass - data = bytearray() data += command['data'][0:2] data += command['data'][2:4] print(actual) actual = float(actual) - print(actual) flBytes = struct.pack('f', actual) data += flBytes - print(data) - print(len(data)) responsedata = { "msg_type": (MessageTypeID.RESPPARAM_ID), "msg_id": command['msg_id'], @@ -231,9 +218,55 @@ class CrazyflieConnection: raise Exception def AddNode(): raise Exception - def GetLogFile(): - #TODO - raise Exception + def GetLogFile(self, command): + print("Getting LogFile...") + id = int.from_bytes(command['data'][0], 'little') + if id == 0: # logdata? + raise Exception # Not implemented + elif id == 1: # param toc + raise Exception # Not implemented + elif id == 2: # logging toc + raise Exception # Not implemented + elif id == 3: # active header of the data log + raise Exception # Not implemented + elif id == 4: # state of test stand connection + raise Exception # Not implemented + else : + raise Exception def LogBlockCommand(): #TODO - raise Exception \ No newline at end of file + raise Exception + + def get_logging_toc(self): + """ Retrieve entire logging table of contents. Used in order to + display list in logging tab. """ + + try: + if self.scf.is_link_open(): + tocFull = self.scf.cf.log.toc.toc + toc = [] + for key in tocFull.keys(): + for inner_key in tocFull[key].keys(): + # concatenate group name with parameter name. + full_name = key + "." + inner_key + toc.append(full_name) + + return toc + else: + return [] + except AttributeError: + pass + return [] + + def get_param_toc(self): + """ Get the names of all groups available for parameters on the + crazyflie. Used to populate parameter group list on parameter tab. """ + + try: + if self.scf.is_link_open(): + toc = self.scf.cf.param.values + + return toc + except AttributeError: + pass + return {} \ No newline at end of file diff --git a/cflib_groundstation/groundstation_socket.py b/cflib_groundstation/groundstation_socket.py index 7c684ece2c7ebb72d2c5c6fe18d0a7f1798529d8..585bcdc527331671605bd07701005ac862801387 100644 --- a/cflib_groundstation/groundstation_socket.py +++ b/cflib_groundstation/groundstation_socket.py @@ -96,20 +96,12 @@ class GroundstationSocket(): bytedata = bytearray() bytedata += b"\xbe" bytedata.append((messagedata["msg_type"].value & 0xFF)) - print(bytedata) bytedata.append((messagedata["msg_type"].value >> 8) & 0xFF) - print(bytedata) bytedata.append(messagedata["msg_id"] & 0xFF) - print(bytedata) bytedata.append((messagedata["msg_id"] >> 8) & 0xFF) - print(bytedata) bytedata.append(messagedata["data_len"] & 0xFF) - print(bytedata) bytedata.append((messagedata["data_len"] >> 8) & 0xFF) - print(bytedata) bytedata += messagedata["data"] - print(bytedata) - print(len(bytedata)) bytedata.append(self.packetChecksum(bytedata, PacketHeader.HDR_SIZE.value + messagedata["data_len"] + ChecksumFormat.CSUM_SIZE.value)) print(bytedata) return bytedata @@ -173,7 +165,8 @@ class MessageTypeID(Enum): RESPADDNODE_ID = 18 OUTPUT_OVERRIDE_ID = 19 SEND_RT_ID = 20 - MAX_TYPE_ID = 21 + #MAX_TYPE_ID = 21 + GETLOGFILE_ID = 21 diff --git a/cflib_groundstation/main.py b/cflib_groundstation/main.py index ddf09b0f03d4a6d52510425ac2daa6980cc112df..2aae0c8e83280a8027eae43cf97400a9fe1e26bc 100644 --- a/cflib_groundstation/main.py +++ b/cflib_groundstation/main.py @@ -43,7 +43,7 @@ class main(): elif msg_type == MessageTypeID.GETNODES_ID.value: self.cfConnect.GetNodes() elif msg_type == MessageTypeID.SETPARAM_ID.value: - self.cfConnect.SetParam() + self.cfConnect.SetParam(command) elif msg_type == MessageTypeID.GETPARAM_ID.value: self.cfConnect.GetParam(command, self.outputQueue) elif msg_type == MessageTypeID.SETSOURCE_ID.value: @@ -62,6 +62,8 @@ class main(): self.cfConnect.GetLogFile() elif msg_type == MessageTypeID.LOG_END_ID.value: self.cfConnect.LogBlockCommand() + elif msg_type == MessageTypeID.GETLOGFILE_ID.value: + self.cfConnect.GetLogFile(command)