{
    "logformats": [
        {
            "name": "ACC",
            "description": "IMU accelerometer data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "accelerometer sensor instance number"
                },
                {
                    "name": "SampleUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "time since system startup this sample was taken"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along X axis"
                },
                {
                    "name": "AccY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Y axis"
                },
                {
                    "name": "AccZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Z axis"
                }
            ]
        },
        {
            "name": "ADSB",
            "description": "Automatic Dependent Serveillance - Broadcast detected vehicle information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ICAO_address",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Transponder address"
                },
                {
                    "name": "Lat",
                    "units": "1e-7 deglatitude",
                    "type": "int32_t",
                    "description": "Vehicle latitude"
                },
                {
                    "name": "Lng",
                    "units": "1e-7 deglongitude",
                    "type": "int32_t",
                    "description": "Vehicle longitude"
                },
                {
                    "name": "Alt",
                    "units": "mm",
                    "type": "int32_t",
                    "description": "Vehicle altitude"
                },
                {
                    "name": "Heading",
                    "units": "cdegheading",
                    "type": "uint16_t",
                    "description": "Vehicle heading"
                },
                {
                    "name": "Hor_vel",
                    "units": "mm/s",
                    "type": "uint16_t",
                    "description": "Vehicle horizontal velocity"
                },
                {
                    "name": "Ver_vel",
                    "units": "mm/s",
                    "type": "int16_t",
                    "description": "Vehicle vertical velocity"
                },
                {
                    "name": "Squark",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Transponder squawk code"
                }
            ]
        },
        {
            "name": "AERG",
            "description": "Aeron PLX GNSS status and accuracy (GPS_PARA + EXTD_GNSS)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Time of week"
                },
                {
                    "name": "GWk",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS week"
                },
                {
                    "name": "NSat",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Satellites in view"
                },
                {
                    "name": "FixT",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GPS fix type as reported to AP_GPS"
                },
                {
                    "name": "Jam",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Jamming detection level (1=none,2=warn,3=critical)"
                },
                {
                    "name": "Spf",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Spoofing detection level (1=none,2=warn,3=critical)"
                },
                {
                    "name": "HPA",
                    "units": "",
                    "type": "float",
                    "description": "Horizontal position accuracy"
                },
                {
                    "name": "VPA",
                    "units": "",
                    "type": "float",
                    "description": "Vertical position accuracy"
                },
                {
                    "name": "HVA",
                    "units": "",
                    "type": "float",
                    "description": "Horizontal velocity accuracy"
                },
                {
                    "name": "HDOP",
                    "units": "",
                    "type": "float",
                    "description": "Horizontal dilution of precision"
                },
                {
                    "name": "VDOP",
                    "units": "",
                    "type": "float",
                    "description": "Vertical dilution of precision"
                }
            ]
        },
        {
            "name": "AERN",
            "description": "Aeron PLX fused navigation solution (NAV_PARA1)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Epoch",
                    "units": "s",
                    "type": "uint32_t",
                    "description": "Unix epoch seconds at sample time"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "double",
                    "description": "Latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "double",
                    "description": "Longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Height above WGS84 ellipsoid"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity north"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity east"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity down"
                },
                {
                    "name": "Crs",
                    "units": "degheading",
                    "type": "float",
                    "description": "Course over ground"
                },
                {
                    "name": "Roll",
                    "units": "rad",
                    "type": "float",
                    "description": "Roll angle"
                },
                {
                    "name": "Pitch",
                    "units": "rad",
                    "type": "float",
                    "description": "Pitch angle"
                },
                {
                    "name": "Yaw",
                    "units": "rad",
                    "type": "float",
                    "description": "Yaw angle"
                },
                {
                    "name": "InsSt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "PLX INS filter-source status word"
                },
                {
                    "name": "HwSt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "PLX hardware status word"
                }
            ]
        },
        {
            "name": "AERS",
            "description": "Aeron PLX raw sensor data (SENS_PARA)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "Sensor temperature"
                },
                {
                    "name": "GX",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro X"
                },
                {
                    "name": "GY",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro Y"
                },
                {
                    "name": "GZ",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro Z"
                },
                {
                    "name": "AX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accel X"
                },
                {
                    "name": "AY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accel Y"
                },
                {
                    "name": "AZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accel Z"
                },
                {
                    "name": "MX",
                    "units": "mGauss",
                    "type": "float",
                    "description": "Mag X"
                },
                {
                    "name": "MY",
                    "units": "mGauss",
                    "type": "float",
                    "description": "Mag Y"
                },
                {
                    "name": "MZ",
                    "units": "mGauss",
                    "type": "float",
                    "description": "Mag Z"
                },
                {
                    "name": "Pres",
                    "units": "Pa",
                    "type": "float",
                    "description": "Barometric pressure"
                },
                {
                    "name": "BTmp",
                    "units": "degC",
                    "type": "float",
                    "description": "Barometer temperature"
                },
                {
                    "name": "BAlt",
                    "units": "m",
                    "type": "float",
                    "description": "Barometric altitude"
                }
            ]
        },
        {
            "name": "AHR2",
            "description": "Backup AHRS data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated pitch"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "uint16_t * 100",
                    "description": "Estimated yaw"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated altitude"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Estimated latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Estimated longitude"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 1"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 2"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 3"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 4"
                }
            ]
        },
        {
            "name": "AIS1",
            "description": "Contents of 'position report' AIS message, see: https://gpsd.gitlab.io/gpsd/AIVDM.html#_types_1_2_and_3_position_report_class_a",
            "fields": [
                {
                    "name": "US",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "typ",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Message Type"
                },
                {
                    "name": "rep",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Repeat Indicator"
                },
                {
                    "name": "mmsi",
                    "units": "",
                    "type": "uint32_t",
                    "description": "MMSI"
                },
                {
                    "name": "nav",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Navigation Status"
                },
                {
                    "name": "rot",
                    "units": "",
                    "type": "int8_t",
                    "description": "Rate of Turn (ROT)"
                },
                {
                    "name": "sog",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Speed Over Ground (SOG)"
                },
                {
                    "name": "pos",
                    "units": "",
                    "type": "int8_t",
                    "description": "Position Accuracy"
                },
                {
                    "name": "lon",
                    "units": "",
                    "type": "int32_t latitude/longitude",
                    "description": "Longitude"
                },
                {
                    "name": "lat",
                    "units": "",
                    "type": "int32_t latitude/longitude",
                    "description": "Latitude"
                },
                {
                    "name": "cog",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Course Over Ground (COG)"
                },
                {
                    "name": "hed",
                    "units": "",
                    "type": "uint16_t",
                    "description": "True Heading (HDG)"
                },
                {
                    "name": "sec",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Time Stamp"
                },
                {
                    "name": "man",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Maneuver Indicator"
                },
                {
                    "name": "raim",
                    "units": "",
                    "type": "int8_t",
                    "description": "RAIM flag"
                },
                {
                    "name": "rad",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Radio status"
                }
            ]
        },
        {
            "name": "AIS4",
            "description": "Contents of 'Base Station Report' AIS message, see: https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_4_base_station_report",
            "fields": [
                {
                    "name": "US",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rep",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Repeat Indicator"
                },
                {
                    "name": "mmsi",
                    "units": "",
                    "type": "uint32_t",
                    "description": "MMSI"
                },
                {
                    "name": "year",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Year (UTC)"
                },
                {
                    "name": "mth",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Month (UTC)"
                },
                {
                    "name": "day",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Day (UTC)"
                },
                {
                    "name": "h",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Hour (UTC)"
                },
                {
                    "name": "m",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Minute (UTC)"
                },
                {
                    "name": "s",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Second (UTC)"
                },
                {
                    "name": "fix",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Fix quality"
                },
                {
                    "name": "lon",
                    "units": "",
                    "type": "int32_t latitude/longitude",
                    "description": "Longitude"
                },
                {
                    "name": "lat",
                    "units": "",
                    "type": "int32_t latitude/longitude",
                    "description": "Latitude"
                },
                {
                    "name": "epfd",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Type of EPFD"
                },
                {
                    "name": "raim",
                    "units": "",
                    "type": "uint8_t",
                    "description": "RAIM flag"
                },
                {
                    "name": "rad",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Radio status"
                }
            ]
        },
        {
            "name": "AIS5",
            "description": "Contents of 'static and voyage related data' AIS message, see: https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_5_static_and_voyage_related_data",
            "fields": [
                {
                    "name": "US",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rep",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Repeat Indicator"
                },
                {
                    "name": "mmsi",
                    "units": "",
                    "type": "uint32_t",
                    "description": "MMSI"
                },
                {
                    "name": "ver",
                    "units": "",
                    "type": "uint8_t",
                    "description": "AIS Version"
                },
                {
                    "name": "imo",
                    "units": "",
                    "type": "uint32_t",
                    "description": "IMO Number"
                },
                {
                    "name": "cal",
                    "units": "",
                    "type": "char[16]",
                    "description": "Call Sign"
                },
                {
                    "name": "nam",
                    "units": "",
                    "type": "char[64]",
                    "description": "Vessel Name"
                },
                {
                    "name": "typ",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Ship Type"
                },
                {
                    "name": "bow",
                    "units": "m",
                    "type": "uint16_t",
                    "description": "Dimension to Bow"
                },
                {
                    "name": "stn",
                    "units": "m",
                    "type": "uint16_t",
                    "description": "Dimension to Stern"
                },
                {
                    "name": "prt",
                    "units": "m",
                    "type": "uint8_t",
                    "description": "Dimension to Port"
                },
                {
                    "name": "str",
                    "units": "m",
                    "type": "uint8_t",
                    "description": "Dimension to Starboard"
                },
                {
                    "name": "fix",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Position Fix Type"
                },
                {
                    "name": "dght",
                    "units": "dm",
                    "type": "uint8_t",
                    "description": "Draught"
                },
                {
                    "name": "dst",
                    "units": "",
                    "type": "char[64]",
                    "description": "Destination"
                },
                {
                    "name": "dte",
                    "units": "",
                    "type": "uint8_t",
                    "description": "DTE"
                }
            ]
        },
        {
            "name": "AISR",
            "description": "Raw AIS AVDIM messages contents, see: https://gpsd.gitlab.io/gpsd/AIVDM.html#_aivdmaivdo_sentence_layer",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "num",
                    "units": "",
                    "type": "uint8_t",
                    "description": "count of fragments in the currently accumulating message"
                },
                {
                    "name": "total",
                    "units": "",
                    "type": "uint8_t",
                    "description": "fragment number of this sentence"
                },
                {
                    "name": "ID",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sequential message ID for multi-sentence messages"
                },
                {
                    "name": "payload",
                    "units": "",
                    "type": "char[64]",
                    "description": "data payload"
                }
            ]
        },
        {
            "name": "ANG",
            "description": "Attitude control attitude",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Timestamp of the current Attitude loop"
                },
                {
                    "name": "DesRoll",
                    "units": "deg",
                    "type": "float",
                    "description": "vehicle desired roll"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "achieved vehicle roll"
                },
                {
                    "name": "DesPitch",
                    "units": "deg",
                    "type": "float",
                    "description": "vehicle desired pitch"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "achieved vehicle pitch"
                },
                {
                    "name": "DesYaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "vehicle desired yaw"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "achieved vehicle yaw"
                },
                {
                    "name": "Dt",
                    "units": "s",
                    "type": "float",
                    "description": "attitude delta time"
                }
            ]
        },
        {
            "name": "AOA",
            "description": "Angle of attack and Side Slip Angle values",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AOA",
                    "units": "deg",
                    "type": "float",
                    "description": "Angle of Attack calculated from airspeed, wind vector,velocity vector "
                },
                {
                    "name": "SSA",
                    "units": "deg",
                    "type": "float",
                    "description": "Side Slip Angle calculated from airspeed, wind vector,velocity vector"
                }
            ]
        },
        {
            "name": "ARM",
            "description": "Arming status changes",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ArmState",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if vehicle is now armed"
                },
                {
                    "name": "ArmChecks",
                    "units": "",
                    "type": "uint32_t",
                    "description": "arming bitmask at time of arming",
                    "bitmask": {
                        "name": "AP_Arming::Check",
                        "entries": [
                            {
                                "name": "BARO",
                                "value": 2
                            },
                            {
                                "name": "COMPASS",
                                "value": 4
                            },
                            {
                                "name": "GPS",
                                "value": 8
                            },
                            {
                                "name": "INS",
                                "value": 16
                            },
                            {
                                "name": "PARAMETERS",
                                "value": 32
                            },
                            {
                                "name": "RC",
                                "value": 64
                            },
                            {
                                "name": "VOLTAGE",
                                "value": 128
                            },
                            {
                                "name": "BATTERY",
                                "value": 256
                            },
                            {
                                "name": "AIRSPEED",
                                "value": 512
                            },
                            {
                                "name": "LOGGING",
                                "value": 1024
                            },
                            {
                                "name": "SWITCH",
                                "value": 2048
                            },
                            {
                                "name": "GPS_CONFIG",
                                "value": 4096
                            },
                            {
                                "name": "SYSTEM",
                                "value": 8192
                            },
                            {
                                "name": "MISSION",
                                "value": 16384
                            },
                            {
                                "name": "RANGEFINDER",
                                "value": 32768
                            },
                            {
                                "name": "CAMERA",
                                "value": 65536
                            },
                            {
                                "name": "AUX_AUTH",
                                "value": 131072
                            },
                            {
                                "name": "VISION",
                                "value": 262144
                            },
                            {
                                "name": "FFT",
                                "value": 524288
                            },
                            {
                                "name": "OSD",
                                "value": 1048576
                            },
                            {
                                "name": "CHECK_LAST",
                                "value": 2097152
                            }
                        ]
                    }
                },
                {
                    "name": "Forced",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if arm/disarm was forced"
                },
                {
                    "name": "Method",
                    "units": "",
                    "type": "uint8_t",
                    "description": "method used for arming",
                    "enum": {
                        "name": "AP_Arming::Method",
                        "entries": [
                            {
                                "name": "RUDDER",
                                "value": 0
                            },
                            {
                                "name": "MAVLINK",
                                "value": 1
                            },
                            {
                                "name": "AUXSWITCH",
                                "value": 2
                            },
                            {
                                "name": "MOTORTEST",
                                "value": 3
                            },
                            {
                                "name": "SCRIPTING",
                                "value": 4
                            },
                            {
                                "name": "TERMINATION",
                                "value": 5,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "CPUFAILSAFE",
                                "value": 6,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "BATTERYFAILSAFE",
                                "value": 7,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "SOLOPAUSEWHENLANDED",
                                "value": 8,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "AFS",
                                "value": 9,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "ADSBCOLLISIONACTION",
                                "value": 10,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "PARACHUTE_RELEASE",
                                "value": 11,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "CRASH",
                                "value": 12,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "LANDED",
                                "value": 13,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "MISSIONEXIT",
                                "value": 14,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "FENCEBREACH",
                                "value": 15,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "RADIOFAILSAFE",
                                "value": 16,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "DISARMDELAY",
                                "value": 17,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "GCSFAILSAFE",
                                "value": 18,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "TERRRAINFAILSAFE",
                                "value": 19,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "FAILSAFE_ACTION_TERMINATE",
                                "value": 20,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "TERRAINFAILSAFE",
                                "value": 21,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "MOTORDETECTDONE",
                                "value": 22,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "BADFLOWOFCONTROL",
                                "value": 23,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "EKFFAILSAFE",
                                "value": 24,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "GCS_FAILSAFE_SURFACEFAILED",
                                "value": 25,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "GCS_FAILSAFE_HOLDFAILED",
                                "value": 26,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "TAKEOFFTIMEOUT",
                                "value": 27,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "AUTOLANDED",
                                "value": 28,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "PILOT_INPUT_FAILSAFE",
                                "value": 29,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "TOYMODELANDTHROTTLE",
                                "value": 30,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "TOYMODELANDFORCE",
                                "value": 31,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "LANDING",
                                "value": 32,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "DEADRECKON_FAILSAFE",
                                "value": 33,
                                "description": "only disarm uses this..."
                            },
                            {
                                "name": "BLACKBOX",
                                "value": 34
                            },
                            {
                                "name": "DDS",
                                "value": 35
                            },
                            {
                                "name": "AUTO_ARM_ONCE",
                                "value": 36
                            },
                            {
                                "name": "TURTLE_MODE",
                                "value": 37
                            },
                            {
                                "name": "TOYMODE",
                                "value": 38
                            },
                            {
                                "name": "UNKNOWN",
                                "value": 100
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "ARSP",
            "description": "Airspeed sensor data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Airspeed sensor instance number"
                },
                {
                    "name": "Airspeed",
                    "units": "m/s",
                    "type": "float",
                    "description": "Current airspeed"
                },
                {
                    "name": "DiffPress",
                    "units": "Pa",
                    "type": "float",
                    "description": "Pressure difference between static and dynamic port"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "int16_t * 100",
                    "description": "Temperature used for calculation"
                },
                {
                    "name": "RawPress",
                    "units": "Pa",
                    "type": "float",
                    "description": "Raw pressure less offset"
                },
                {
                    "name": "Offset",
                    "units": "Pa",
                    "type": "float",
                    "description": "Offset from parameter"
                },
                {
                    "name": "U",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if sensor is being used"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if sensor is healthy"
                },
                {
                    "name": "Hp",
                    "units": "",
                    "type": "float",
                    "description": "Probability sensor is healthy"
                },
                {
                    "name": "TR",
                    "units": "",
                    "type": "float",
                    "description": "innovation test ratio"
                },
                {
                    "name": "Pri",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Primary instance number. If equal to I then this sensor is primary sensor"
                }
            ]
        },
        {
            "name": "ASM1",
            "description": "AirSim simulation data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Simulation's timestamp"
                },
                {
                    "name": "R",
                    "units": "",
                    "type": "float",
                    "description": "Simulation's roll"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "Simulation's pitch"
                },
                {
                    "name": "Y",
                    "units": "",
                    "type": "float",
                    "description": "Simulation's yaw"
                },
                {
                    "name": "GX",
                    "units": "",
                    "type": "float",
                    "description": "Simulated gyroscope, X-axis"
                },
                {
                    "name": "GY",
                    "units": "",
                    "type": "float",
                    "description": "Simulated gyroscope, Y-axis"
                },
                {
                    "name": "GZ",
                    "units": "",
                    "type": "float",
                    "description": "Simulated gyroscope, Z-axis"
                }
            ]
        },
        {
            "name": "ASM2",
            "description": "More AirSim simulation data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AX",
                    "units": "",
                    "type": "float",
                    "description": "simulation's acceleration, X-axis"
                },
                {
                    "name": "AY",
                    "units": "",
                    "type": "float",
                    "description": "simulation's acceleration, Y-axis"
                },
                {
                    "name": "AZ",
                    "units": "",
                    "type": "float",
                    "description": "simulation's acceleration, Z-axis"
                },
                {
                    "name": "VX",
                    "units": "",
                    "type": "float",
                    "description": "simulation's velocity, X-axis"
                },
                {
                    "name": "VY",
                    "units": "",
                    "type": "float",
                    "description": "simulation's velocity, Y-axis"
                },
                {
                    "name": "VZ",
                    "units": "",
                    "type": "float",
                    "description": "simulation's velocity, Z-axis"
                },
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "simulation's position, X-axis"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "simulation's position, Y-axis"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "simulation's position, Z-axis"
                },
                {
                    "name": "Alt",
                    "units": "",
                    "type": "float",
                    "description": "simulation's gps altitude"
                },
                {
                    "name": "SD",
                    "units": "",
                    "type": "float",
                    "description": "simulation's earth-frame speed-down"
                }
            ]
        },
        {
            "name": "ATDE",
            "description": "AutoTune data packet",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Angle",
                    "units": "deg",
                    "type": "float",
                    "description": "current angle"
                },
                {
                    "name": "Rate",
                    "units": "deg/s",
                    "type": "float",
                    "description": "current angular rate"
                }
            ]
        },
        {
            "name": "ATSC",
            "description": "Scale factors for attitude controller",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AngPScX",
                    "units": "",
                    "type": "float",
                    "description": "Angle P scale X"
                },
                {
                    "name": "AngPScY",
                    "units": "",
                    "type": "float",
                    "description": "Angle P scale Y"
                },
                {
                    "name": "AngPScZ",
                    "units": "",
                    "type": "float",
                    "description": "Angle P scale Z"
                },
                {
                    "name": "PDScX",
                    "units": "",
                    "type": "float",
                    "description": "PD scale X"
                },
                {
                    "name": "PDScY",
                    "units": "",
                    "type": "float",
                    "description": "PD scale Y"
                },
                {
                    "name": "PDScZ",
                    "units": "",
                    "type": "float",
                    "description": "PD scale Z"
                },
                {
                    "name": "IScX",
                    "units": "",
                    "type": "float",
                    "description": "I scale X"
                },
                {
                    "name": "IScY",
                    "units": "",
                    "type": "float",
                    "description": "I scale Y"
                },
                {
                    "name": "IScZ",
                    "units": "",
                    "type": "float",
                    "description": "I scale Z"
                }
            ]
        },
        {
            "name": "ATT",
            "description": "Canonical vehicle attitude",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DesRoll",
                    "units": "deg",
                    "type": "float",
                    "description": "vehicle desired roll"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "achieved vehicle roll"
                },
                {
                    "name": "DesPitch",
                    "units": "deg",
                    "type": "float",
                    "description": "vehicle desired pitch"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "achieved vehicle pitch"
                },
                {
                    "name": "DesYaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "vehicle desired yaw"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "achieved vehicle yaw"
                },
                {
                    "name": "AEKF",
                    "units": "",
                    "type": "uint8_t",
                    "description": "active EKF type"
                }
            ]
        },
        {
            "name": "AUXF",
            "description": "Auxiliary function invocation information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "function",
                    "units": "instance",
                    "type": "uint16_t",
                    "description": "ID of triggered function",
                    "enum": {
                        "name": "RC_Channel::AUX_FUNC",
                        "entries": [
                            {
                                "name": "DO_NOTHING",
                                "value": 0,
                                "description": "aux switch disabled"
                            },
                            {
                                "name": "FLIP",
                                "value": 2,
                                "description": "flip"
                            },
                            {
                                "name": "SIMPLE_MODE",
                                "value": 3,
                                "description": "change to simple mode"
                            },
                            {
                                "name": "RTL",
                                "value": 4,
                                "description": "change to RTL flight mode"
                            },
                            {
                                "name": "SAVE_TRIM",
                                "value": 5,
                                "description": "save current position as level"
                            },
                            {
                                "name": "SAVE_WP",
                                "value": 7,
                                "description": "save mission waypoint or RTL if in auto mode"
                            },
                            {
                                "name": "CAMERA_TRIGGER",
                                "value": 9,
                                "description": "trigger camera servo or relay"
                            },
                            {
                                "name": "RANGEFINDER",
                                "value": 10,
                                "description": "allow enabling or disabling rangefinder in flight which helps avoid surface tracking when you are far above the ground"
                            },
                            {
                                "name": "FENCE",
                                "value": 11,
                                "description": "allow enabling or disabling fence in flight"
                            },
                            {
                                "name": "RESETTOARMEDYAW",
                                "value": 12,
                                "description": "UNUSED"
                            },
                            {
                                "name": "SUPERSIMPLE_MODE",
                                "value": 13,
                                "description": "change to simple mode in middle, super simple at top"
                            },
                            {
                                "name": "ACRO_TRAINER",
                                "value": 14,
                                "description": "low = disabled, middle = leveled, high = leveled and limited"
                            },
                            {
                                "name": "SPRAYER",
                                "value": 15,
                                "description": "enable/disable the crop sprayer"
                            },
                            {
                                "name": "AUTO",
                                "value": 16,
                                "description": "change to auto flight mode"
                            },
                            {
                                "name": "AUTOTUNE_MODE",
                                "value": 17,
                                "description": "auto tune"
                            },
                            {
                                "name": "LAND",
                                "value": 18,
                                "description": "change to LAND flight mode"
                            },
                            {
                                "name": "GRIPPER",
                                "value": 19,
                                "description": "Operate cargo grippers low=off, middle=neutral, high=on"
                            },
                            {
                                "name": "PARACHUTE_ENABLE",
                                "value": 21,
                                "description": "Parachute enable/disable"
                            },
                            {
                                "name": "PARACHUTE_RELEASE",
                                "value": 22,
                                "description": "Parachute release"
                            },
                            {
                                "name": "PARACHUTE_3POS",
                                "value": 23,
                                "description": "Parachute disable, enable, release with 3 position switch"
                            },
                            {
                                "name": "MISSION_RESET",
                                "value": 24,
                                "description": "Reset auto mission to start from first command"
                            },
                            {
                                "name": "ATTCON_FEEDFWD",
                                "value": 25,
                                "description": "enable/disable the roll and pitch rate feed forward"
                            },
                            {
                                "name": "ATTCON_ACCEL_LIM",
                                "value": 26,
                                "description": "enable/disable the roll, pitch and yaw accel limiting"
                            },
                            {
                                "name": "RETRACT_MOUNT1",
                                "value": 27,
                                "description": "Retract Mount1"
                            },
                            {
                                "name": "RELAY",
                                "value": 28,
                                "description": "Relay pin on/off (only supports first relay)"
                            },
                            {
                                "name": "LANDING_GEAR",
                                "value": 29,
                                "description": "Landing gear controller"
                            },
                            {
                                "name": "LOST_VEHICLE_SOUND",
                                "value": 30,
                                "description": "Play lost vehicle sound"
                            },
                            {
                                "name": "MOTOR_ESTOP",
                                "value": 31,
                                "description": "Emergency Stop Switch"
                            },
                            {
                                "name": "MOTOR_INTERLOCK",
                                "value": 32,
                                "description": "Motor On/Off switch"
                            },
                            {
                                "name": "BRAKE",
                                "value": 33,
                                "description": "Brake flight mode"
                            },
                            {
                                "name": "RELAY2",
                                "value": 34,
                                "description": "Relay2 pin on/off"
                            },
                            {
                                "name": "RELAY3",
                                "value": 35,
                                "description": "Relay3 pin on/off"
                            },
                            {
                                "name": "RELAY4",
                                "value": 36,
                                "description": "Relay4 pin on/off"
                            },
                            {
                                "name": "THROW",
                                "value": 37,
                                "description": "change to THROW flight mode"
                            },
                            {
                                "name": "AVOID_ADSB",
                                "value": 38,
                                "description": "enable AP_Avoidance library"
                            },
                            {
                                "name": "PRECISION_LOITER",
                                "value": 39,
                                "description": "enable precision loiter"
                            },
                            {
                                "name": "AVOID_PROXIMITY",
                                "value": 40,
                                "description": "enable object avoidance using proximity sensors (ie. horizontal lidar)"
                            },
                            {
                                "name": "ARMDISARM_UNUSED",
                                "value": 41,
                                "description": "UNUSED"
                            },
                            {
                                "name": "SMART_RTL",
                                "value": 42,
                                "description": "change to SmartRTL flight mode"
                            },
                            {
                                "name": "INVERTED",
                                "value": 43,
                                "description": "enable inverted flight"
                            },
                            {
                                "name": "WINCH_ENABLE",
                                "value": 44,
                                "description": "winch enable/disable"
                            },
                            {
                                "name": "WINCH_CONTROL",
                                "value": 45,
                                "description": "winch control"
                            },
                            {
                                "name": "RC_OVERRIDE_ENABLE",
                                "value": 46,
                                "description": "enable RC Override"
                            },
                            {
                                "name": "USER_FUNC1",
                                "value": 47,
                                "description": "user function #1"
                            },
                            {
                                "name": "USER_FUNC2",
                                "value": 48,
                                "description": "user function #2"
                            },
                            {
                                "name": "USER_FUNC3",
                                "value": 49,
                                "description": "user function #3"
                            },
                            {
                                "name": "LEARN_CRUISE",
                                "value": 50,
                                "description": "learn cruise throttle (Rover)"
                            },
                            {
                                "name": "MANUAL",
                                "value": 51,
                                "description": "manual mode"
                            },
                            {
                                "name": "ACRO",
                                "value": 52,
                                "description": "acro mode"
                            },
                            {
                                "name": "STEERING",
                                "value": 53,
                                "description": "steering mode"
                            },
                            {
                                "name": "HOLD",
                                "value": 54,
                                "description": "hold mode"
                            },
                            {
                                "name": "GUIDED",
                                "value": 55,
                                "description": "guided mode"
                            },
                            {
                                "name": "LOITER",
                                "value": 56,
                                "description": "loiter mode"
                            },
                            {
                                "name": "FOLLOW",
                                "value": 57,
                                "description": "follow mode"
                            },
                            {
                                "name": "CLEAR_WP",
                                "value": 58,
                                "description": "clear waypoints"
                            },
                            {
                                "name": "SIMPLE",
                                "value": 59,
                                "description": "simple mode"
                            },
                            {
                                "name": "ZIGZAG",
                                "value": 60,
                                "description": "zigzag mode"
                            },
                            {
                                "name": "ZIGZAG_SaveWP",
                                "value": 61,
                                "description": "zigzag save waypoint"
                            },
                            {
                                "name": "COMPASS_LEARN",
                                "value": 62,
                                "description": "learn compass offsets"
                            },
                            {
                                "name": "SAILBOAT_TACK",
                                "value": 63,
                                "description": "rover sailboat tack"
                            },
                            {
                                "name": "REVERSE_THROTTLE",
                                "value": 64,
                                "description": "reverse throttle input"
                            },
                            {
                                "name": "GPS_DISABLE",
                                "value": 65,
                                "description": "disable GPS for testing"
                            },
                            {
                                "name": "RELAY5",
                                "value": 66,
                                "description": "Relay5 pin on/off"
                            },
                            {
                                "name": "RELAY6",
                                "value": 67,
                                "description": "Relay6 pin on/off"
                            },
                            {
                                "name": "STABILIZE",
                                "value": 68,
                                "description": "stabilize mode"
                            },
                            {
                                "name": "POSHOLD",
                                "value": 69,
                                "description": "poshold mode"
                            },
                            {
                                "name": "ALTHOLD",
                                "value": 70,
                                "description": "althold mode"
                            },
                            {
                                "name": "FLOWHOLD",
                                "value": 71,
                                "description": "flowhold mode"
                            },
                            {
                                "name": "CIRCLE",
                                "value": 72,
                                "description": "circle mode"
                            },
                            {
                                "name": "DRIFT",
                                "value": 73,
                                "description": "drift mode"
                            },
                            {
                                "name": "SAILBOAT_MOTOR_3POS",
                                "value": 74,
                                "description": "Sailboat motoring 3pos"
                            },
                            {
                                "name": "SURFACE_TRACKING",
                                "value": 75,
                                "description": "Surface tracking upwards or downwards"
                            },
                            {
                                "name": "STANDBY",
                                "value": 76,
                                "description": "Standby mode"
                            },
                            {
                                "name": "TAKEOFF",
                                "value": 77,
                                "description": "takeoff"
                            },
                            {
                                "name": "RUNCAM_CONTROL",
                                "value": 78,
                                "description": "control RunCam device"
                            },
                            {
                                "name": "RUNCAM_OSD_CONTROL",
                                "value": 79,
                                "description": "control RunCam OSD"
                            },
                            {
                                "name": "VISODOM_ALIGN",
                                "value": 80,
                                "description": "align visual odometry camera's attitude to AHRS"
                            },
                            {
                                "name": "DISARM",
                                "value": 81,
                                "description": "disarm vehicle"
                            },
                            {
                                "name": "Q_ASSIST",
                                "value": 82,
                                "description": "disable, enable and force Q assist"
                            },
                            {
                                "name": "ZIGZAG_Auto",
                                "value": 83,
                                "description": "zigzag auto switch"
                            },
                            {
                                "name": "AIRMODE",
                                "value": 84,
                                "description": "enable / disable airmode for copter"
                            },
                            {
                                "name": "GENERATOR",
                                "value": 85,
                                "description": "generator control"
                            },
                            {
                                "name": "TER_DISABLE",
                                "value": 86,
                                "description": "disable terrain following in CRUISE/FBWB modes"
                            },
                            {
                                "name": "CROW_SELECT",
                                "value": 87,
                                "description": "select CROW mode for diff spoilers;high disables,mid forces progressive"
                            },
                            {
                                "name": "SOARING",
                                "value": 88,
                                "description": "three-position switch to set soaring mode"
                            },
                            {
                                "name": "LANDING_FLARE",
                                "value": 89,
                                "description": "force flare, throttle forced idle, pitch to LAND_PITCH_DEG, tilts up"
                            },
                            {
                                "name": "EKF_SOURCE_SET",
                                "value": 90,
                                "description": "change EKF data source set between primary, secondary and tertiary"
                            },
                            {
                                "name": "ARSPD_CALIBRATE",
                                "value": 91,
                                "description": "calibrate airspeed ratio"
                            },
                            {
                                "name": "FBWA",
                                "value": 92,
                                "description": "Fly-By-Wire-A"
                            },
                            {
                                "name": "RELOCATE_MISSION",
                                "value": 93,
                                "description": "used in separate branch MISSION_RELATIVE"
                            },
                            {
                                "name": "VTX_POWER",
                                "value": 94,
                                "description": "VTX power level"
                            },
                            {
                                "name": "FBWA_TAILDRAGGER",
                                "value": 95,
                                "description": "enables FBWA taildragger takeoff mode. Once this feature is enabled it will stay enabled until the aircraft goes above TKOFF_TDRAG_SPD1 airspeed, changes mode, or the pitch goes above the initial pitch when this is engaged or goes below 0 pitch. When enabled the elevator will be forced to TKOFF_TDRAG_ELEV. This option allows for easier takeoffs on taildraggers in FBWA mode, and also makes it easier to test auto-takeoff steering handling in FBWA."
                            },
                            {
                                "name": "MODE_SWITCH_RESET",
                                "value": 96,
                                "description": "trigger re-reading of mode switch"
                            },
                            {
                                "name": "WIND_VANE_DIR_OFSSET",
                                "value": 97,
                                "description": "flag for windvane direction offset input, used with windvane type 2"
                            },
                            {
                                "name": "TRAINING",
                                "value": 98,
                                "description": "mode training"
                            },
                            {
                                "name": "AUTO_RTL",
                                "value": 99,
                                "description": "AUTO RTL via DO_LAND_START"
                            },
                            {
                                "name": "KILL_IMU1",
                                "value": 100,
                                "description": "disable first IMU (for IMU failure testing)"
                            },
                            {
                                "name": "KILL_IMU2",
                                "value": 101,
                                "description": "disable second IMU (for IMU failure testing)"
                            },
                            {
                                "name": "CAM_MODE_TOGGLE",
                                "value": 102,
                                "description": "Momentary switch to cycle camera modes"
                            },
                            {
                                "name": "EKF_LANE_SWITCH",
                                "value": 103,
                                "description": "trigger lane switch attempt"
                            },
                            {
                                "name": "EKF_YAW_RESET",
                                "value": 104,
                                "description": "trigger yaw reset attempt"
                            },
                            {
                                "name": "GPS_DISABLE_YAW",
                                "value": 105,
                                "description": "disable GPS yaw for testing"
                            },
                            {
                                "name": "DISABLE_AIRSPEED_USE",
                                "value": 106,
                                "description": "equivalent to AIRSPEED_USE 0"
                            },
                            {
                                "name": "FW_AUTOTUNE",
                                "value": 107,
                                "description": "fixed wing auto tune"
                            },
                            {
                                "name": "QRTL",
                                "value": 108,
                                "description": "QRTL mode"
                            },
                            {
                                "name": "CUSTOM_CONTROLLER",
                                "value": 109,
                                "description": "use Custom Controller"
                            },
                            {
                                "name": "KILL_IMU3",
                                "value": 110,
                                "description": "disable third IMU (for IMU failure testing)"
                            },
                            {
                                "name": "LOWEHEISER_STARTER",
                                "value": 111,
                                "description": "allows for manually running starter"
                            },
                            {
                                "name": "AHRS_TYPE",
                                "value": 112,
                                "description": "change AHRS_EKF_TYPE"
                            },
                            {
                                "name": "RETRACT_MOUNT2",
                                "value": 113,
                                "description": "Retract Mount2"
                            },
                            {
                                "name": "CRUISE",
                                "value": 150,
                                "description": "CRUISE mode"
                            },
                            {
                                "name": "TURTLE",
                                "value": 151,
                                "description": "Turtle mode - flip over after crash"
                            },
                            {
                                "name": "SIMPLE_HEADING_RESET",
                                "value": 152,
                                "description": "reset simple mode reference heading to current"
                            },
                            {
                                "name": "ARMDISARM",
                                "value": 153,
                                "description": "arm or disarm vehicle"
                            },
                            {
                                "name": "ARMDISARM_AIRMODE",
                                "value": 154,
                                "description": "arm or disarm vehicle enabling airmode"
                            },
                            {
                                "name": "TRIM_TO_CURRENT_SERVO_RC",
                                "value": 155,
                                "description": "trim to current servo and RC"
                            },
                            {
                                "name": "TORQEEDO_CLEAR_ERR",
                                "value": 156,
                                "description": "clear torqeedo error"
                            },
                            {
                                "name": "EMERGENCY_LANDING_EN",
                                "value": 157,
                                "description": "Force long FS action to FBWA for landing out of range"
                            },
                            {
                                "name": "OPTFLOW_CAL",
                                "value": 158,
                                "description": "optical flow calibration"
                            },
                            {
                                "name": "FORCEFLYING",
                                "value": 159,
                                "description": "enable or disable land detection for GPS based manual modes preventing land detection and maintainting set_throttle_mix_max"
                            },
                            {
                                "name": "WEATHER_VANE_ENABLE",
                                "value": 160,
                                "description": "enable/disable weathervaning"
                            },
                            {
                                "name": "TURBINE_START",
                                "value": 161,
                                "description": "initialize turbine start sequence"
                            },
                            {
                                "name": "FFT_NOTCH_TUNE",
                                "value": 162,
                                "description": "FFT notch tuning function"
                            },
                            {
                                "name": "MOUNT_YAW_LOCK",
                                "value": 163,
                                "description": "Mount earth frame yaw lock forced on all axes, for all mounts"
                            },
                            {
                                "name": "LOG_PAUSE",
                                "value": 164,
                                "description": "Pauses logging if under logging rate control"
                            },
                            {
                                "name": "ARM_EMERGENCY_STOP",
                                "value": 165,
                                "description": "ARM on high, MOTOR_ESTOP on low"
                            },
                            {
                                "name": "CAMERA_REC_VIDEO",
                                "value": 166,
                                "description": "start recording on high, stop recording on low"
                            },
                            {
                                "name": "CAMERA_ZOOM",
                                "value": 167,
                                "description": "camera zoom high = zoom in, middle = hold, low = zoom out"
                            },
                            {
                                "name": "CAMERA_MANUAL_FOCUS",
                                "value": 168,
                                "description": "camera manual focus.  high = long shot, middle = stop focus, low = close shot"
                            },
                            {
                                "name": "CAMERA_AUTO_FOCUS",
                                "value": 169,
                                "description": "camera auto focus"
                            },
                            {
                                "name": "QSTABILIZE",
                                "value": 170,
                                "description": "QuadPlane QStabilize mode"
                            },
                            {
                                "name": "MAG_CAL",
                                "value": 171,
                                "description": "Calibrate compasses (disarmed only)"
                            },
                            {
                                "name": "BATTERY_MPPT_ENABLE",
                                "value": 172,
                                "description": "Battery MPPT Power enable. high = ON, mid = auto (controlled by mppt/batt driver), low = OFF. This effects all MPPTs."
                            },
                            {
                                "name": "PLANE_AUTO_LANDING_ABORT",
                                "value": 173,
                                "description": "Abort Glide-slope or VTOL landing during payload place or do_land type mission items"
                            },
                            {
                                "name": "CAMERA_IMAGE_TRACKING",
                                "value": 174,
                                "description": "camera image tracking"
                            },
                            {
                                "name": "CAMERA_LENS",
                                "value": 175,
                                "description": "camera lens selection"
                            },
                            {
                                "name": "VFWD_THR_OVERRIDE",
                                "value": 176,
                                "description": "force enabled VTOL forward throttle method"
                            },
                            {
                                "name": "MOUNT_LRF_ENABLE",
                                "value": 177,
                                "description": "mount LRF enable/disable"
                            },
                            {
                                "name": "FLIGHTMODE_PAUSE",
                                "value": 178,
                                "description": "e.g. pause movement towards waypoint"
                            },
                            {
                                "name": "ICE_START_STOP",
                                "value": 179,
                                "description": "AP_ICEngine start stop"
                            },
                            {
                                "name": "AUTOTUNE_TEST_GAINS",
                                "value": 180,
                                "description": "auto tune tuning switch to test or revert gains"
                            },
                            {
                                "name": "QUICKTUNE",
                                "value": 181,
                                "description": "quicktune 3 position switch"
                            },
                            {
                                "name": "AHRS_AUTO_TRIM",
                                "value": 182,
                                "description": "in-flight AHRS autotrim"
                            },
                            {
                                "name": "AUTOLAND",
                                "value": 183,
                                "description": "Fixed Wing AUTOLAND Mode"
                            },
                            {
                                "name": "SYSTEMID",
                                "value": 184,
                                "description": "system ID as an aux switch"
                            },
                            {
                                "name": "MOUNT_RP_LOCK",
                                "value": 185,
                                "description": "mount lock modes for roll and pitch axes, for all mounts that support it"
                            },
                            {
                                "name": "MOUNT_POI_LOCK",
                                "value": 186,
                                "description": "Lock mount target to current ROI seen and switch mount to GPS Targeting mode"
                            },
                            {
                                "name": "EKF_RESET",
                                "value": 187,
                                "description": "trigger full EKF bootstrap reset"
                            },
                            {
                                "name": "ROLL",
                                "value": 201,
                                "description": "roll input"
                            },
                            {
                                "name": "PITCH",
                                "value": 202,
                                "description": "pitch input"
                            },
                            {
                                "name": "THROTTLE",
                                "value": 203,
                                "description": "throttle pilot input"
                            },
                            {
                                "name": "YAW",
                                "value": 204,
                                "description": "yaw pilot input"
                            },
                            {
                                "name": "MAINSAIL",
                                "value": 207,
                                "description": "mainsail input"
                            },
                            {
                                "name": "FLAP",
                                "value": 208,
                                "description": "flap input"
                            },
                            {
                                "name": "FWD_THR",
                                "value": 209,
                                "description": "VTOL manual forward throttle"
                            },
                            {
                                "name": "AIRBRAKE",
                                "value": 210,
                                "description": "manual airbrake control"
                            },
                            {
                                "name": "WALKING_HEIGHT",
                                "value": 211,
                                "description": "walking robot height input"
                            },
                            {
                                "name": "MOUNT1_ROLL",
                                "value": 212,
                                "description": "mount1 roll input"
                            },
                            {
                                "name": "MOUNT1_PITCH",
                                "value": 213,
                                "description": "mount1 pitch input"
                            },
                            {
                                "name": "MOUNT1_YAW",
                                "value": 214,
                                "description": "mount1 yaw input"
                            },
                            {
                                "name": "MOUNT2_ROLL",
                                "value": 215,
                                "description": "mount2 roll input"
                            },
                            {
                                "name": "MOUNT2_PITCH",
                                "value": 216,
                                "description": "mount3 pitch input"
                            },
                            {
                                "name": "MOUNT2_YAW",
                                "value": 217,
                                "description": "mount4 yaw input"
                            },
                            {
                                "name": "LOWEHEISER_THROTTLE",
                                "value": 218,
                                "description": "allows for throttle on slider"
                            },
                            {
                                "name": "TRANSMITTER_TUNING",
                                "value": 219,
                                "description": "use a transmitter knob or slider for in-flight tuning"
                            },
                            {
                                "name": "TRANSMITTER_TUNING2",
                                "value": 220,
                                "description": "use another transmitter knob or slider for in-flight tuning"
                            },
                            {
                                "name": "SCRIPTING_1",
                                "value": 300
                            },
                            {
                                "name": "SCRIPTING_2",
                                "value": 301
                            },
                            {
                                "name": "SCRIPTING_3",
                                "value": 302
                            },
                            {
                                "name": "SCRIPTING_4",
                                "value": 303
                            },
                            {
                                "name": "SCRIPTING_5",
                                "value": 304
                            },
                            {
                                "name": "SCRIPTING_6",
                                "value": 305
                            },
                            {
                                "name": "SCRIPTING_7",
                                "value": 306
                            },
                            {
                                "name": "SCRIPTING_8",
                                "value": 307
                            },
                            {
                                "name": "SCRIPTING_9",
                                "value": 308
                            },
                            {
                                "name": "SCRIPTING_10",
                                "value": 309
                            },
                            {
                                "name": "SCRIPTING_11",
                                "value": 310
                            },
                            {
                                "name": "SCRIPTING_12",
                                "value": 311
                            },
                            {
                                "name": "SCRIPTING_13",
                                "value": 312
                            },
                            {
                                "name": "SCRIPTING_14",
                                "value": 313
                            },
                            {
                                "name": "SCRIPTING_15",
                                "value": 314
                            },
                            {
                                "name": "SCRIPTING_16",
                                "value": 315
                            },
                            {
                                "name": "STOP_RESTART_SCRIPTING",
                                "value": 316,
                                "description": "emergency scripting disablement"
                            },
                            {
                                "name": "AUX_FUNCTION_MAX",
                                "value": 317
                            }
                        ]
                    }
                },
                {
                    "name": "pos",
                    "units": "",
                    "type": "uint8_t",
                    "description": "switch position when function triggered",
                    "enum": {
                        "name": "RC_Channel::AuxSwitchPos",
                        "entries": [
                            {
                                "name": "LOW",
                                "value": 0,
                                "description": "indicates auxiliary switch is in the low position (pwm <1200)"
                            },
                            {
                                "name": "MIDDLE",
                                "value": 1,
                                "description": "indicates auxiliary switch is in the middle position (pwm >1200, <1800)"
                            },
                            {
                                "name": "HIGH",
                                "value": 2,
                                "description": "indicates auxiliary switch is in the high position (pwm >1800)"
                            }
                        ]
                    }
                },
                {
                    "name": "source",
                    "units": "",
                    "type": "uint8_t",
                    "description": "source of auxiliary function invocation",
                    "enum": {
                        "name": "RC_Channel::AuxFuncTrigger::Source",
                        "entries": [
                            {
                                "name": "INIT",
                                "value": 0,
                                "description": "Source index is RC channel index"
                            },
                            {
                                "name": "RC",
                                "value": 1,
                                "description": "Source index is RC channel index"
                            },
                            {
                                "name": "BUTTON",
                                "value": 2,
                                "description": "Source index is button index"
                            },
                            {
                                "name": "MAVLINK",
                                "value": 3,
                                "description": "Source index is MAVLink channel number"
                            },
                            {
                                "name": "MISSION",
                                "value": 4,
                                "description": "Source index is mission item index"
                            },
                            {
                                "name": "SCRIPTING",
                                "value": 5,
                                "description": "Source index is not used (always 0)"
                            }
                        ]
                    }
                },
                {
                    "name": "index",
                    "units": "",
                    "type": "uint16_t",
                    "description": "index within source. 0 indexed. Invalid for scripting."
                },
                {
                    "name": "result",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if function was successful"
                }
            ]
        },
        {
            "name": "BARD",
            "description": "Barometer dynamic data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "barometer sensor instance number"
                },
                {
                    "name": "DynPrX",
                    "units": "Pa",
                    "type": "float",
                    "description": "calculated dynamic pressure in the bodyframe X-axis"
                },
                {
                    "name": "DynPrY",
                    "units": "Pa",
                    "type": "float",
                    "description": "calculated dynamic pressure in the bodyframe Y-axis"
                },
                {
                    "name": "DynPrZ",
                    "units": "Pa",
                    "type": "float",
                    "description": "calculated dynamic pressure in the bodyframe Z-axis"
                }
            ]
        },
        {
            "name": "BARO",
            "description": "Gathered Barometer data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "barometer sensor instance number"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "calculated altitude"
                },
                {
                    "name": "AltAMSL",
                    "units": "m",
                    "type": "float",
                    "description": "altitude AMSL"
                },
                {
                    "name": "Press",
                    "units": "Pa",
                    "type": "float",
                    "description": "measured atmospheric pressure"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "int16_t * 100",
                    "description": "measured atmospheric temperature"
                },
                {
                    "name": "CRt",
                    "units": "m/s",
                    "type": "float",
                    "description": "derived climb rate from primary barometer"
                },
                {
                    "name": "SMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "time last sample was taken"
                },
                {
                    "name": "Offset",
                    "units": "m",
                    "type": "float",
                    "description": "raw adjustment of barometer altitude, zeroed on calibration, possibly set by GCS"
                },
                {
                    "name": "GndTemp",
                    "units": "degC",
                    "type": "float",
                    "description": "temperature on ground, specified by parameter or measured while on ground"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if barometer is considered healthy"
                },
                {
                    "name": "CPress",
                    "units": "Pa",
                    "type": "float",
                    "description": "compensated atmospheric pressure"
                }
            ]
        },
        {
            "name": "BAT",
            "description": "Gathered battery data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Inst",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "battery instance number"
                },
                {
                    "name": "Volt",
                    "units": "V",
                    "type": "float",
                    "description": "measured voltage"
                },
                {
                    "name": "VoltR",
                    "units": "V",
                    "type": "float",
                    "description": "estimated resting voltage"
                },
                {
                    "name": "Curr",
                    "units": "A",
                    "type": "float",
                    "description": "measured current"
                },
                {
                    "name": "CurrTot",
                    "units": "mAh",
                    "type": "float",
                    "description": "consumed Ah, current * time"
                },
                {
                    "name": "EnrgTot",
                    "units": "W.h",
                    "type": "float",
                    "description": "consumed Wh, energy this battery has expended"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "int16_t * 100",
                    "description": "measured temperature"
                },
                {
                    "name": "Res",
                    "units": "Ohm",
                    "type": "float",
                    "description": "estimated battery resistance"
                },
                {
                    "name": "RemPct",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "remaining percentage"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "health"
                },
                {
                    "name": "SH",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "state of health percentage.  0 if unknown"
                }
            ]
        },
        {
            "name": "BCL",
            "description": "Battery cell voltage information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "battery instance number"
                },
                {
                    "name": "Volt",
                    "units": "V",
                    "type": "float",
                    "description": "battery voltage"
                },
                {
                    "name": "V1",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "first cell voltage"
                },
                {
                    "name": "V2",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "second cell voltage"
                },
                {
                    "name": "V3",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "third cell voltage"
                },
                {
                    "name": "V4",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "fourth cell voltage"
                },
                {
                    "name": "V5",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "fifth cell voltage"
                },
                {
                    "name": "V6",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "sixth cell voltage"
                },
                {
                    "name": "V7",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "seventh cell voltage"
                },
                {
                    "name": "V8",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "eighth cell voltage"
                },
                {
                    "name": "V9",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "ninth cell voltage"
                },
                {
                    "name": "V10",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "tenth cell voltage"
                },
                {
                    "name": "V11",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "eleventh cell voltage"
                },
                {
                    "name": "V12",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "twelfth cell voltage"
                }
            ]
        },
        {
            "name": "BCL2",
            "description": "Battery cell voltage information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "battery instance number"
                },
                {
                    "name": "V13",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "thirteenth cell voltage"
                },
                {
                    "name": "V14",
                    "units": "mV",
                    "type": "uint16_t",
                    "description": "fourteenth cell voltage"
                }
            ]
        },
        {
            "name": "BCN",
            "description": "Beacon information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Health",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if beacon sensor is healthy"
                },
                {
                    "name": "Cnt",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Number of beacons being used"
                },
                {
                    "name": "D0",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to first beacon"
                },
                {
                    "name": "D1",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to second beacon"
                },
                {
                    "name": "D2",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to third beacon"
                },
                {
                    "name": "D3",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to fourth beacon"
                },
                {
                    "name": "PosX",
                    "units": "m",
                    "type": "float",
                    "description": "Calculated beacon position, x-axis"
                },
                {
                    "name": "PosY",
                    "units": "m",
                    "type": "float",
                    "description": "Calculated beacon position, y-axis"
                },
                {
                    "name": "PosZ",
                    "units": "m",
                    "type": "float",
                    "description": "Calculated beacon position, z-axis"
                }
            ]
        },
        {
            "name": "CAFD",
            "description": "CANFD Frame",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Bus",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "bus number"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "uint32_t",
                    "description": "frame identifier"
                },
                {
                    "name": "DLC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "data length code"
                },
                {
                    "name": "D0",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 0"
                },
                {
                    "name": "D1",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 1"
                },
                {
                    "name": "D2",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 2"
                },
                {
                    "name": "D3",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 3"
                },
                {
                    "name": "D4",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 4"
                },
                {
                    "name": "D5",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 5"
                },
                {
                    "name": "D6",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 6"
                },
                {
                    "name": "D7",
                    "units": "",
                    "type": "uint64_t",
                    "description": "data 7"
                }
            ]
        },
        {
            "name": "CAM",
            "description": "Camera shutter information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance number"
                },
                {
                    "name": "Img",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Image number"
                },
                {
                    "name": "GPSTime",
                    "units": "",
                    "type": "uint32_t",
                    "description": "milliseconds since start of GPS week"
                },
                {
                    "name": "GPSWeek",
                    "units": "",
                    "type": "uint16_t",
                    "description": "weeks since 5 Jan 1980"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "current latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "current longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "current altitude"
                },
                {
                    "name": "RelAlt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "current altitude relative to home"
                },
                {
                    "name": "GPSAlt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "altitude as reported by GPS"
                },
                {
                    "name": "R",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle roll"
                },
                {
                    "name": "P",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle pitch"
                },
                {
                    "name": "Y",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle yaw"
                }
            ]
        },
        {
            "name": "CAND",
            "description": "Info from GetNodeInfo request",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Driver",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Driver index"
                },
                {
                    "name": "NodeId",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Node ID"
                },
                {
                    "name": "UID1",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Hardware ID, part 1"
                },
                {
                    "name": "UID2",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Hardware ID, part 2"
                },
                {
                    "name": "Name",
                    "units": "",
                    "type": "char[64]",
                    "description": "Name string"
                },
                {
                    "name": "Major",
                    "units": "",
                    "type": "uint8_t",
                    "description": "major revision id"
                },
                {
                    "name": "Minor",
                    "units": "",
                    "type": "uint8_t",
                    "description": "minor revision id"
                },
                {
                    "name": "Version",
                    "units": "",
                    "type": "uint32_t",
                    "description": "AP_Periph git hash"
                }
            ]
        },
        {
            "name": "CANF",
            "description": "CAN Frame",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Bus",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "bus number"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "uint32_t",
                    "description": "frame identifier"
                },
                {
                    "name": "DLC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "data length code"
                },
                {
                    "name": "B0",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 0"
                },
                {
                    "name": "B1",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 1"
                },
                {
                    "name": "B2",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 2"
                },
                {
                    "name": "B3",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 3"
                },
                {
                    "name": "B4",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 4"
                },
                {
                    "name": "B5",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 5"
                },
                {
                    "name": "B6",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 6"
                },
                {
                    "name": "B7",
                    "units": "",
                    "type": "uint8_t",
                    "description": "byte 7"
                }
            ]
        },
        {
            "name": "CANH",
            "description": "DroneCAN heartbeat status",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Driver",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Driver index"
                },
                {
                    "name": "NodeId",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Node ID"
                },
                {
                    "name": "UpTime",
                    "units": "s",
                    "type": "uint32_t",
                    "description": "Time since node startup"
                },
                {
                    "name": "Health",
                    "units": "",
                    "type": "uint8_t",
                    "description": "0:Ok, 1:Warning, 2:Error, 3:Critical"
                },
                {
                    "name": "Mode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "0:Operational, 1:Initialization, 2:Maintenance, 3:Software update, 7:Offline"
                },
                {
                    "name": "SubMode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Expected to be 0"
                },
                {
                    "name": "VendorCode",
                    "units": "",
                    "type": "uint16_t",
                    "description": "vendor specific code. In AP_Periph this is available memory in bytes."
                }
            ]
        },
        {
            "name": "CANS",
            "description": "CAN Bus Statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "driver index"
                },
                {
                    "name": "T",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit success count"
                },
                {
                    "name": "Trq",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit request count"
                },
                {
                    "name": "Trej",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit reject count"
                },
                {
                    "name": "Tov",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit overflow count"
                },
                {
                    "name": "Tto",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit timeout count"
                },
                {
                    "name": "Tab",
                    "units": "",
                    "type": "uint32_t",
                    "description": "transmit abort count"
                },
                {
                    "name": "R",
                    "units": "",
                    "type": "uint32_t",
                    "description": "receive count"
                },
                {
                    "name": "Rov",
                    "units": "",
                    "type": "uint32_t",
                    "description": "receive overflow count"
                },
                {
                    "name": "Rer",
                    "units": "",
                    "type": "uint32_t",
                    "description": "receive error count"
                },
                {
                    "name": "Bo",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bus offset error count"
                },
                {
                    "name": "Etx",
                    "units": "",
                    "type": "uint32_t",
                    "description": "ESC successful send count"
                },
                {
                    "name": "Stx",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Servo successful send count"
                },
                {
                    "name": "Ftx",
                    "units": "",
                    "type": "uint32_t",
                    "description": "ESC/Servo failed-to-send count"
                }
            ]
        },
        {
            "name": "CC",
            "description": "Custom Controller data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "controller type",
                    "enum": {
                        "name": "AC_CustomControl::CustomControlType",
                        "entries": [
                            {
                                "name": "CONT_NONE",
                                "value": 0
                            },
                            {
                                "name": "CONT_EMPTY",
                                "value": 1
                            },
                            {
                                "name": "CONT_PID",
                                "value": 2
                            }
                        ]
                    }
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if controller is active"
                }
            ]
        },
        {
            "name": "CMD",
            "description": "Uploaded mission command information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "CTot",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Total number of mission commands"
                },
                {
                    "name": "CNum",
                    "units": "",
                    "type": "uint16_t",
                    "description": "This command's offset in mission"
                },
                {
                    "name": "CId",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Command type"
                },
                {
                    "name": "Prm1",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 1"
                },
                {
                    "name": "Prm2",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 2"
                },
                {
                    "name": "Prm3",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 3"
                },
                {
                    "name": "Prm4",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 4"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Command latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Command longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Command altitude"
                },
                {
                    "name": "Frame",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Frame used for position"
                }
            ]
        },
        {
            "name": "CRSE",
            "url": "https://ardupilot.org/rover/docs/rover-tuning-throttle-and-speed.html",
            "description": "Cruise Learn messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "int8_t",
                    "description": "True if Cruise Learn has started"
                },
                {
                    "name": "Speed",
                    "units": "",
                    "type": "float",
                    "description": "Determined target Cruise speed in auto missions"
                },
                {
                    "name": "Throttle",
                    "units": "",
                    "type": "float",
                    "description": "Determined base throttle percentage to be used in auto missions "
                }
            ]
        },
        {
            "name": "CSCU",
            "description": "Generic DroneCAN circuit status",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "driver index"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "uint16_t",
                    "description": "circuit id"
                },
                {
                    "name": "V",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage"
                },
                {
                    "name": "A",
                    "units": "A",
                    "type": "float",
                    "description": "Current"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "uint8_t",
                    "description": "error flags"
                }
            ]
        },
        {
            "name": "CSRV",
            "description": "Servo feedback data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Servo number this data relates to"
                },
                {
                    "name": "Pos",
                    "units": "deg",
                    "type": "float",
                    "description": "Current servo position"
                },
                {
                    "name": "Force",
                    "units": "N.m",
                    "type": "float",
                    "description": "Force being applied"
                },
                {
                    "name": "Speed",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Current servo movement speed"
                },
                {
                    "name": "Pow",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Amount of rated power being applied"
                },
                {
                    "name": "PosCmd",
                    "units": "deg",
                    "type": "float",
                    "description": "commanded servo position"
                },
                {
                    "name": "V",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage"
                },
                {
                    "name": "A",
                    "units": "A",
                    "type": "float",
                    "description": "Current"
                },
                {
                    "name": "MotT",
                    "units": "degC",
                    "type": "float",
                    "description": "motor temperature"
                },
                {
                    "name": "PCBT",
                    "units": "degC",
                    "type": "float",
                    "description": "PCB temperature"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "uint8_t",
                    "description": "error flags"
                }
            ]
        },
        {
            "name": "DCM",
            "description": "DCM Estimator Data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "estimated roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "estimated pitch"
                },
                {
                    "name": "Yaw",
                    "units": "deg",
                    "type": "float",
                    "description": "estimated yaw"
                },
                {
                    "name": "ErrRP",
                    "units": "deg",
                    "type": "float",
                    "description": "lowest estimated gyro drift error"
                },
                {
                    "name": "ErrYaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "difference between measured yaw and DCM yaw estimate"
                },
                {
                    "name": "VWN",
                    "units": "m/s",
                    "type": "float",
                    "description": "wind velocity, to-the-North component"
                },
                {
                    "name": "VWE",
                    "units": "m/s",
                    "type": "float",
                    "description": "wind velocity, to-the-East component"
                },
                {
                    "name": "VWD",
                    "units": "m/s",
                    "type": "float",
                    "description": "wind velocity, Up-to-Down component"
                },
                {
                    "name": "SAs",
                    "units": "m/s",
                    "type": "float",
                    "description": "synthetic (equivalent) airspeed"
                }
            ]
        },
        {
            "name": "DMS",
            "description": "DataFlash-Over-MAVLink statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "N",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Current block number"
                },
                {
                    "name": "Dp",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of times we rejected a write to the backend"
                },
                {
                    "name": "RT",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of blocks sent from the retry queue"
                },
                {
                    "name": "RS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of resends of unacknowledged data made"
                },
                {
                    "name": "Fa",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Average number of blocks on the free list"
                },
                {
                    "name": "Fmn",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Minimum number of blocks on the free list"
                },
                {
                    "name": "Fmx",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Maximum number of blocks on the free list"
                },
                {
                    "name": "Pa",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Average number of blocks on the pending list"
                },
                {
                    "name": "Pmn",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Minimum number of blocks on the pending list"
                },
                {
                    "name": "Pmx",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Maximum number of blocks on the pending list"
                },
                {
                    "name": "Sa",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Average number of blocks on the sent list"
                },
                {
                    "name": "Smn",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Minimum number of blocks on the sent list"
                },
                {
                    "name": "Smx",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Maximum number of blocks on the sent list"
                }
            ]
        },
        {
            "name": "DOCK",
            "description": "Dock mode target information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DockX",
                    "units": "m",
                    "type": "float",
                    "description": "Docking Station position, X-Axis"
                },
                {
                    "name": "DockY",
                    "units": "m",
                    "type": "float",
                    "description": "Docking Station position, Y-Axis"
                },
                {
                    "name": "DockDist",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to docking station"
                },
                {
                    "name": "TPosX",
                    "units": "m",
                    "type": "float",
                    "description": "Current Position Target, X-Axis"
                },
                {
                    "name": "TPosY",
                    "units": "m",
                    "type": "float",
                    "description": "Current Position Target, Y-Axis"
                },
                {
                    "name": "DSpd",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired speed"
                },
                {
                    "name": "DTrnRt",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Desired Turn Rate"
                }
            ]
        },
        {
            "name": "DPTH",
            "description": "Depth messages on boats with downwards facing range finder",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Inst",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Latitude "
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Longitude   "
                },
                {
                    "name": "Depth",
                    "units": "m",
                    "type": "float",
                    "description": "Depth as detected by the sensor"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "Temperature"
                }
            ]
        },
        {
            "name": "DSF",
            "description": "Onboard logging statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Dp",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of times we rejected a write to the backend"
                },
                {
                    "name": "Blk",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Current block number"
                },
                {
                    "name": "Bytes",
                    "units": "B",
                    "type": "uint32_t",
                    "description": "Current write offset"
                },
                {
                    "name": "FMn",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Minimum free space in write buffer in last time period"
                },
                {
                    "name": "FMx",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Maximum free space in write buffer in last time period"
                },
                {
                    "name": "FAv",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Average free space in write buffer in last time period"
                }
            ]
        },
        {
            "name": "DSTL",
            "description": "Deepstall Landing data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Stg",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Deepstall landing stage"
                },
                {
                    "name": "THdg",
                    "units": "degheading",
                    "type": "float",
                    "description": "Target heading"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Landing point latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Landing point longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "Landing point altitude"
                },
                {
                    "name": "XT",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Crosstrack error"
                },
                {
                    "name": "Travel",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Expected travel distance vehicle will travel from this point"
                },
                {
                    "name": "L1I",
                    "units": "",
                    "type": "float",
                    "description": "L1 controller crosstrack integrator value"
                },
                {
                    "name": "Loiter",
                    "units": "",
                    "type": "int32_t * 100",
                    "description": "wind estimate loiter angle flown"
                },
                {
                    "name": "Des",
                    "units": "",
                    "type": "float",
                    "description": "Deepstall steering PID desired value"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "Deepstall steering PID Proportional response component"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "Deepstall steering PID Integral response component"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "Deepstall steering PID Derivative response component"
                }
            ]
        },
        {
            "name": "EAHR",
            "description": "External AHRS data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "euler roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "euler pitch"
                },
                {
                    "name": "Yaw",
                    "units": "deg",
                    "type": "float",
                    "description": "euler yaw"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity north"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity east"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity down"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "latitude"
                },
                {
                    "name": "Lon",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "altitude AMSL"
                },
                {
                    "name": "Flg",
                    "units": "",
                    "type": "uint32_t",
                    "description": "nav status flags"
                }
            ]
        },
        {
            "name": "EAHV",
            "description": "External AHRS variances",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Vel",
                    "units": "",
                    "type": "float",
                    "description": "velocity variance"
                },
                {
                    "name": "Pos",
                    "units": "",
                    "type": "float",
                    "description": "position variance"
                },
                {
                    "name": "Hgt",
                    "units": "",
                    "type": "float",
                    "description": "height variance"
                },
                {
                    "name": "MagX",
                    "units": "",
                    "type": "float",
                    "description": "magnetic variance, X"
                },
                {
                    "name": "MagY",
                    "units": "",
                    "type": "float",
                    "description": "magnetic variance, Y"
                },
                {
                    "name": "MagZ",
                    "units": "",
                    "type": "float",
                    "description": "magnetic variance, Z"
                },
                {
                    "name": "TAS",
                    "units": "",
                    "type": "float",
                    "description": "true airspeed variance"
                }
            ]
        },
        {
            "name": "ECYL",
            "description": "EFI per-cylinder information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Inst",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Cylinder this data belongs to"
                },
                {
                    "name": "IgnT",
                    "units": "deg",
                    "type": "float",
                    "description": "Ignition timing"
                },
                {
                    "name": "InjT",
                    "units": "ms",
                    "type": "float",
                    "description": "Injection time"
                },
                {
                    "name": "CHT",
                    "units": "degC",
                    "type": "float",
                    "description": "Cylinder head temperature"
                },
                {
                    "name": "EGT",
                    "units": "degC",
                    "type": "float",
                    "description": "Exhaust gas temperature"
                },
                {
                    "name": "Lambda",
                    "units": "",
                    "type": "float",
                    "description": "Estimated lambda coefficient (dimensionless ratio)"
                },
                {
                    "name": "CHT2",
                    "units": "degC",
                    "type": "float",
                    "description": "Cylinder2 head temperature"
                },
                {
                    "name": "EGT2",
                    "units": "degC",
                    "type": "float",
                    "description": "Cylinder2 Exhaust gas temperature"
                },
                {
                    "name": "IDX",
                    "units": "",
                    "type": "float",
                    "description": "Index of the publishing ECU"
                }
            ]
        },
        {
            "name": "EDT2",
            "description": "Status received from ESCs via Extended DShot telemetry v2",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "ESC instance number"
                },
                {
                    "name": "Stress",
                    "units": "",
                    "type": "uint8_t",
                    "description": "current stress level (commutation effort), scaled to [0..255]"
                },
                {
                    "name": "MaxStress",
                    "units": "",
                    "type": "uint8_t",
                    "description": "maximum stress level (commutation effort) since arming, scaled to [0..15]"
                },
                {
                    "name": "Status",
                    "units": "",
                    "type": "uint8_t",
                    "description": "status bits",
                    "bitmask": {
                        "name": "log_Edt2_Status",
                        "entries": [
                            {
                                "name": "HAS_STRESS_DATA",
                                "value": 1,
                                "description": "true if the message contains up-to-date stress data"
                            },
                            {
                                "name": "HAS_STATUS_DATA",
                                "value": 2,
                                "description": "true if the message contains up-to-date status data"
                            },
                            {
                                "name": "ALERT_BIT",
                                "value": 4,
                                "description": "true if the last status had the \"alert\" bit (e.g. demag)"
                            },
                            {
                                "name": "WARNING_BIT",
                                "value": 8,
                                "description": "true if the last status had the \"warning\" bit (e.g. desync)"
                            },
                            {
                                "name": "ERROR_BIT",
                                "value": 16,
                                "description": "true if the last status had the \"error\" bit (e.g. stall)"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "EFI",
            "description": "Electronic Fuel Injection system data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "LP",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Reported engine load"
                },
                {
                    "name": "Rpm",
                    "units": "rpm",
                    "type": "uint32_t",
                    "description": "Reported engine RPM"
                },
                {
                    "name": "SDT",
                    "units": "ms",
                    "type": "float",
                    "description": "Spark Dwell Time"
                },
                {
                    "name": "ATM",
                    "units": "Pa",
                    "type": "float",
                    "description": "Atmospheric pressure"
                },
                {
                    "name": "IMP",
                    "units": "Pa",
                    "type": "float",
                    "description": "Intake manifold pressure"
                },
                {
                    "name": "IMT",
                    "units": "degC",
                    "type": "float",
                    "description": "Intake manifold temperature"
                },
                {
                    "name": "ECT",
                    "units": "degC",
                    "type": "float",
                    "description": "Engine Coolant Temperature"
                },
                {
                    "name": "OilP",
                    "units": "Pa",
                    "type": "float",
                    "description": "Oil Pressure"
                },
                {
                    "name": "OilT",
                    "units": "degC",
                    "type": "float",
                    "description": "Oil temperature"
                },
                {
                    "name": "FP",
                    "units": "Pa",
                    "type": "float",
                    "description": "Fuel Pressure"
                },
                {
                    "name": "FCR",
                    "units": "",
                    "type": "float",
                    "description": "Fuel Consumption Rate"
                },
                {
                    "name": "CFV",
                    "units": "",
                    "type": "float",
                    "description": "Consumed fuel volume"
                },
                {
                    "name": "TPS",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Throttle Position"
                },
                {
                    "name": "IDX",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Index of the publishing ECU"
                }
            ]
        },
        {
            "name": "EFI2",
            "description": "Electronic Fuel Injection system data - redux",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Healthy",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if EFI is healthy"
                },
                {
                    "name": "ES",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Engine state"
                },
                {
                    "name": "GE",
                    "units": "",
                    "type": "uint8_t",
                    "description": "General error"
                },
                {
                    "name": "CSE",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Crankshaft sensor status"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Temperature status"
                },
                {
                    "name": "FPS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Fuel pressure status"
                },
                {
                    "name": "OPS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Oil pressure status"
                },
                {
                    "name": "DS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Detonation status"
                },
                {
                    "name": "MS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Misfire status"
                },
                {
                    "name": "DebS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Debris status"
                },
                {
                    "name": "SPU",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Spark plug usage"
                },
                {
                    "name": "IDX",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Index of the publishing ECU"
                }
            ]
        },
        {
            "name": "EFIS",
            "description": "Electronic Fuel Injection data - Hirth specific Status information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "EET",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Error Excess Temperature Bitfield",
                    "bitmask": {
                        "name": "AP_EFI_Serial_Hirth:::Error_Excess_Temp_Bitfield",
                        "entries": [
                            {
                                "name": "CHT_1_LOW",
                                "value": 1,
                                "description": "true if CHT1 is too low"
                            },
                            {
                                "name": "CHT_1_HIGH",
                                "value": 2,
                                "description": "true if CHT1 is too high"
                            },
                            {
                                "name": "CHT_1_ENRC_ACTIVE",
                                "value": 4,
                                "description": "true if CHT1 Enrichment is active"
                            },
                            {
                                "name": "CHT_2_LOW",
                                "value": 8,
                                "description": "true if CHT2 is too low"
                            },
                            {
                                "name": "CHT_2_HIGH",
                                "value": 16,
                                "description": "true if CHT2 is too high"
                            },
                            {
                                "name": "CHT_2_ENRC_ACTIVE",
                                "value": 32,
                                "description": "true if CHT2 Enrichment is active"
                            },
                            {
                                "name": "EGT_1_LOW",
                                "value": 64,
                                "description": "true if EGT1 is too low"
                            },
                            {
                                "name": "EGT_1_HIGH",
                                "value": 128,
                                "description": "true if EGT1 is too high"
                            },
                            {
                                "name": "EGT_1_ENRC_ACTIVE",
                                "value": 256,
                                "description": "true if EGT1 Enrichment is active"
                            },
                            {
                                "name": "EGT_2_LOW",
                                "value": 512,
                                "description": "true if EGT2 is too low"
                            },
                            {
                                "name": "EGT_2_HIGH",
                                "value": 1024,
                                "description": "true if EGT2 is too high"
                            },
                            {
                                "name": "EGT_2_ENRC_ACTIVE",
                                "value": 2048,
                                "description": "true if EGT2 Enrichment is active"
                            }
                        ]
                    }
                },
                {
                    "name": "FLAG",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Sensor Status Bitfield",
                    "bitmask": {
                        "name": "AP_EFI_Serial_Hirth:::Sensor_Status_Bitfield",
                        "entries": [
                            {
                                "name": "ENGINE_TEMP_SENSOR_OK",
                                "value": 2,
                                "description": "true if engine temperature sensor is OK"
                            },
                            {
                                "name": "AIR_TEMP_SENSOR_OK",
                                "value": 4,
                                "description": "true if air temperature sensor is OK"
                            },
                            {
                                "name": "AIR_PRESSURE_SENSOR_OK",
                                "value": 8,
                                "description": "true if intake air pressure sensor is OK"
                            },
                            {
                                "name": "THROTTLE_SENSOR_OK",
                                "value": 16,
                                "description": "true if throttle sensor is OK"
                            }
                        ]
                    }
                },
                {
                    "name": "CRF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "CRC failure count"
                },
                {
                    "name": "AKF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "ACK failure count"
                },
                {
                    "name": "Up",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Uptime between 2 messages"
                },
                {
                    "name": "ThO",
                    "units": "",
                    "type": "float",
                    "description": "Throttle output as received by the engine"
                },
                {
                    "name": "ThM",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Modified throttle_to_hirth output sent to the engine"
                }
            ]
        },
        {
            "name": "ERR",
            "description": "Specifically coded error messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Subsys",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Subsystem in which the error occurred",
                    "enum": {
                        "name": "LogErrorSubsystem",
                        "entries": [
                            {
                                "name": "MAIN",
                                "value": 1
                            },
                            {
                                "name": "RADIO",
                                "value": 2
                            },
                            {
                                "name": "COMPASS",
                                "value": 3
                            },
                            {
                                "name": "OPTFLOW",
                                "value": 4,
                                "description": "not used"
                            },
                            {
                                "name": "FAILSAFE_RADIO",
                                "value": 5
                            },
                            {
                                "name": "FAILSAFE_BATT",
                                "value": 6
                            },
                            {
                                "name": "FAILSAFE_GPS",
                                "value": 7,
                                "description": "not used"
                            },
                            {
                                "name": "FAILSAFE_GCS",
                                "value": 8
                            },
                            {
                                "name": "FAILSAFE_FENCE",
                                "value": 9
                            },
                            {
                                "name": "FLIGHT_MODE",
                                "value": 10
                            },
                            {
                                "name": "GPS",
                                "value": 11
                            },
                            {
                                "name": "CRASH_CHECK",
                                "value": 12
                            },
                            {
                                "name": "FLIP",
                                "value": 13
                            },
                            {
                                "name": "AUTOTUNE",
                                "value": 14,
                                "description": "not used"
                            },
                            {
                                "name": "PARACHUTES",
                                "value": 15
                            },
                            {
                                "name": "EKFCHECK",
                                "value": 16
                            },
                            {
                                "name": "FAILSAFE_EKFINAV",
                                "value": 17
                            },
                            {
                                "name": "BARO",
                                "value": 18
                            },
                            {
                                "name": "CPU",
                                "value": 19
                            },
                            {
                                "name": "FAILSAFE_ADSB",
                                "value": 20
                            },
                            {
                                "name": "TERRAIN",
                                "value": 21
                            },
                            {
                                "name": "NAVIGATION",
                                "value": 22
                            },
                            {
                                "name": "FAILSAFE_TERRAIN",
                                "value": 23
                            },
                            {
                                "name": "EKF_PRIMARY",
                                "value": 24
                            },
                            {
                                "name": "THRUST_LOSS_CHECK",
                                "value": 25
                            },
                            {
                                "name": "FAILSAFE_SENSORS",
                                "value": 26
                            },
                            {
                                "name": "FAILSAFE_LEAK",
                                "value": 27
                            },
                            {
                                "name": "PILOT_INPUT",
                                "value": 28
                            },
                            {
                                "name": "FAILSAFE_VIBE",
                                "value": 29
                            },
                            {
                                "name": "INTERNAL_ERROR",
                                "value": 30
                            },
                            {
                                "name": "FAILSAFE_DEADRECKON",
                                "value": 31
                            }
                        ]
                    }
                },
                {
                    "name": "ECode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Subsystem-specific error code"
                }
            ]
        },
        {
            "name": "ESC",
            "description": "Feedback received from ESCs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "ESC instance number"
                },
                {
                    "name": "RPM",
                    "units": "rpm",
                    "type": "float",
                    "description": "reported motor rotation rate"
                },
                {
                    "name": "RawRPM",
                    "units": "rpm",
                    "type": "float",
                    "description": "reported motor rotation rate without slew adjustment"
                },
                {
                    "name": "Volt",
                    "units": "V",
                    "type": "float",
                    "description": "Perceived input voltage for the ESC"
                },
                {
                    "name": "Curr",
                    "units": "A",
                    "type": "float",
                    "description": "Perceived current through the ESC"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "int16_t * 100",
                    "description": "ESC temperature in centi-degrees C"
                },
                {
                    "name": "CTot",
                    "units": "mAh",
                    "type": "float",
                    "description": "current consumed total mAh"
                },
                {
                    "name": "MotTemp",
                    "units": "degC",
                    "type": "int16_t * 100",
                    "description": "measured motor temperature in centi-degrees C"
                },
                {
                    "name": "Err",
                    "units": "%",
                    "type": "float",
                    "description": "error rate"
                }
            ]
        },
        {
            "name": "ESCX",
            "description": "ESC extended telemetry data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "starts from 0"
                },
                {
                    "name": "inpct",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "input duty cycle in percent"
                },
                {
                    "name": "outpct",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "output duty cycle in percent"
                },
                {
                    "name": "flags",
                    "units": "",
                    "type": "uint32_t",
                    "description": "manufacturer-specific status flags"
                },
                {
                    "name": "Pwr",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Power percentage"
                }
            ]
        },
        {
            "name": "EV",
            "description": "Specifically coded event messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Event identifier",
                    "enum": {
                        "name": "LogEvent",
                        "entries": [
                            {
                                "name": "ARMED",
                                "value": 10
                            },
                            {
                                "name": "DISARMED",
                                "value": 11
                            },
                            {
                                "name": "AUTO_ARMED",
                                "value": 15
                            },
                            {
                                "name": "LAND_COMPLETE_MAYBE",
                                "value": 17
                            },
                            {
                                "name": "LAND_COMPLETE",
                                "value": 18
                            },
                            {
                                "name": "LOST_GPS",
                                "value": 19
                            },
                            {
                                "name": "FLIP_START",
                                "value": 21
                            },
                            {
                                "name": "FLIP_END",
                                "value": 22
                            },
                            {
                                "name": "SET_HOME",
                                "value": 25
                            },
                            {
                                "name": "SET_SIMPLE_ON",
                                "value": 26
                            },
                            {
                                "name": "SET_SIMPLE_OFF",
                                "value": 27
                            },
                            {
                                "name": "NOT_LANDED",
                                "value": 28
                            },
                            {
                                "name": "SET_SUPERSIMPLE_ON",
                                "value": 29
                            },
                            {
                                "name": "AUTOTUNE_INITIALISED",
                                "value": 30
                            },
                            {
                                "name": "AUTOTUNE_OFF",
                                "value": 31
                            },
                            {
                                "name": "AUTOTUNE_RESTART",
                                "value": 32
                            },
                            {
                                "name": "AUTOTUNE_SUCCESS",
                                "value": 33
                            },
                            {
                                "name": "AUTOTUNE_FAILED",
                                "value": 34
                            },
                            {
                                "name": "AUTOTUNE_REACHED_LIMIT",
                                "value": 35
                            },
                            {
                                "name": "AUTOTUNE_PILOT_TESTING",
                                "value": 36
                            },
                            {
                                "name": "AUTOTUNE_SAVEDGAINS",
                                "value": 37
                            },
                            {
                                "name": "SAVE_TRIM",
                                "value": 38
                            },
                            {
                                "name": "SAVEWP_ADD_WP",
                                "value": 39
                            },
                            {
                                "name": "FENCE_ENABLE",
                                "value": 41
                            },
                            {
                                "name": "FENCE_DISABLE",
                                "value": 42
                            },
                            {
                                "name": "ACRO_TRAINER_OFF",
                                "value": 43
                            },
                            {
                                "name": "ACRO_TRAINER_LEVELING",
                                "value": 44
                            },
                            {
                                "name": "ACRO_TRAINER_LIMITED",
                                "value": 45
                            },
                            {
                                "name": "GRIPPER_GRAB",
                                "value": 46
                            },
                            {
                                "name": "GRIPPER_RELEASE",
                                "value": 47
                            },
                            {
                                "name": "PARACHUTE_DISABLED",
                                "value": 49
                            },
                            {
                                "name": "PARACHUTE_ENABLED",
                                "value": 50
                            },
                            {
                                "name": "PARACHUTE_RELEASED",
                                "value": 51
                            },
                            {
                                "name": "LANDING_GEAR_DEPLOYED",
                                "value": 52
                            },
                            {
                                "name": "LANDING_GEAR_RETRACTED",
                                "value": 53
                            },
                            {
                                "name": "MOTORS_EMERGENCY_STOPPED",
                                "value": 54
                            },
                            {
                                "name": "MOTORS_EMERGENCY_STOP_CLEARED",
                                "value": 55
                            },
                            {
                                "name": "MOTORS_INTERLOCK_DISABLED",
                                "value": 56
                            },
                            {
                                "name": "MOTORS_INTERLOCK_ENABLED",
                                "value": 57
                            },
                            {
                                "name": "ROTOR_RUNUP_COMPLETE",
                                "value": 58,
                                "description": "Heli only"
                            },
                            {
                                "name": "ROTOR_SPEED_BELOW_CRITICAL",
                                "value": 59,
                                "description": "Heli only"
                            },
                            {
                                "name": "EKF_ALT_RESET",
                                "value": 60
                            },
                            {
                                "name": "LAND_CANCELLED_BY_PILOT",
                                "value": 61
                            },
                            {
                                "name": "EKF_YAW_RESET",
                                "value": 62
                            },
                            {
                                "name": "AVOIDANCE_ADSB_ENABLE",
                                "value": 63
                            },
                            {
                                "name": "AVOIDANCE_ADSB_DISABLE",
                                "value": 64
                            },
                            {
                                "name": "AVOIDANCE_PROXIMITY_ENABLE",
                                "value": 65
                            },
                            {
                                "name": "AVOIDANCE_PROXIMITY_DISABLE",
                                "value": 66
                            },
                            {
                                "name": "GPS_PRIMARY_CHANGED",
                                "value": 67
                            },
                            {
                                "name": "ZIGZAG_STORE_A",
                                "value": 71
                            },
                            {
                                "name": "ZIGZAG_STORE_B",
                                "value": 72
                            },
                            {
                                "name": "LAND_REPO_ACTIVE",
                                "value": 73
                            },
                            {
                                "name": "STANDBY_ENABLE",
                                "value": 74
                            },
                            {
                                "name": "STANDBY_DISABLE",
                                "value": 75
                            },
                            {
                                "name": "FENCE_ALT_MAX_ENABLE",
                                "value": 76
                            },
                            {
                                "name": "FENCE_ALT_MAX_DISABLE",
                                "value": 77
                            },
                            {
                                "name": "FENCE_CIRCLE_ENABLE",
                                "value": 78
                            },
                            {
                                "name": "FENCE_CIRCLE_DISABLE",
                                "value": 79
                            },
                            {
                                "name": "FENCE_ALT_MIN_ENABLE",
                                "value": 80
                            },
                            {
                                "name": "FENCE_ALT_MIN_DISABLE",
                                "value": 81
                            },
                            {
                                "name": "FENCE_POLYGON_ENABLE",
                                "value": 82
                            },
                            {
                                "name": "FENCE_POLYGON_DISABLE",
                                "value": 83
                            },
                            {
                                "name": "EK3_SOURCES_SET_TO_PRIMARY",
                                "value": 85
                            },
                            {
                                "name": "EK3_SOURCES_SET_TO_SECONDARY",
                                "value": 86
                            },
                            {
                                "name": "EK3_SOURCES_SET_TO_TERTIARY",
                                "value": 87
                            },
                            {
                                "name": "AIRSPEED_PRIMARY_CHANGED",
                                "value": 90
                            },
                            {
                                "name": "SURFACED",
                                "value": 163
                            },
                            {
                                "name": "NOT_SURFACED",
                                "value": 164
                            },
                            {
                                "name": "BOTTOMED",
                                "value": 165
                            },
                            {
                                "name": "NOT_BOTTOMED",
                                "value": 166
                            },
                            {
                                "name": "EKF_MAG_OFFSETS_SAVED",
                                "value": 167,
                                "description": "compass offsets learned by the EKF were saved on disarm"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "FCN",
            "description": "Filter Center Message - per motor",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "NF",
                    "units": "",
                    "type": "uint16_t",
                    "description": "total number of active harmonic notches"
                },
                {
                    "name": "CF1",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 1"
                },
                {
                    "name": "CF2",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 2"
                },
                {
                    "name": "CF3",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 3"
                },
                {
                    "name": "CF4",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 4"
                },
                {
                    "name": "CF5",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 5"
                },
                {
                    "name": "CF6",
                    "units": "Hz",
                    "type": "float",
                    "description": "First harmonic centre frequency for motor 6"
                },
                {
                    "name": "HF1",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 1"
                },
                {
                    "name": "HF2",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 2"
                },
                {
                    "name": "HF3",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 3"
                },
                {
                    "name": "HF4",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 4"
                },
                {
                    "name": "HF5",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 5"
                },
                {
                    "name": "HF6",
                    "units": "Hz",
                    "type": "float",
                    "description": "Second harmonic centre frequency for motor 6"
                }
            ]
        },
        {
            "name": "FCNS",
            "description": "Filter Center Message",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "CF",
                    "units": "Hz",
                    "type": "float",
                    "description": "notch centre frequency"
                },
                {
                    "name": "HF",
                    "units": "Hz",
                    "type": "float",
                    "description": "2nd harmonic frequency"
                }
            ]
        },
        {
            "name": "FENC",
            "description": "Fence status - development diagnostic message",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "EN",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask of enabled fences"
                },
                {
                    "name": "AE",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask of automatically enabled fences"
                },
                {
                    "name": "CF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask of configured-in-parameters fences"
                },
                {
                    "name": "EF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask of enabled fences"
                },
                {
                    "name": "DF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask of currently disabled fences"
                },
                {
                    "name": "Alt",
                    "units": "",
                    "type": "float",
                    "description": "current vehicle altitude"
                }
            ]
        },
        {
            "name": "FILE",
            "description": "File data",
            "fields": [
                {
                    "name": "FileName",
                    "units": "",
                    "type": "char[16]",
                    "description": "File name"
                },
                {
                    "name": "Offset",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Offset into the file of this block"
                },
                {
                    "name": "Length",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Length of this data block"
                },
                {
                    "name": "Data",
                    "units": "",
                    "type": "char[64]",
                    "description": "File data of this block"
                }
            ]
        },
        {
            "name": "FMT",
            "url": "https://ardupilot.org/dev/docs/code-overview-adding-a-new-log-message.html",
            "description": "Message defining the format of messages in this file",
            "fields": [
                {
                    "name": "Type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "unique-to-this-log identifier for message being defined"
                },
                {
                    "name": "Length",
                    "units": "B",
                    "type": "uint8_t",
                    "description": "the number of bytes taken up by this message (including all headers)"
                },
                {
                    "name": "Name",
                    "units": "",
                    "type": "char[4]",
                    "description": "name of the message being defined"
                },
                {
                    "name": "Format",
                    "units": "",
                    "type": "char[16]",
                    "description": "character string defining the C-storage-type of the fields in this message"
                },
                {
                    "name": "Columns",
                    "units": "",
                    "type": "char[64]",
                    "description": "the labels of the message being defined"
                }
            ]
        },
        {
            "name": "FMTU",
            "description": "Message defining units and multipliers used for fields of other messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "FmtType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "numeric reference to associated FMT message"
                },
                {
                    "name": "UnitIds",
                    "units": "",
                    "type": "char[16]",
                    "description": "each character refers to a UNIT message.  The unit at an offset corresponds to the field at the same offset in FMT.Format"
                },
                {
                    "name": "MultIds",
                    "units": "",
                    "type": "char[16]",
                    "description": "each character refers to a MULT message.  The multiplier at an offset corresponds to the field at the same offset in FMT.Format"
                }
            ]
        },
        {
            "name": "FNCE",
            "description": "currently loaded Geo Fence points",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tot",
                    "units": "",
                    "type": "uint8_t",
                    "description": "total number of stored items"
                },
                {
                    "name": "Seq",
                    "units": "",
                    "type": "uint8_t",
                    "description": "index in current sequence"
                },
                {
                    "name": "Type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "point type"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "point latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "point longitude"
                },
                {
                    "name": "Count",
                    "units": "",
                    "type": "uint8_t",
                    "description": "vertex cound in polygon if applicable"
                },
                {
                    "name": "Radius",
                    "units": "m",
                    "type": "float",
                    "description": "radius of circle if applicable"
                }
            ]
        },
        {
            "name": "FOLL",
            "description": "Follow library diagnostic data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup (microseconds)"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Target latitude (degrees * 1E7)"
                },
                {
                    "name": "Lon",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Target longitude (degrees * 1E7)"
                },
                {
                    "name": "Alt",
                    "units": "cm",
                    "type": "int32_t",
                    "description": "Target absolute altitude (centimeters)"
                },
                {
                    "name": "VelN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, North (m/s)"
                },
                {
                    "name": "VelE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, East (m/s)"
                },
                {
                    "name": "VelD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, Down (m/s)"
                },
                {
                    "name": "LatE",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Vehicle estimated latitude (degrees * 1E7)"
                },
                {
                    "name": "LonE",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Vehicle estimated longitude (degrees * 1E7)"
                },
                {
                    "name": "AltE",
                    "units": "cm",
                    "type": "int32_t",
                    "description": "Vehicle estimated altitude (centimeters)"
                },
                {
                    "name": "FrmE",
                    "units": "",
                    "type": "int8_t",
                    "description": "Vehicle estimated altitude Frame"
                }
            ]
        },
        {
            "name": "FTN",
            "description": "Filter Tuning Message - per motor",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "NDn",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of active harmonic notches"
                },
                {
                    "name": "NF1",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 1"
                },
                {
                    "name": "NF2",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 2"
                },
                {
                    "name": "NF3",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 3"
                },
                {
                    "name": "NF4",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 4"
                },
                {
                    "name": "NF5",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 5"
                },
                {
                    "name": "NF6",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 6"
                },
                {
                    "name": "NF7",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 7"
                },
                {
                    "name": "NF8",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 8"
                },
                {
                    "name": "NF9",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 9"
                },
                {
                    "name": "NF10",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 10"
                },
                {
                    "name": "NF11",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 11"
                },
                {
                    "name": "NF12",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency for motor 12"
                }
            ]
        },
        {
            "name": "FTN1",
            "description": "FFT Filter Tuning",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "PkAvg",
                    "units": "Hz",
                    "type": "float",
                    "description": "peak noise frequency as an energy-weighted average of roll and pitch peak frequencies"
                },
                {
                    "name": "BwAvg",
                    "units": "Hz",
                    "type": "float",
                    "description": "bandwidth of weighted peak frequency where edges are determined by FFT_ATT_REF"
                },
                {
                    "name": "SnX",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the roll axis"
                },
                {
                    "name": "SnY",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the pitch axis"
                },
                {
                    "name": "SnZ",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the yaw axis"
                },
                {
                    "name": "FtX",
                    "units": "%",
                    "type": "float",
                    "description": "harmonic fit on roll of the highest noise peak to the second highest noise peak"
                },
                {
                    "name": "FtY",
                    "units": "%",
                    "type": "float",
                    "description": "harmonic fit on pitch of the highest noise peak to the second highest noise peak"
                },
                {
                    "name": "FtZ",
                    "units": "%",
                    "type": "float",
                    "description": "harmonic fit on yaw of the highest noise peak to the second highest noise peak"
                },
                {
                    "name": "FHX",
                    "units": "",
                    "type": "uint8_t",
                    "description": "FFT health, X-axis"
                },
                {
                    "name": "FHY",
                    "units": "",
                    "type": "uint8_t",
                    "description": "FFT health, Y-axis"
                },
                {
                    "name": "FHZ",
                    "units": "",
                    "type": "uint8_t",
                    "description": "FFT health, Z-axis"
                },
                {
                    "name": "Tc",
                    "units": "μs",
                    "type": "uint32_t",
                    "description": "FFT cycle time"
                }
            ]
        },
        {
            "name": "FTN2",
            "description": "FFT Noise Frequency Peak",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "peak id where 0 is the centre peak, 1 is the lower shoulder and 2 is the upper shoulder"
                },
                {
                    "name": "PkX",
                    "units": "Hz",
                    "type": "float",
                    "description": "noise frequency of the peak on roll"
                },
                {
                    "name": "PkY",
                    "units": "Hz",
                    "type": "float",
                    "description": "noise frequency of the peak on pitch"
                },
                {
                    "name": "PkZ",
                    "units": "Hz",
                    "type": "float",
                    "description": "noise frequency of the peak on yaw"
                },
                {
                    "name": "BwX",
                    "units": "Hz",
                    "type": "float",
                    "description": "bandwidth of the peak frequency on roll where edges are determined by FFT_ATT_REF"
                },
                {
                    "name": "BwY",
                    "units": "Hz",
                    "type": "float",
                    "description": "bandwidth of the peak frequency on pitch where edges are determined by FFT_ATT_REF"
                },
                {
                    "name": "BwZ",
                    "units": "Hz",
                    "type": "float",
                    "description": "bandwidth of the peak frequency on yaw where edges are determined by FFT_ATT_REF"
                },
                {
                    "name": "SnX",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the roll axis"
                },
                {
                    "name": "SnY",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the pitch axis"
                },
                {
                    "name": "SnZ",
                    "units": "",
                    "type": "float",
                    "description": "signal-to-noise ratio on the yaw axis"
                },
                {
                    "name": "EnX",
                    "units": "",
                    "type": "float",
                    "description": "power spectral density bin energy of the peak on roll"
                },
                {
                    "name": "EnY",
                    "units": "",
                    "type": "float",
                    "description": "power spectral density bin energy of the peak on roll"
                },
                {
                    "name": "EnZ",
                    "units": "",
                    "type": "float",
                    "description": "power spectral density bin energy of the peak on roll"
                }
            ]
        },
        {
            "name": "FTN3",
            "description": "Additional FFT Noise Frequency Peak",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "update axis"
                },
                {
                    "name": "Pk1",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 1 frequency"
                },
                {
                    "name": "Pk2",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 2 frequency"
                },
                {
                    "name": "Pk3",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 3 Frequency"
                },
                {
                    "name": "Bw1",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 1 noise bandwidth"
                },
                {
                    "name": "Bw2",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 2 noise bandwidth"
                },
                {
                    "name": "Bw3",
                    "units": "Hz",
                    "type": "float",
                    "description": "Peak 3 noise bandwidth"
                },
                {
                    "name": "En1",
                    "units": "",
                    "type": "float",
                    "description": "Peak 1 Maximum energy"
                },
                {
                    "name": "En2",
                    "units": "",
                    "type": "float",
                    "description": "Peak 2 Maximum energy"
                },
                {
                    "name": "En3",
                    "units": "",
                    "type": "float",
                    "description": "Peak 3 Maximum energy"
                }
            ]
        },
        {
            "name": "FTNS",
            "description": "Filter Tuning Message",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "microseconds since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "NF",
                    "units": "Hz",
                    "type": "float",
                    "description": "desired harmonic notch centre frequency"
                }
            ]
        },
        {
            "name": "GLT",
            "description": "Simulated Glider Angles and coefficients",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Alpha",
                    "units": "",
                    "type": "float",
                    "description": "alpha angle"
                },
                {
                    "name": "Beta",
                    "units": "",
                    "type": "float",
                    "description": "beta angle"
                },
                {
                    "name": "Cl",
                    "units": "",
                    "type": "float",
                    "description": "lift coefficent"
                },
                {
                    "name": "Cm",
                    "units": "",
                    "type": "float",
                    "description": "roll coffecient"
                },
                {
                    "name": "Cn",
                    "units": "",
                    "type": "float",
                    "description": "yaw coefficient"
                }
            ]
        },
        {
            "name": "GPA",
            "description": "GPS accuracy information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS instance number"
                },
                {
                    "name": "VDop",
                    "units": "",
                    "type": "uint16_t * 100",
                    "description": "vertical dilution of precision"
                },
                {
                    "name": "HAcc",
                    "units": "m",
                    "type": "uint16_t * 100",
                    "description": "horizontal position accuracy"
                },
                {
                    "name": "VAcc",
                    "units": "m",
                    "type": "uint16_t * 100",
                    "description": "vertical position accuracy"
                },
                {
                    "name": "SAcc",
                    "units": "m/s",
                    "type": "uint16_t * 100",
                    "description": "speed accuracy"
                },
                {
                    "name": "YAcc",
                    "units": "deg",
                    "type": "float",
                    "description": "yaw accuracy"
                },
                {
                    "name": "VV",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if vertical velocity is available"
                },
                {
                    "name": "SMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "time since system startup this sample was taken"
                },
                {
                    "name": "Delta",
                    "units": "ms",
                    "type": "uint16_t",
                    "description": "system time delta between the last two reported positions"
                },
                {
                    "name": "AEl",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "altitude above WGS-84 ellipsoid; INT32_MIN (-2147483648) if unknown"
                },
                {
                    "name": "RTCMFU",
                    "units": "",
                    "type": "uint16_t",
                    "description": "RTCM fragments used"
                },
                {
                    "name": "RTCMFD",
                    "units": "",
                    "type": "uint16_t",
                    "description": "RTCM fragments discarded"
                }
            ]
        },
        {
            "name": "GPS",
            "description": "Information received from GNSS systems attached to the autopilot",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS instance number"
                },
                {
                    "name": "Status",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GPS Fix type; 2D fix, 3D fix etc.",
                    "enum": {
                        "name": "AP_GPS_FixType",
                        "entries": [
                            {
                                "name": "NO_GPS",
                                "value": 0,
                                "description": "No GPS connected/detected"
                            },
                            {
                                "name": "NONE",
                                "value": 1,
                                "description": "Receiving valid GPS messages but no lock"
                            },
                            {
                                "name": "FIX_2D",
                                "value": 2,
                                "description": "Receiving valid messages and 2D lock"
                            },
                            {
                                "name": "FIX_3D",
                                "value": 3,
                                "description": "Receiving valid messages and 3D lock"
                            },
                            {
                                "name": "DGPS",
                                "value": 4,
                                "description": "Receiving valid messages and 3D lock with differential improvements"
                            },
                            {
                                "name": "RTK_FLOAT",
                                "value": 5,
                                "description": "Receiving valid messages and 3D RTK Float"
                            },
                            {
                                "name": "RTK_FIXED",
                                "value": 6,
                                "description": "Receiving valid messages and 3D RTK Fixed"
                            },
                            {
                                "name": "STATIC",
                                "value": 7,
                                "description": "Receiving valid messages and static fixed, typically used for base stations"
                            },
                            {
                                "name": "PPP",
                                "value": 8,
                                "description": "Receiving valid messages and improved with PPP"
                            }
                        ]
                    }
                },
                {
                    "name": "GMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "milliseconds since start of GPS Week"
                },
                {
                    "name": "GWk",
                    "units": "",
                    "type": "uint16_t",
                    "description": "weeks since 5 Jan 1980"
                },
                {
                    "name": "NSats",
                    "units": "satellites",
                    "type": "uint8_t",
                    "description": "number of satellites visible"
                },
                {
                    "name": "HDop",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "horizontal dilution of precision"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "altitude"
                },
                {
                    "name": "Spd",
                    "units": "m/s",
                    "type": "float",
                    "description": "ground speed"
                },
                {
                    "name": "GCrs",
                    "units": "degheading",
                    "type": "float",
                    "description": "ground course"
                },
                {
                    "name": "VZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "vertical speed"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "vehicle yaw"
                },
                {
                    "name": "U",
                    "units": "",
                    "type": "uint8_t",
                    "description": "boolean value indicating whether this GPS is in use"
                }
            ]
        },
        {
            "name": "GPYW",
            "description": "GPS Yaw",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "RHD",
                    "units": "deg",
                    "type": "float",
                    "description": "reported heading,deg"
                },
                {
                    "name": "RDist",
                    "units": "m",
                    "type": "float",
                    "description": "antenna separation,m"
                },
                {
                    "name": "RDown",
                    "units": "m",
                    "type": "float",
                    "description": "vertical antenna separation,m"
                },
                {
                    "name": "MinCDown",
                    "units": "m",
                    "type": "float",
                    "description": "minimum tolerable vertical antenna separation,m"
                },
                {
                    "name": "MaxCDown",
                    "units": "m",
                    "type": "float",
                    "description": "maximum tolerable vertical antenna separation,m "
                },
                {
                    "name": "OK",
                    "units": "",
                    "type": "uint8_t",
                    "description": "1 if have yaw"
                }
            ]
        },
        {
            "name": "GRAW",
            "description": "Raw uBlox data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "WkMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "receiver TimeOfWeek measurement"
                },
                {
                    "name": "Week",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS week"
                },
                {
                    "name": "numSV",
                    "units": "satellites",
                    "type": "uint8_t",
                    "description": "number of space vehicles seen"
                },
                {
                    "name": "sv",
                    "units": "",
                    "type": "uint8_t",
                    "description": "space vehicle number of first vehicle"
                },
                {
                    "name": "cpMes",
                    "units": "",
                    "type": "double",
                    "description": "carrier phase measurement"
                },
                {
                    "name": "prMes",
                    "units": "",
                    "type": "double",
                    "description": "pseudorange measurement"
                },
                {
                    "name": "doMes",
                    "units": "",
                    "type": "float",
                    "description": "Doppler measurement"
                },
                {
                    "name": "mesQI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "measurement quality index"
                },
                {
                    "name": "cno",
                    "units": "",
                    "type": "int8_t",
                    "description": "carrier-to-noise density ratio"
                },
                {
                    "name": "lli",
                    "units": "",
                    "type": "uint8_t",
                    "description": "loss of lock indicator"
                }
            ]
        },
        {
            "name": "GRXH",
            "description": "Raw uBlox data - header",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rcvTime",
                    "units": "",
                    "type": "double",
                    "description": "receiver TimeOfWeek measurement"
                },
                {
                    "name": "week",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS week"
                },
                {
                    "name": "leapS",
                    "units": "",
                    "type": "int8_t",
                    "description": "GPS leap seconds"
                },
                {
                    "name": "numMeas",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of space-vehicle measurements to follow"
                },
                {
                    "name": "recStat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "receiver tracking status bitfield"
                }
            ]
        },
        {
            "name": "GRXS",
            "description": "Raw uBlox data - space-vehicle data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "prMes",
                    "units": "",
                    "type": "double",
                    "description": "Pseudorange measurement"
                },
                {
                    "name": "cpMes",
                    "units": "",
                    "type": "double",
                    "description": "Carrier phase measurement"
                },
                {
                    "name": "doMes",
                    "units": "",
                    "type": "float",
                    "description": "Doppler measurement"
                },
                {
                    "name": "gnss",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS identifier"
                },
                {
                    "name": "sv",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Satellite identifier"
                },
                {
                    "name": "freq",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GLONASS frequency slot"
                },
                {
                    "name": "lock",
                    "units": "",
                    "type": "uint16_t",
                    "description": "carrier phase locktime counter"
                },
                {
                    "name": "cno",
                    "units": "",
                    "type": "uint8_t",
                    "description": "carrier-to-noise density ratio"
                },
                {
                    "name": "prD",
                    "units": "",
                    "type": "uint8_t",
                    "description": "estimated pseudorange measurement standard deviation"
                },
                {
                    "name": "cpD",
                    "units": "",
                    "type": "uint8_t",
                    "description": "estimated carrier phase measurement standard deviation"
                },
                {
                    "name": "doD",
                    "units": "",
                    "type": "uint8_t",
                    "description": "estimated Doppler measurement standard deviation"
                },
                {
                    "name": "trk",
                    "units": "",
                    "type": "uint8_t",
                    "description": "tracking status bitfield"
                }
            ]
        },
        {
            "name": "GSLH",
            "description": "GSOF70 LLH with MSL Altitude",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup [µs]"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "double",
                    "description": "Latitude [deg]"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "double",
                    "description": "Longitude [deg]"
                },
                {
                    "name": "AltMSL",
                    "units": "m",
                    "type": "double",
                    "description": "Altitude above mean sea level [m]"
                },
                {
                    "name": "Model",
                    "units": "",
                    "type": "char[64]",
                    "description": "Geoid model used (null-terminated string)"
                }
            ]
        },
        {
            "name": "GSN1",
            "description": "GSOF49 Full INS Navigation Solution 1",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup [us]"
                },
                {
                    "name": "GpsWk",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS week number since Jan 1980"
                },
                {
                    "name": "GpsTs",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "GPS time of week [ms]"
                },
                {
                    "name": "ImuStat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "IMU alignment status (enum)"
                },
                {
                    "name": "GStat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS status (enum)"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "double",
                    "description": "Latitude [degrees]"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "double",
                    "description": "Longitude [degrees]"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "double",
                    "description": "Altitude in ITRF 2020 [meters]"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity North [m/s]"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity East [m/s]"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Down [m/s]"
                },
                {
                    "name": "Spd",
                    "units": "m/s",
                    "type": "float",
                    "description": "3D Speed [m/s]"
                }
            ]
        },
        {
            "name": "GSN2",
            "description": "GSOF49 Full INS Navigation Solution 2",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup [us]"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "double",
                    "description": "Roll [degrees]"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "double",
                    "description": "Pitch [degrees]"
                },
                {
                    "name": "Heading",
                    "units": "degheading",
                    "type": "double",
                    "description": "Heading [degrees]"
                },
                {
                    "name": "Track",
                    "units": "deg",
                    "type": "double",
                    "description": "Track angle [degrees]"
                },
                {
                    "name": "RateX",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Angular rate X [deg/s]"
                },
                {
                    "name": "RateY",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Angular rate Y [deg/s]"
                },
                {
                    "name": "RateZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Angular rate Z [m/s]"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration X [m/s^2]"
                },
                {
                    "name": "AccY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration Y [m/s^2]"
                },
                {
                    "name": "AccZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration Z [m/s^2]"
                }
            ]
        },
        {
            "name": "GSPT",
            "description": "GSOF1 GPS Position Time Metadata",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "GPS Time since system startup [us]"
                },
                {
                    "name": "TOWms",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "GPS Time of week [ms]"
                },
                {
                    "name": "Week",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS week number"
                },
                {
                    "name": "Sats",
                    "units": "satellites",
                    "type": "uint8_t",
                    "description": "Number of satellites"
                },
                {
                    "name": "Flags1",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Positioning flags byte 1"
                },
                {
                    "name": "Flags2",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Positioning flags byte 2"
                },
                {
                    "name": "InitNum",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Initialization count"
                }
            ]
        },
        {
            "name": "GSR1",
            "description": "GSOF50 INS Solution RMS Values 1",
            "fields": [
                {
                    "name": "TUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup [us]"
                },
                {
                    "name": "GpsTMs",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "GPS time of week [ms]"
                },
                {
                    "name": "PUN",
                    "units": "m",
                    "type": "float",
                    "description": "North Position uncertainty RMS [m]"
                },
                {
                    "name": "PUE",
                    "units": "m",
                    "type": "float",
                    "description": "East Position uncertainty RMS [m]"
                },
                {
                    "name": "PUD",
                    "units": "m",
                    "type": "float",
                    "description": "Down Position uncertainty RMS [m]"
                },
                {
                    "name": "VUN",
                    "units": "m/s",
                    "type": "float",
                    "description": "North Velocity uncertainty RMS [m/s]"
                },
                {
                    "name": "VUE",
                    "units": "m/s",
                    "type": "float",
                    "description": "East Velocity uncertainty RMS [m/s]"
                },
                {
                    "name": "VUD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Down Velocity uncertainty RMS [m/s]"
                },
                {
                    "name": "RollU",
                    "units": "deg",
                    "type": "float",
                    "description": "Roll RMS uncertainty [deg]"
                },
                {
                    "name": "PitchU",
                    "units": "deg",
                    "type": "float",
                    "description": "Pitch RMS uncertainty[deg]"
                },
                {
                    "name": "YawU",
                    "units": "deg",
                    "type": "float",
                    "description": "Yaw RMS uncertainty[deg]"
                }
            ]
        },
        {
            "name": "GUIP",
            "description": "Guided mode target information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Type of guided mode"
                },
                {
                    "name": "pX",
                    "units": "m",
                    "type": "float",
                    "description": "Target position, X-Axis"
                },
                {
                    "name": "pY",
                    "units": "m",
                    "type": "float",
                    "description": "Target position, Y-Axis"
                },
                {
                    "name": "pZ",
                    "units": "m",
                    "type": "float",
                    "description": "Target position, Z-Axis"
                },
                {
                    "name": "vX",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, X-Axis"
                },
                {
                    "name": "vY",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, Y-Axis"
                },
                {
                    "name": "vZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity, Z-Axis"
                }
            ]
        },
        {
            "name": "GYR",
            "description": "IMU gyroscope data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "gyroscope sensor instance number"
                },
                {
                    "name": "SampleUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "time since system startup this sample was taken"
                },
                {
                    "name": "GyrX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about X axis"
                },
                {
                    "name": "GyrY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Y axis"
                },
                {
                    "name": "GyrZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Z axis"
                }
            ]
        },
        {
            "name": "HEAT",
            "description": "IMU Heater data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Temp",
                    "units": "",
                    "type": "float",
                    "description": "Current IMU temperature"
                },
                {
                    "name": "Targ",
                    "units": "",
                    "type": "int8_t",
                    "description": "Target IMU temperature"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "Proportional portion of response"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "Integral portion of response"
                },
                {
                    "name": "Out",
                    "units": "",
                    "type": "float",
                    "description": "Controller output to heating element"
                }
            ]
        },
        {
            "name": "HRSC",
            "description": "Helicopter related messages ",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance, 0=Main, 1=Tail"
                },
                {
                    "name": "DRRPM",
                    "units": "",
                    "type": "float",
                    "description": "Desired rotor speed"
                },
                {
                    "name": "ERRPM",
                    "units": "",
                    "type": "float",
                    "description": "Estimated rotor speed"
                },
                {
                    "name": "Gov",
                    "units": "",
                    "type": "float",
                    "description": "Governor Output"
                },
                {
                    "name": "Throt",
                    "units": "",
                    "type": "float",
                    "description": "Throttle output"
                },
                {
                    "name": "Ramp",
                    "units": "",
                    "type": "float",
                    "description": "throttle ramp up"
                }
            ]
        },
        {
            "name": "HYGR",
            "description": "Hygrometer data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "sensor ID"
                },
                {
                    "name": "Humidity",
                    "units": "%",
                    "type": "float",
                    "description": "percentage humidity"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "temperature in degrees C"
                }
            ]
        },
        {
            "name": "ICMB",
            "description": "ICM20789 diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Traw",
                    "units": "",
                    "type": "uint32_t",
                    "description": "raw temperature from sensor"
                },
                {
                    "name": "Praw",
                    "units": "",
                    "type": "uint32_t",
                    "description": "raw pressure from sensor"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "pressure"
                },
                {
                    "name": "T",
                    "units": "",
                    "type": "float",
                    "description": "temperature"
                }
            ]
        },
        {
            "name": "IE24",
            "url": "https://ardupilot.org/copter/docs/common-ie24-fuelcell.html",
            "description": "Intelligent Energy Fuel Cell generator (legacy protocol)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "FUEL",
                    "units": "1e2 %",
                    "type": "float",
                    "description": "Fuel remaining"
                },
                {
                    "name": "SPMPWR",
                    "units": "Watt",
                    "type": "int32_t",
                    "description": "stack power module power draw"
                },
                {
                    "name": "POUT",
                    "units": "Watt",
                    "type": "int32_t",
                    "description": "output power"
                },
                {
                    "name": "ERR",
                    "units": "",
                    "type": "int32_t",
                    "description": "error codes",
                    "enum": {
                        "name": "AP_Generator_IE_2400::ErrorCode",
                        "entries": [
                            {
                                "name": "MINOR_INTERNAL",
                                "value": 1,
                                "description": "Minor internal error is to be ignored"
                            },
                            {
                                "name": "REDUCED_POWER",
                                "value": 10
                            },
                            {
                                "name": "SPM_LOST",
                                "value": 11
                            },
                            {
                                "name": "PRESSURE_LOW",
                                "value": 20
                            },
                            {
                                "name": "BATTERY_LOW",
                                "value": 21
                            },
                            {
                                "name": "PRESSURE_ALERT",
                                "value": 30
                            },
                            {
                                "name": "START_DENIED",
                                "value": 31
                            },
                            {
                                "name": "SYSTEM_CRITICAL",
                                "value": 32
                            },
                            {
                                "name": "PRESSURE_CRITICAL",
                                "value": 33
                            },
                            {
                                "name": "BATTERY_CRITICAL",
                                "value": 40
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "IEFC",
            "url": "https://ardupilot.org/copter/docs/common-ie24-fuelcell.html",
            "description": "Intelligent Energy Fuel Cell generator",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tank",
                    "units": "%",
                    "type": "float",
                    "description": "Fuel remaining"
                },
                {
                    "name": "Inlet",
                    "units": "",
                    "type": "float",
                    "description": "Inlet pressure"
                },
                {
                    "name": "BattV",
                    "units": "V",
                    "type": "float",
                    "description": "battery voltage"
                },
                {
                    "name": "OutPwr",
                    "units": "Watt",
                    "type": "int16_t",
                    "description": "output power"
                },
                {
                    "name": "SPMPwr",
                    "units": "Watt",
                    "type": "uint16_t",
                    "description": "stack power module power draw"
                },
                {
                    "name": "FNo",
                    "units": "",
                    "type": "uint8_t",
                    "description": "fault number"
                },
                {
                    "name": "BPwr",
                    "units": "Watt",
                    "type": "int16_t",
                    "description": "battery power draw"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "uint8_t",
                    "description": "generator state",
                    "enum": {
                        "name": "AP_Generator_IE_2400::V2_State",
                        "entries": [
                            {
                                "name": "FCPM_Off",
                                "value": 0
                            },
                            {
                                "name": "Starting",
                                "value": 1
                            },
                            {
                                "name": "Running",
                                "value": 2
                            },
                            {
                                "name": "Stopping",
                                "value": 3
                            },
                            {
                                "name": "Go_to_Sleep",
                                "value": 4
                            }
                        ]
                    }
                },
                {
                    "name": "F1",
                    "units": "",
                    "type": "uint32_t",
                    "description": "error code",
                    "enum": {
                        "name": "AP_Generator_IE_2400::ErrorCode",
                        "entries": [
                            {
                                "name": "MINOR_INTERNAL",
                                "value": 1,
                                "description": "Minor internal error is to be ignored"
                            },
                            {
                                "name": "REDUCED_POWER",
                                "value": 10
                            },
                            {
                                "name": "SPM_LOST",
                                "value": 11
                            },
                            {
                                "name": "PRESSURE_LOW",
                                "value": 20
                            },
                            {
                                "name": "BATTERY_LOW",
                                "value": 21
                            },
                            {
                                "name": "PRESSURE_ALERT",
                                "value": 30
                            },
                            {
                                "name": "START_DENIED",
                                "value": 31
                            },
                            {
                                "name": "SYSTEM_CRITICAL",
                                "value": 32
                            },
                            {
                                "name": "PRESSURE_CRITICAL",
                                "value": 33
                            },
                            {
                                "name": "BATTERY_CRITICAL",
                                "value": 40
                            }
                        ]
                    }
                },
                {
                    "name": "F2",
                    "units": "",
                    "type": "uint32_t",
                    "description": "sub-error code"
                }
            ]
        },
        {
            "name": "ILB1",
            "description": "InertialLabs AHRS data1",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS INS time (round)"
                },
                {
                    "name": "GyrX",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro X"
                },
                {
                    "name": "GyrY",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro Y"
                },
                {
                    "name": "GyrZ",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Gyro z"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accelerometer X"
                },
                {
                    "name": "AccY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accelerometer Y"
                },
                {
                    "name": "AccZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Accelerometer Z"
                }
            ]
        },
        {
            "name": "ILB2",
            "description": "InertialLabs AHRS data2",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS INS time (round)"
                },
                {
                    "name": "MagX",
                    "units": "",
                    "type": "float",
                    "description": "Magnetometer X"
                },
                {
                    "name": "MagY",
                    "units": "",
                    "type": "float",
                    "description": "Magnetometer Y"
                },
                {
                    "name": "MagZ",
                    "units": "",
                    "type": "float",
                    "description": "Magnetometer Z"
                }
            ]
        },
        {
            "name": "ILB3",
            "description": "InertialLabs AHRS data3",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS INS time (round)"
                },
                {
                    "name": "Press",
                    "units": "Pa",
                    "type": "float",
                    "description": "Static pressure"
                },
                {
                    "name": "Diff",
                    "units": "Pa",
                    "type": "float",
                    "description": "Differential pressure"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "Temperature"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Baro altitude"
                },
                {
                    "name": "TAS",
                    "units": "m/s",
                    "type": "float",
                    "description": "true airspeed"
                },
                {
                    "name": "VWN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Wind velocity north"
                },
                {
                    "name": "VWE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Wind velocity east"
                },
                {
                    "name": "VWD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Wind velocity down"
                },
                {
                    "name": "ADU",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Air Data Unit status"
                }
            ]
        },
        {
            "name": "ILB4",
            "description": "InertialLabs AHRS data4",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GNSS Position timestamp"
                },
                {
                    "name": "GWk",
                    "units": "",
                    "type": "uint16_t",
                    "description": "GPS Week"
                },
                {
                    "name": "NSat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Number of satellites"
                },
                {
                    "name": "NewGPS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Indicator of new update of GPS data"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "float",
                    "description": "GNSS Latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "float",
                    "description": "GNSS Longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "GNSS Altitude"
                },
                {
                    "name": "GCrs",
                    "units": "degheading",
                    "type": "float",
                    "description": "GNSS Track over ground"
                },
                {
                    "name": "Spd",
                    "units": "m/s",
                    "type": "float",
                    "description": "GNSS Horizontal speed"
                },
                {
                    "name": "VZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "GNSS Vertical speed"
                }
            ]
        },
        {
            "name": "ILB5",
            "description": "InertialLabs AHRS data5",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GNSS Position timestamp"
                },
                {
                    "name": "FType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "fix type"
                },
                {
                    "name": "GSS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS spoofing status"
                },
                {
                    "name": "GJS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS jamming status"
                },
                {
                    "name": "GI1",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS Info1"
                },
                {
                    "name": "GI2",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS Info2"
                },
                {
                    "name": "GAPS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GNSS Angles position type"
                }
            ]
        },
        {
            "name": "ILB6",
            "description": "InertialLabs AHRS data6",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GNSS Position timestamp"
                },
                {
                    "name": "GpsHTS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GNSS Heading timestamp"
                },
                {
                    "name": "GpsYaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "GNSS Heading"
                },
                {
                    "name": "GpsPitch",
                    "units": "deg",
                    "type": "float",
                    "description": "GNSS Pitch"
                },
                {
                    "name": "GDOP",
                    "units": "",
                    "type": "float",
                    "description": "GNSS GDOP"
                },
                {
                    "name": "PDOP",
                    "units": "",
                    "type": "float",
                    "description": "GNSS PDOP"
                },
                {
                    "name": "HDOP",
                    "units": "",
                    "type": "float",
                    "description": "GNSS HDOP"
                },
                {
                    "name": "VDOP",
                    "units": "",
                    "type": "float",
                    "description": "GNSS VDOP"
                },
                {
                    "name": "TDOP",
                    "units": "",
                    "type": "float",
                    "description": "GNSS TDOP"
                }
            ]
        },
        {
            "name": "ILB7",
            "description": "InertialLabs AHRS data7",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS INS time (round)"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "euler roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "euler pitch"
                },
                {
                    "name": "Yaw",
                    "units": "deg",
                    "type": "float",
                    "description": "euler yaw"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity north"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity east"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity down"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "float",
                    "description": "latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "float",
                    "description": "longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "altitude MSL"
                },
                {
                    "name": "USW",
                    "units": "",
                    "type": "uint16_t",
                    "description": "USW1"
                },
                {
                    "name": "USW2",
                    "units": "",
                    "type": "uint16_t",
                    "description": "USW2"
                },
                {
                    "name": "Vdc",
                    "units": "V",
                    "type": "float",
                    "description": "Supply voltage"
                }
            ]
        },
        {
            "name": "ILB8",
            "description": "InertialLabs AHRS data8",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS INS time (round)"
                },
                {
                    "name": "PVN",
                    "units": "m",
                    "type": "float",
                    "description": "position variance north"
                },
                {
                    "name": "PVE",
                    "units": "m",
                    "type": "float",
                    "description": "position variance east"
                },
                {
                    "name": "PVD",
                    "units": "m",
                    "type": "float",
                    "description": "position variance down"
                },
                {
                    "name": "VVN",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity variance north"
                },
                {
                    "name": "VVE",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity variance east"
                },
                {
                    "name": "VVD",
                    "units": "m/s",
                    "type": "float",
                    "description": "velocity variance down"
                }
            ]
        },
        {
            "name": "IMU",
            "description": "Inertial Measurement Unit data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "IMU sensor instance number"
                },
                {
                    "name": "GyrX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about X axis"
                },
                {
                    "name": "GyrY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Y axis"
                },
                {
                    "name": "GyrZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Z axis"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along X axis"
                },
                {
                    "name": "AccY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Y axis"
                },
                {
                    "name": "AccZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Z axis"
                },
                {
                    "name": "EG",
                    "units": "",
                    "type": "uint32_t",
                    "description": "gyroscope error count"
                },
                {
                    "name": "EA",
                    "units": "",
                    "type": "uint32_t",
                    "description": "accelerometer error count"
                },
                {
                    "name": "T",
                    "units": "degC",
                    "type": "float",
                    "description": "IMU temperature"
                },
                {
                    "name": "GH",
                    "units": "",
                    "type": "uint8_t",
                    "description": "gyroscope health"
                },
                {
                    "name": "AH",
                    "units": "",
                    "type": "uint8_t",
                    "description": "accelerometer health"
                },
                {
                    "name": "GHz",
                    "units": "Hz",
                    "type": "uint16_t",
                    "description": "gyroscope measurement rate"
                },
                {
                    "name": "AHz",
                    "units": "Hz",
                    "type": "uint16_t",
                    "description": "accelerometer measurement rate"
                }
            ]
        },
        {
            "name": "IOMC",
            "description": "IOMCU diagnostic information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "RSErr",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Status Read error count (zeroed on successful read)"
                },
                {
                    "name": "Mem",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Free memory"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "IOMCU uptime"
                },
                {
                    "name": "NPkt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of packets received by IOMCU"
                },
                {
                    "name": "Nerr",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Protocol failures on MCU side"
                },
                {
                    "name": "Nerr2",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Reported number of failures on IOMCU side"
                },
                {
                    "name": "NDel",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of delayed packets received by MCU"
                }
            ]
        },
        {
            "name": "IREG",
            "description": "IMU Register unexpected value change",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DevID",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bus ID"
                },
                {
                    "name": "Bank",
                    "units": "",
                    "type": "uint8_t",
                    "description": "device register bank"
                },
                {
                    "name": "Reg",
                    "units": "",
                    "type": "uint8_t",
                    "description": "device register"
                },
                {
                    "name": "Val",
                    "units": "",
                    "type": "uint8_t",
                    "description": "unexpected value"
                }
            ]
        },
        {
            "name": "ISBD",
            "description": "InertialSensor Batch Logging Data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "N",
                    "units": "",
                    "type": "uint16_t",
                    "description": "batch sequence number"
                },
                {
                    "name": "seqno",
                    "units": "",
                    "type": "uint16_t",
                    "description": "sample sequence number"
                },
                {
                    "name": "x",
                    "units": "m/s/s",
                    "type": "int16_t[32]",
                    "description": "x-axis sample value"
                },
                {
                    "name": "y",
                    "units": "m/s/s",
                    "type": "int16_t[32]",
                    "description": "y-axis sample value"
                },
                {
                    "name": "z",
                    "units": "m/s/s",
                    "type": "int16_t[32]",
                    "description": "z-axis sample value"
                }
            ]
        },
        {
            "name": "ISBH",
            "description": "InertialSensor Batch Logging Header",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "N",
                    "units": "",
                    "type": "uint16_t",
                    "description": "batch sequence number"
                },
                {
                    "name": "type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "indicates if this is accel or gyro data"
                },
                {
                    "name": "instance",
                    "units": "",
                    "type": "uint8_t",
                    "description": "IMU sensor instance"
                },
                {
                    "name": "mul",
                    "units": "",
                    "type": "uint16_t",
                    "description": "multiplier to be applied to samples in this batch"
                },
                {
                    "name": "smp_cnt",
                    "units": "",
                    "type": "uint16_t",
                    "description": "samples in this batch"
                },
                {
                    "name": "SampleUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "timestamp of first sample"
                },
                {
                    "name": "smp_rate",
                    "units": "Hz",
                    "type": "float",
                    "description": "rate at which samples have been collected"
                }
            ]
        },
        {
            "name": "JSN1",
            "description": "Log data received from JSON simulator",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup (us)"
                },
                {
                    "name": "TStamp",
                    "units": "s",
                    "type": "float",
                    "description": "Simulation's timestamp (s)"
                },
                {
                    "name": "R",
                    "units": "rad",
                    "type": "float",
                    "description": "Simulation's roll (rad)"
                },
                {
                    "name": "P",
                    "units": "rad",
                    "type": "float",
                    "description": "Simulation's pitch (rad)"
                },
                {
                    "name": "Y",
                    "units": "rad",
                    "type": "float",
                    "description": "Simulation's yaw (rad)"
                },
                {
                    "name": "GX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Simulated gyroscope, X-axis (rad/sec)"
                },
                {
                    "name": "GY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Simulated gyroscope, Y-axis (rad/sec)"
                },
                {
                    "name": "GZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Simulated gyroscope, Z-axis (rad/sec)"
                }
            ]
        },
        {
            "name": "JSN2",
            "description": "Log data received from JSON simulator",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup (us)"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "simulation's velocity, North-axis (m/s)"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "simulation's velocity, East-axis (m/s)"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "simulation's velocity, Down-axis (m/s)"
                },
                {
                    "name": "AX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, X-axis (m/s^2)"
                },
                {
                    "name": "AY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, Y-axis (m/s^2)"
                },
                {
                    "name": "AZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, Z-axis (m/s^2)"
                },
                {
                    "name": "AN",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, North (m/s^2)"
                },
                {
                    "name": "AE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, East (m/s^2)"
                },
                {
                    "name": "AD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "simulation's acceleration, Down (m/s^2)"
                }
            ]
        },
        {
            "name": "LAND",
            "description": "Slope Landing data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "stage",
                    "units": "",
                    "type": "uint8_t",
                    "description": "progress through landing sequence"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Landing flags"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Slope-specific landing flags"
                },
                {
                    "name": "slope",
                    "units": "",
                    "type": "float",
                    "description": "Slope to landing point"
                },
                {
                    "name": "slopeInit",
                    "units": "",
                    "type": "float",
                    "description": "Initial slope to landing point"
                },
                {
                    "name": "altO",
                    "units": "",
                    "type": "float",
                    "description": "Rangefinder correction"
                },
                {
                    "name": "fh",
                    "units": "",
                    "type": "float",
                    "description": "Height for flare timing."
                }
            ]
        },
        {
            "name": "LGR",
            "description": "Landing gear information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "LandingGear",
                    "units": "",
                    "type": "int8_t",
                    "description": "Current landing gear state",
                    "enum": {
                        "name": "AP_LandingGear::LG_LandingGear_State",
                        "entries": [
                            {
                                "name": "LG_UNKNOWN",
                                "value": -1
                            },
                            {
                                "name": "LG_RETRACTED",
                                "value": 0
                            },
                            {
                                "name": "LG_DEPLOYED",
                                "value": 1
                            },
                            {
                                "name": "LG_RETRACTING",
                                "value": 2
                            },
                            {
                                "name": "LG_DEPLOYING",
                                "value": 3
                            }
                        ]
                    }
                },
                {
                    "name": "WeightOnWheels",
                    "units": "",
                    "type": "int8_t",
                    "description": "Weight on wheels state",
                    "enum": {
                        "name": "AP_LandingGear::LG_WOW_State",
                        "entries": [
                            {
                                "name": "LG_WOW_UNKNOWN",
                                "value": -1
                            },
                            {
                                "name": "LG_NO_WOW",
                                "value": 0
                            },
                            {
                                "name": "LG_WOW",
                                "value": 1
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "LOEC",
            "description": "Gathered Loweheiser EFI/Governor telemetry",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "SI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "target system ID"
                },
                {
                    "name": "CI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "target component ID"
                },
                {
                    "name": "C",
                    "units": "",
                    "type": "uint32_t",
                    "description": "command"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "efi index"
                },
                {
                    "name": "ES",
                    "units": "",
                    "type": "uint8_t",
                    "description": "desired engine state (0:EFI off 1:EFI on)"
                },
                {
                    "name": "GS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "desired governor state (0:Governor off 1:Governor on)"
                },
                {
                    "name": "Thr",
                    "units": "",
                    "type": "float",
                    "description": "manual throttle value"
                },
                {
                    "name": "Strtr",
                    "units": "",
                    "type": "uint8_t",
                    "description": "desired electric start"
                }
            ]
        },
        {
            "name": "LOEG",
            "description": "Gathered Loweheiser EFI/Governor telemetry",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EFI/Gov sensor instance number"
                },
                {
                    "name": "VB",
                    "units": "V",
                    "type": "float",
                    "description": "battery voltage"
                },
                {
                    "name": "CB",
                    "units": "A",
                    "type": "float",
                    "description": "battery current"
                },
                {
                    "name": "CG",
                    "units": "A",
                    "type": "float",
                    "description": "generator current"
                },
                {
                    "name": "Th",
                    "units": "%",
                    "type": "float",
                    "description": "throttle input"
                },
                {
                    "name": "EB",
                    "units": "V",
                    "type": "float",
                    "description": "EFI battery voltage"
                },
                {
                    "name": "RPM",
                    "units": "rpm",
                    "type": "float",
                    "description": "generator RPM"
                },
                {
                    "name": "PW",
                    "units": "μs",
                    "type": "float",
                    "description": "EFI pulse-width"
                },
                {
                    "name": "FF",
                    "units": "l/s",
                    "type": "float",
                    "description": "fuel flow"
                },
                {
                    "name": "FC",
                    "units": "l",
                    "type": "float",
                    "description": "fuel consumed"
                },
                {
                    "name": "EP",
                    "units": "Pa",
                    "type": "float",
                    "description": "EFI pressure"
                },
                {
                    "name": "EMT",
                    "units": "degC",
                    "type": "float",
                    "description": "EFI manifold air temperature"
                },
                {
                    "name": "CHT",
                    "units": "degC",
                    "type": "float",
                    "description": "cylinder head temperature"
                },
                {
                    "name": "TPS",
                    "units": "%",
                    "type": "float",
                    "description": "throttle position sensor"
                }
            ]
        },
        {
            "name": "MAG",
            "description": "Information received from compasses",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "magnetometer sensor instance number"
                },
                {
                    "name": "MagX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field strength in body frame"
                },
                {
                    "name": "MagY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field strength in body frame"
                },
                {
                    "name": "MagZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field strength in body frame"
                },
                {
                    "name": "OfsX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field offset in body frame"
                },
                {
                    "name": "OfsY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field offset in body frame"
                },
                {
                    "name": "OfsZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "magnetic field offset in body frame"
                },
                {
                    "name": "MOX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "motor interference magnetic field offset in body frame"
                },
                {
                    "name": "MOY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "motor interference magnetic field offset in body frame"
                },
                {
                    "name": "MOZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "motor interference magnetic field offset in body frame"
                },
                {
                    "name": "Health",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if the compass is considered healthy"
                },
                {
                    "name": "S",
                    "units": "μs",
                    "type": "uint32_t",
                    "description": "time measurement was taken"
                }
            ]
        },
        {
            "name": "MAGH",
            "description": "Magnetometer high resolution data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Node",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "CAN node"
                },
                {
                    "name": "Sensor",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sensor ID on node"
                },
                {
                    "name": "Bus",
                    "units": "",
                    "type": "uint8_t",
                    "description": "CAN bus"
                },
                {
                    "name": "Mx",
                    "units": "",
                    "type": "float",
                    "description": "X axis field"
                },
                {
                    "name": "My",
                    "units": "",
                    "type": "float",
                    "description": "y axis field"
                },
                {
                    "name": "Mz",
                    "units": "",
                    "type": "float",
                    "description": "z axis field"
                }
            ]
        },
        {
            "name": "MAV",
            "description": "GCS MAVLink link statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "chan",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "mavlink channel number"
                },
                {
                    "name": "txp",
                    "units": "",
                    "type": "uint16_t",
                    "description": "transmitted packet count"
                },
                {
                    "name": "rxp",
                    "units": "",
                    "type": "uint16_t",
                    "description": "received packet count"
                },
                {
                    "name": "rxdp",
                    "units": "",
                    "type": "uint16_t",
                    "description": "perceived number of packets we never received"
                },
                {
                    "name": "flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "compact representation of some state of the channel",
                    "bitmask": {
                        "name": "GCS_MAVLINK::Flags",
                        "entries": [
                            {
                                "name": "USING_SIGNING",
                                "value": 1
                            },
                            {
                                "name": "ACTIVE",
                                "value": 2
                            },
                            {
                                "name": "STREAMING",
                                "value": 4
                            },
                            {
                                "name": "PRIVATE",
                                "value": 8
                            },
                            {
                                "name": "LOCKED",
                                "value": 16
                            }
                        ]
                    }
                },
                {
                    "name": "ss",
                    "units": "ms",
                    "type": "uint16_t",
                    "description": "stream slowdown is the number of ms being added to each message to fit within bandwidth"
                },
                {
                    "name": "tf",
                    "units": "",
                    "type": "uint16_t",
                    "description": "times buffer was full when a message was going to be sent"
                },
                {
                    "name": "mgs",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "time MAV_GCS_SYSID heartbeat (or manual control) last seen"
                }
            ]
        },
        {
            "name": "MAVC",
            "description": "MAVLink command we have just executed",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "target system for command"
                },
                {
                    "name": "TC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "target component for command"
                },
                {
                    "name": "SS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "source system for command"
                },
                {
                    "name": "SC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "source component for command"
                },
                {
                    "name": "Fr",
                    "units": "",
                    "type": "uint8_t",
                    "description": "command frame"
                },
                {
                    "name": "Cmd",
                    "units": "",
                    "type": "uint16_t",
                    "description": "mavlink command enum value"
                },
                {
                    "name": "P1",
                    "units": "",
                    "type": "float",
                    "description": "first parameter from mavlink packet"
                },
                {
                    "name": "P2",
                    "units": "",
                    "type": "float",
                    "description": "second parameter from mavlink packet"
                },
                {
                    "name": "P3",
                    "units": "",
                    "type": "float",
                    "description": "third parameter from mavlink packet"
                },
                {
                    "name": "P4",
                    "units": "",
                    "type": "float",
                    "description": "fourth parameter from mavlink packet"
                },
                {
                    "name": "X",
                    "units": "",
                    "type": "int32_t",
                    "description": "X coordinate from mavlink packet"
                },
                {
                    "name": "Y",
                    "units": "",
                    "type": "int32_t",
                    "description": "Y coordinate from mavlink packet"
                },
                {
                    "name": "Z",
                    "units": "",
                    "type": "float",
                    "description": "Z coordinate from mavlink packet"
                },
                {
                    "name": "Res",
                    "units": "",
                    "type": "uint8_t",
                    "description": "command result being returned from autopilot"
                },
                {
                    "name": "WL",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if this command arrived via a COMMAND_LONG rather than COMMAND_INT"
                }
            ]
        },
        {
            "name": "MCU",
            "description": "MCU voltage and temprature monitering",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "MTemp",
                    "units": "degC",
                    "type": "float",
                    "description": "Temperature"
                },
                {
                    "name": "MVolt",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage"
                },
                {
                    "name": "MVmin",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage min"
                },
                {
                    "name": "MVmax",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage max"
                }
            ]
        },
        {
            "name": "MISE",
            "description": "Executed mission command information; emitted when we start to run an item",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "CTot",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Total number of mission commands"
                },
                {
                    "name": "CNum",
                    "units": "",
                    "type": "uint16_t",
                    "description": "This command's offset in mission"
                },
                {
                    "name": "CId",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Command type"
                },
                {
                    "name": "Prm1",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 1"
                },
                {
                    "name": "Prm2",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 2"
                },
                {
                    "name": "Prm3",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 3"
                },
                {
                    "name": "Prm4",
                    "units": "",
                    "type": "float",
                    "description": "Parameter 4"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Command latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Command longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Command altitude"
                },
                {
                    "name": "Frame",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Frame used for position"
                }
            ]
        },
        {
            "name": "MMO",
            "description": "MMC3416 compass data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Nx",
                    "units": "",
                    "type": "float",
                    "description": "new measurement X axis"
                },
                {
                    "name": "Ny",
                    "units": "",
                    "type": "float",
                    "description": "new measurement Y axis"
                },
                {
                    "name": "Nz",
                    "units": "",
                    "type": "float",
                    "description": "new measurement Z axis"
                },
                {
                    "name": "Ox",
                    "units": "",
                    "type": "float",
                    "description": "new offset X axis"
                },
                {
                    "name": "Oy",
                    "units": "",
                    "type": "float",
                    "description": "new offset Y axis"
                },
                {
                    "name": "Oz",
                    "units": "",
                    "type": "float",
                    "description": "new offset Z axis"
                }
            ]
        },
        {
            "name": "MNT",
            "description": "Mount's desired and actual roll, pitch and yaw angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance number"
                },
                {
                    "name": "Mode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Mount mode"
                },
                {
                    "name": "DRoll",
                    "units": "deg",
                    "type": "float",
                    "description": "Desired roll"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "Actual roll"
                },
                {
                    "name": "DPitch",
                    "units": "deg",
                    "type": "float",
                    "description": "Desired pitch"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "Actual pitch"
                },
                {
                    "name": "DYawB",
                    "units": "deg",
                    "type": "float",
                    "description": "Desired yaw in body frame"
                },
                {
                    "name": "YawB",
                    "units": "deg",
                    "type": "float",
                    "description": "Actual yaw in body frame"
                },
                {
                    "name": "DYawE",
                    "units": "deg",
                    "type": "float",
                    "description": "Desired yaw in earth frame"
                },
                {
                    "name": "YawE",
                    "units": "deg",
                    "type": "float",
                    "description": "Actual yaw in earth frame"
                },
                {
                    "name": "Dist",
                    "units": "m",
                    "type": "float",
                    "description": "Rangefinder distance"
                }
            ]
        },
        {
            "name": "MODE",
            "description": "vehicle control mode information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Mode",
                    "units": "",
                    "type": "uint8_t flight mode",
                    "description": "vehicle-specific mode number"
                },
                {
                    "name": "ModeNum",
                    "units": "",
                    "type": "uint8_t",
                    "description": "alias for Mode"
                },
                {
                    "name": "Rsn",
                    "units": "",
                    "type": "uint8_t",
                    "description": "reason for entering this mode; enumeration value",
                    "enum": {
                        "name": "ModeReason",
                        "entries": [
                            {
                                "name": "UNKNOWN",
                                "value": 0
                            },
                            {
                                "name": "RC_COMMAND",
                                "value": 1
                            },
                            {
                                "name": "GCS_COMMAND",
                                "value": 2
                            },
                            {
                                "name": "RADIO_FAILSAFE",
                                "value": 3
                            },
                            {
                                "name": "BATTERY_FAILSAFE",
                                "value": 4
                            },
                            {
                                "name": "GCS_FAILSAFE",
                                "value": 5
                            },
                            {
                                "name": "EKF_FAILSAFE",
                                "value": 6
                            },
                            {
                                "name": "GPS_GLITCH",
                                "value": 7
                            },
                            {
                                "name": "MISSION_END",
                                "value": 8
                            },
                            {
                                "name": "THROTTLE_LAND_ESCAPE",
                                "value": 9
                            },
                            {
                                "name": "FENCE_BREACHED",
                                "value": 10
                            },
                            {
                                "name": "TERRAIN_FAILSAFE",
                                "value": 11
                            },
                            {
                                "name": "BRAKE_TIMEOUT",
                                "value": 12
                            },
                            {
                                "name": "FLIP_COMPLETE",
                                "value": 13
                            },
                            {
                                "name": "AVOIDANCE",
                                "value": 14
                            },
                            {
                                "name": "AVOIDANCE_RECOVERY",
                                "value": 15
                            },
                            {
                                "name": "THROW_COMPLETE",
                                "value": 16
                            },
                            {
                                "name": "TERMINATE",
                                "value": 17
                            },
                            {
                                "name": "TOY_MODE",
                                "value": 18
                            },
                            {
                                "name": "CRASH_FAILSAFE",
                                "value": 19
                            },
                            {
                                "name": "SOARING_FBW_B_WITH_MOTOR_RUNNING",
                                "value": 20
                            },
                            {
                                "name": "SOARING_THERMAL_DETECTED",
                                "value": 21
                            },
                            {
                                "name": "SOARING_THERMAL_ESTIMATE_DETERIORATED",
                                "value": 22
                            },
                            {
                                "name": "VTOL_FAILED_TRANSITION",
                                "value": 23
                            },
                            {
                                "name": "VTOL_FAILED_TAKEOFF",
                                "value": 24
                            },
                            {
                                "name": "FAILSAFE",
                                "value": 25,
                                "description": "general failsafes, prefer specific failsafes over this as much as possible"
                            },
                            {
                                "name": "INITIALISED",
                                "value": 26
                            },
                            {
                                "name": "SURFACE_COMPLETE",
                                "value": 27
                            },
                            {
                                "name": "BAD_DEPTH",
                                "value": 28
                            },
                            {
                                "name": "LEAK_FAILSAFE",
                                "value": 29
                            },
                            {
                                "name": "SERVOTEST",
                                "value": 30
                            },
                            {
                                "name": "STARTUP",
                                "value": 31
                            },
                            {
                                "name": "SCRIPTING",
                                "value": 32
                            },
                            {
                                "name": "UNAVAILABLE",
                                "value": 33
                            },
                            {
                                "name": "AUTOROTATION_START",
                                "value": 34
                            },
                            {
                                "name": "AUTOROTATION_BAILOUT",
                                "value": 35
                            },
                            {
                                "name": "SOARING_ALT_TOO_HIGH",
                                "value": 36
                            },
                            {
                                "name": "SOARING_ALT_TOO_LOW",
                                "value": 37
                            },
                            {
                                "name": "SOARING_DRIFT_EXCEEDED",
                                "value": 38
                            },
                            {
                                "name": "RTL_COMPLETE_SWITCHING_TO_VTOL_LAND_RTL",
                                "value": 39
                            },
                            {
                                "name": "RTL_COMPLETE_SWITCHING_TO_FIXEDWING_AUTOLAND",
                                "value": 40
                            },
                            {
                                "name": "MISSION_CMD",
                                "value": 41
                            },
                            {
                                "name": "FRSKY_COMMAND",
                                "value": 42
                            },
                            {
                                "name": "FENCE_RETURN_PREVIOUS_MODE",
                                "value": 43
                            },
                            {
                                "name": "QRTL_INSTEAD_OF_RTL",
                                "value": 44
                            },
                            {
                                "name": "AUTO_RTL_EXIT",
                                "value": 45
                            },
                            {
                                "name": "LOITER_ALT_REACHED_QLAND",
                                "value": 46
                            },
                            {
                                "name": "LOITER_ALT_IN_VTOL",
                                "value": 47
                            },
                            {
                                "name": "RADIO_FAILSAFE_RECOVERY",
                                "value": 48
                            },
                            {
                                "name": "QLAND_INSTEAD_OF_RTL",
                                "value": 49
                            },
                            {
                                "name": "DEADRECKON_FAILSAFE",
                                "value": 50
                            },
                            {
                                "name": "MODE_TAKEOFF_FAILSAFE",
                                "value": 51
                            },
                            {
                                "name": "DDS_COMMAND",
                                "value": 52
                            },
                            {
                                "name": "AUX_FUNCTION",
                                "value": 53
                            },
                            {
                                "name": "FIXED_WING_AUTOLAND",
                                "value": 54
                            },
                            {
                                "name": "FENCE_REENABLE",
                                "value": 55
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "MON",
            "description": "Main loop performance monitoring message.",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Dly",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Loop delay so far"
                },
                {
                    "name": "Tsk",
                    "units": "",
                    "type": "int8_t",
                    "description": "Current task"
                },
                {
                    "name": "IErr",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Internal error mask"
                },
                {
                    "name": "IErrCnt",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Count of internal error occurances"
                },
                {
                    "name": "IErrLn",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Internal Error line"
                },
                {
                    "name": "MM",
                    "units": "",
                    "type": "uint16_t",
                    "description": "MAVLink message currently being processed"
                },
                {
                    "name": "MC",
                    "units": "",
                    "type": "uint16_t",
                    "description": "MAVLink command currently being processed"
                },
                {
                    "name": "SmLn",
                    "units": "",
                    "type": "uint16_t",
                    "description": "If semaphore taken, line of semaphore take call"
                },
                {
                    "name": "SPICnt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "count of SPI transactions"
                },
                {
                    "name": "I2CCnt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "count of i2c transactions"
                }
            ]
        },
        {
            "name": "MOTB",
            "description": "Motor mixer information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "LiftMax",
                    "units": "",
                    "type": "float",
                    "description": "Maximum motor compensation gain"
                },
                {
                    "name": "BatVolt",
                    "units": "",
                    "type": "float",
                    "description": "Ratio between detected battery voltage and maximum battery voltage"
                },
                {
                    "name": "ThLimit",
                    "units": "",
                    "type": "float",
                    "description": "Throttle limit set due to battery current limitations"
                },
                {
                    "name": "ThrAvMx",
                    "units": "",
                    "type": "float",
                    "description": "Maximum average throttle that can be used to maintain attitude control, derived from throttle mix params"
                },
                {
                    "name": "ThrOut",
                    "units": "",
                    "type": "float",
                    "description": "Throttle output"
                },
                {
                    "name": "FailFlags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bit 0 motor failed, bit 1 motors balanced, should be 2 in normal flight"
                }
            ]
        },
        {
            "name": "MSG",
            "description": "Textual messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ID",
                    "units": "",
                    "type": "uint8_t",
                    "description": "identifier for chunks making up a message"
                },
                {
                    "name": "Seq",
                    "units": "",
                    "type": "uint8_t",
                    "description": "chunk sequence number within message identified by ID"
                },
                {
                    "name": "Message",
                    "units": "",
                    "type": "char[64]",
                    "description": "message text"
                }
            ]
        },
        {
            "name": "MULT",
            "description": "Message mapping from single character to numeric multiplier",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "int8_t",
                    "description": "character referenced by FMTU"
                },
                {
                    "name": "Mult",
                    "units": "",
                    "type": "double",
                    "description": "numeric multiplier"
                }
            ]
        },
        {
            "name": "NKF0",
            "description": "EKF2 beacon sensor diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "ID",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Beacon sensor ID"
                },
                {
                    "name": "rng",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon range"
                },
                {
                    "name": "innov",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Beacon range innovation"
                },
                {
                    "name": "SIV",
                    "units": "",
                    "type": "uint16_t * 100",
                    "description": "sqrt of beacon range innovation variance"
                },
                {
                    "name": "TR",
                    "units": "",
                    "type": "uint16_t * 100",
                    "description": "Beacon range innovation consistency test ratio"
                },
                {
                    "name": "BPN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon north position"
                },
                {
                    "name": "BPE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon east position"
                },
                {
                    "name": "BPD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon down position"
                },
                {
                    "name": "OFH",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "High estimate of vertical position offset of beacons rel to EKF origin"
                },
                {
                    "name": "OFL",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Low estimate of vertical position offset of beacons rel to EKF origin"
                },
                {
                    "name": "OFN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "always zero"
                },
                {
                    "name": "OFE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "always zero"
                },
                {
                    "name": "OFD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "always zero"
                }
            ]
        },
        {
            "name": "NKF1",
            "description": "EKF2 estimator outputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated pitch"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "uint16_t * 100",
                    "description": "Estimated yaw"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (North component)"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (East component)"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (Down component)"
                },
                {
                    "name": "dPD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Filtered derivative of vertical position (down)"
                },
                {
                    "name": "PN",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (North component)"
                },
                {
                    "name": "PE",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (East component)"
                },
                {
                    "name": "PD",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (Down component)"
                },
                {
                    "name": "GX",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, X axis"
                },
                {
                    "name": "GY",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, Y axis"
                },
                {
                    "name": "GZ",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, Z axis"
                },
                {
                    "name": "OH",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "Height of origin above WGS-84"
                }
            ]
        },
        {
            "name": "NKF2",
            "description": "EKF2 estimator secondary outputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "AZbias",
                    "units": "",
                    "type": "int8_t",
                    "description": "Estimated accelerometer Z bias"
                },
                {
                    "name": "GSX",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Gyro Scale Factor (X-axis)"
                },
                {
                    "name": "GSY",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Gyro Scale Factor (Y-axis)"
                },
                {
                    "name": "GSZ",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Gyro Scale Factor (Z-axis)"
                },
                {
                    "name": "VWN",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Estimated wind velocity (moving-to-North component)"
                },
                {
                    "name": "VWE",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Estimated wind velocity (moving-to-East component)"
                },
                {
                    "name": "MN",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (North component)"
                },
                {
                    "name": "ME",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (East component)"
                },
                {
                    "name": "MD",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (Down component)"
                },
                {
                    "name": "MX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body X-axis)"
                },
                {
                    "name": "MY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body Y-axis)"
                },
                {
                    "name": "MZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body Z-axis)"
                },
                {
                    "name": "MI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Magnetometer used for data"
                }
            ]
        },
        {
            "name": "NKF3",
            "description": "EKF2 innovations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "IVN",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (North component)"
                },
                {
                    "name": "IVE",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (East component)"
                },
                {
                    "name": "IVD",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (Down component)"
                },
                {
                    "name": "IPN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (North component)"
                },
                {
                    "name": "IPE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (East component)"
                },
                {
                    "name": "IPD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (Down component)"
                },
                {
                    "name": "IMX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (X-axis component)"
                },
                {
                    "name": "IMY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (Y-axis component)"
                },
                {
                    "name": "IMZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (Z-axis component)"
                },
                {
                    "name": "IYAW",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Innovation in vehicle yaw"
                },
                {
                    "name": "IVT",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Innovation in true-airspeed"
                },
                {
                    "name": "RErr",
                    "units": "",
                    "type": "float",
                    "description": "Accumulated relative error of this core with respect to active primary core"
                },
                {
                    "name": "ErSc",
                    "units": "",
                    "type": "float",
                    "description": "A consolidated error score where higher numbers are less healthy"
                }
            ]
        },
        {
            "name": "NKF4",
            "description": "EKF2 variances  SV, SP, SH and SM are probably best described as 'Squared Innovation Test Ratios' where values <1 tells us the measurement was accepted and >1 tells us it was rejected. They represent the square of the (innovation / maximum allowed innovation) where the innovation is the difference between predicted and measured value and the maximum allowed innovation is determined from the uncertainty of the measurement, uncertainty of the prediction and scaled using the number of standard deviations set by the innovation gate parameter for that measurement, eg EK2_MAG_I_GATE, EK2_HGT_I_GATE, etc",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "SV",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the velocity variance"
                },
                {
                    "name": "SP",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the position variance"
                },
                {
                    "name": "SH",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the height variance"
                },
                {
                    "name": "SM",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Magnetic field variance"
                },
                {
                    "name": "SVT",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "tilt error convergence metric"
                },
                {
                    "name": "errRP",
                    "units": "",
                    "type": "float",
                    "description": "Filtered error in roll/pitch estimate"
                },
                {
                    "name": "OFN",
                    "units": "m",
                    "type": "float",
                    "description": "Most recent position reset (North component)"
                },
                {
                    "name": "OFE",
                    "units": "m",
                    "type": "float",
                    "description": "Most recent position reset (East component)"
                },
                {
                    "name": "FS",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Filter fault status",
                    "bitmask": {
                        "name": "NavFilterFaultBit",
                        "entries": [
                            {
                                "name": "BAD_QUATERNION",
                                "value": 1,
                                "description": "0 - quaternion attitude estimate is NaN"
                            },
                            {
                                "name": "BAD_VELOCITY",
                                "value": 2,
                                "description": "1 - velocity estimate is NaN"
                            },
                            {
                                "name": "BAD_XMAG",
                                "value": 4,
                                "description": "2 - X magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_YMAG",
                                "value": 8,
                                "description": "3 - Y magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_ZMAG",
                                "value": 16,
                                "description": "4 - Z magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_AIRSPEED",
                                "value": 32,
                                "description": "5 - airspeed measurement is bad"
                            },
                            {
                                "name": "BAD_SIDESLIP",
                                "value": 64,
                                "description": "6 - synthetic sideslip measurement is bad"
                            },
                            {
                                "name": "NOT_INITIALISED",
                                "value": 128,
                                "description": "7 - filter states have not been initialised"
                            }
                        ]
                    }
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Filter timeout status bitmask (0:position measurement, 1:velocity measurement, 2:height measurement, 3:magnetometer measurement, 4:airspeed measurement)"
                },
                {
                    "name": "SS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Filter solution status",
                    "bitmask": {
                        "name": "NavFilterStatusBit",
                        "entries": [
                            {
                                "name": "ATTITUDE_VALID",
                                "value": 1,
                                "description": "attitude estimate valid"
                            },
                            {
                                "name": "HORIZ_VEL",
                                "value": 2,
                                "description": "horizontal velocity estimate valid"
                            },
                            {
                                "name": "VERT_VEL",
                                "value": 4,
                                "description": "vertical velocity estimate valid"
                            },
                            {
                                "name": "HORIZ_POS_REL",
                                "value": 8,
                                "description": "relative horizontal position estimate valid"
                            },
                            {
                                "name": "HORIZ_POS_ABS",
                                "value": 16,
                                "description": "absolute horizontal position estimate valid"
                            },
                            {
                                "name": "VERT_POS",
                                "value": 32,
                                "description": "vertical position estimate valid"
                            },
                            {
                                "name": "TERRAIN_ALT",
                                "value": 64,
                                "description": "terrain height estimate valid"
                            },
                            {
                                "name": "CONST_POS_MODE",
                                "value": 128,
                                "description": "in constant position mode"
                            },
                            {
                                "name": "PRED_HORIZ_POS_REL",
                                "value": 256,
                                "description": "expected good relative horizontal position estimate - used before takeoff"
                            },
                            {
                                "name": "PRED_HORIZ_POS_ABS",
                                "value": 512,
                                "description": "expected good absolute horizontal position estimate - used before takeoff"
                            },
                            {
                                "name": "TAKEOFF_DETECTED",
                                "value": 1024,
                                "description": "optical flow takeoff has been detected"
                            },
                            {
                                "name": "TAKEOFF_EXPECTED",
                                "value": 2048,
                                "description": "compensating for baro errors during takeoff"
                            },
                            {
                                "name": "TOUCHDOWN_EXPECTED",
                                "value": 4096,
                                "description": "compensating for baro errors during touchdown"
                            },
                            {
                                "name": "USING_GPS",
                                "value": 8192,
                                "description": "using GPS position"
                            },
                            {
                                "name": "GPS_GLITCHING",
                                "value": 16384,
                                "description": "GPS glitching is affecting navigation accuracy"
                            },
                            {
                                "name": "GPS_QUALITY_GOOD",
                                "value": 32768,
                                "description": "can use GPS for navigation"
                            },
                            {
                                "name": "INITALIZED",
                                "value": 65536,
                                "description": "has ever been healthy"
                            },
                            {
                                "name": "REJECTING_AIRSPEED",
                                "value": 131072,
                                "description": "rejecting airspeed data"
                            },
                            {
                                "name": "DEAD_RECKONING",
                                "value": 262144,
                                "description": "dead reckoning (e.g. no position or velocity source)"
                            }
                        ]
                    }
                },
                {
                    "name": "GPS",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Filter GPS status"
                },
                {
                    "name": "PI",
                    "units": "",
                    "type": "int8_t",
                    "description": "Primary core index"
                }
            ]
        },
        {
            "name": "NKF5",
            "description": "EKF2 Sensor innovations (primary core) and general dumping ground",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "NI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Normalised flow variance"
                },
                {
                    "name": "FIX",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate vector innovations from the main nav filter (X-axis)"
                },
                {
                    "name": "FIY",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate vector innovations from the main nav filter (Y-axis)"
                },
                {
                    "name": "AFI",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate innovation from terrain offset estimator"
                },
                {
                    "name": "HAGL",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Height above ground level"
                },
                {
                    "name": "offset",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Estimated vertical position of the terrain relative to the nav filter zero datum"
                },
                {
                    "name": "RI",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Range finder innovations"
                },
                {
                    "name": "rng",
                    "units": "UNKNOWN",
                    "type": "uint16_t * 100",
                    "description": "Measured range"
                },
                {
                    "name": "Herr",
                    "units": "m",
                    "type": "uint16_t * 100",
                    "description": "Filter ground offset state error"
                },
                {
                    "name": "eAng",
                    "units": "rad",
                    "type": "float",
                    "description": "Magnitude of angular error"
                },
                {
                    "name": "eVel",
                    "units": "m/s",
                    "type": "float",
                    "description": "Magnitude of velocity error"
                },
                {
                    "name": "ePos",
                    "units": "m",
                    "type": "float",
                    "description": "Magnitude of position error"
                }
            ]
        },
        {
            "name": "NKQ",
            "description": "EKF2 quaternion defining the rotation from NED to XYZ (autopilot) axes",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF2 core this data is for"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "Quaternion a term"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "Quaternion b term"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "Quaternion c term"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "Quaternion d term"
                }
            ]
        },
        {
            "name": "NKT",
            "description": "EKF2 timing information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this message instance applies to"
                },
                {
                    "name": "Cnt",
                    "units": "s",
                    "type": "uint32_t",
                    "description": "count of samples used to create this message"
                },
                {
                    "name": "IMUMin",
                    "units": "s",
                    "type": "float",
                    "description": "smallest IMU sample interval"
                },
                {
                    "name": "IMUMax",
                    "units": "s",
                    "type": "float",
                    "description": "largest IMU sample interval"
                },
                {
                    "name": "EKFMin",
                    "units": "s",
                    "type": "float",
                    "description": "low-passed achieved average time step rate for the EKF (minimum)"
                },
                {
                    "name": "EKFMax",
                    "units": "s",
                    "type": "float",
                    "description": "low-passed achieved average time step rate for the EKF (maximum)"
                },
                {
                    "name": "AngMin",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta angle (minimum)"
                },
                {
                    "name": "AngMax",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta angle (maximum)"
                },
                {
                    "name": "VMin",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta velocity (minimum)"
                },
                {
                    "name": "VMax",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta velocity (maximum)"
                }
            ]
        },
        {
            "name": "NKY0",
            "description": "EKF Yaw Estimator States",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this data is for"
                },
                {
                    "name": "YC",
                    "units": "degheading",
                    "type": "float",
                    "description": "GSF yaw estimate (deg)"
                },
                {
                    "name": "YCS",
                    "units": "deg",
                    "type": "float",
                    "description": "GSF yaw estimate 1-Sigma uncertainty (deg)"
                },
                {
                    "name": "Y0",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 0 (deg)"
                },
                {
                    "name": "Y1",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 1 (deg)"
                },
                {
                    "name": "Y2",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 2 (deg)"
                },
                {
                    "name": "Y3",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 3 (deg)"
                },
                {
                    "name": "Y4",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 4 (deg)"
                },
                {
                    "name": "W0",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 0"
                },
                {
                    "name": "W1",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 1"
                },
                {
                    "name": "W2",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 2"
                },
                {
                    "name": "W3",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 3"
                },
                {
                    "name": "W4",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 4"
                }
            ]
        },
        {
            "name": "NKY1",
            "description": "EKF Yaw Estimator Innovations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this data is for"
                },
                {
                    "name": "IVN0",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 0 (m/s)"
                },
                {
                    "name": "IVN1",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 1 (m/s)"
                },
                {
                    "name": "IVN2",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 2 (m/s)"
                },
                {
                    "name": "IVN3",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 3 (m/s)"
                },
                {
                    "name": "IVN4",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 4 (m/s)"
                },
                {
                    "name": "IVE0",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 0 (m/s)"
                },
                {
                    "name": "IVE1",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 1 (m/s)"
                },
                {
                    "name": "IVE2",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 2 (m/s)"
                },
                {
                    "name": "IVE3",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 3 (m/s)"
                },
                {
                    "name": "IVE4",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 4 (m/s)"
                }
            ]
        },
        {
            "name": "NTUN",
            "url": "http://ardupilot.org/rover/docs/navigation.html",
            "description": "Navigation Tuning information - e.g. vehicle destination",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "WpDist",
                    "units": "m",
                    "type": "float",
                    "description": "distance to the current navigation waypoint"
                },
                {
                    "name": "WpBrg",
                    "units": "degheading",
                    "type": "float",
                    "description": "bearing to the current navigation waypoint"
                },
                {
                    "name": "DesYaw",
                    "units": "degheading",
                    "type": "float",
                    "description": "the vehicle's desired heading"
                },
                {
                    "name": "Yaw",
                    "units": "cdegheading",
                    "type": "uint16_t",
                    "description": "the vehicle's current heading"
                },
                {
                    "name": "XTrack",
                    "units": "m",
                    "type": "float",
                    "description": "the vehicle's current distance from the current travel segment"
                }
            ]
        },
        {
            "name": "NVF",
            "description": "Named Value Float messages; messages sent to GCS via NAMED_VALUE_FLOAT",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Name",
                    "units": "instance",
                    "type": "char[16]",
                    "description": "Name of float"
                },
                {
                    "name": "Value",
                    "units": "",
                    "type": "float",
                    "description": "Value of float"
                }
            ]
        },
        {
            "name": "NVI",
            "description": "Named Value Int messages; messages sent to GCS via NAMED_VALUE_INT",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Name",
                    "units": "instance",
                    "type": "char[16]",
                    "description": "Name of int"
                },
                {
                    "name": "Value",
                    "units": "",
                    "type": "float",
                    "description": "Value of int"
                }
            ]
        },
        {
            "name": "NVS",
            "description": "Named Value String messages; messages sent to GCS via NAMED_VALUE_STRING",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Name",
                    "units": "instance",
                    "type": "char[16]",
                    "description": "Name of string"
                },
                {
                    "name": "Value",
                    "units": "",
                    "type": "char[64]",
                    "description": "Value of string"
                }
            ]
        },
        {
            "name": "OABR",
            "description": "Object avoidance (Bendy Ruler) diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Type of BendyRuler currently active"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if Bendy Ruler avoidance is being used"
                },
                {
                    "name": "DYaw",
                    "units": "deg",
                    "type": "uint16_t",
                    "description": "Best yaw chosen to avoid obstacle"
                },
                {
                    "name": "Yaw",
                    "units": "deg",
                    "type": "uint16_t",
                    "description": "Current vehicle yaw"
                },
                {
                    "name": "DP",
                    "units": "deg",
                    "type": "uint16_t",
                    "description": "Desired pitch chosen to avoid obstacle"
                },
                {
                    "name": "RChg",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if BendyRuler resisted changing bearing and continued in last calculated bearing"
                },
                {
                    "name": "Mar",
                    "units": "m",
                    "type": "float",
                    "description": "Margin from path to obstacle on best yaw chosen"
                },
                {
                    "name": "DLt",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Destination latitude"
                },
                {
                    "name": "DLg",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Destination longitude"
                },
                {
                    "name": "DAlt",
                    "units": "m",
                    "type": "float",
                    "description": "Desired alt above EKF Origin"
                },
                {
                    "name": "OLt",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Intermediate location chosen for avoidance"
                },
                {
                    "name": "OLg",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Intermediate location chosen for avoidance"
                },
                {
                    "name": "OAlt",
                    "units": "m",
                    "type": "float",
                    "description": "Intermediate alt chosen for avoidance above EKF origin"
                }
            ]
        },
        {
            "name": "OADJ",
            "description": "Object avoidance (Dijkstra) diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Dijkstra avoidance library state"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Dijkstra library error condition"
                },
                {
                    "name": "CurrPoint",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Destination point in calculated path to destination"
                },
                {
                    "name": "TotPoints",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Number of points in path to destination"
                },
                {
                    "name": "DLat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Destination latitude"
                },
                {
                    "name": "DLng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Destination longitude"
                },
                {
                    "name": "OALat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Object Avoidance chosen destination point latitude"
                },
                {
                    "name": "OALng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Object Avoidance chosen destination point longitude"
                }
            ]
        },
        {
            "name": "OAVG",
            "description": "Object avoidance path planning visgraph points",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "version",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Visgraph version, increments each time the visgraph is re-generated"
                },
                {
                    "name": "point_num",
                    "units": "",
                    "type": "uint8_t",
                    "description": "point number in visgraph"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Latitude"
                },
                {
                    "name": "Lon",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "longitude"
                }
            ]
        },
        {
            "name": "OF",
            "description": "Optical flow sensor data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Qual",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Estimated sensor data quality"
                },
                {
                    "name": "flowX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Sensor flow rate, X-axis"
                },
                {
                    "name": "flowY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Sensor flow rate,Y-axis"
                },
                {
                    "name": "bodyX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "derived rotational velocity, X-axis"
                },
                {
                    "name": "bodyY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "derived rotational velocity, Y-axis"
                }
            ]
        },
        {
            "name": "OFCA",
            "description": "Optical Flow Calibration sample",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Axis",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Axis (X=0 Y=1)"
                },
                {
                    "name": "Num",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Sample number"
                },
                {
                    "name": "FRate",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Flow rate"
                },
                {
                    "name": "BRate",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Body rate"
                },
                {
                    "name": "LPred",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Los pred"
                }
            ]
        },
        {
            "name": "ORGN",
            "description": "Vehicle navigation origin or other notable position",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Type",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Position type",
                    "enum": {
                        "name": "AP_AHRS::LogOriginType",
                        "entries": [
                            {
                                "name": "ekf_origin",
                                "value": 0
                            },
                            {
                                "name": "ahrs_home",
                                "value": 1
                            }
                        ]
                    }
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Position latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Position longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "Position altitude"
                }
            ]
        },
        {
            "name": "PARM",
            "description": "parameter value",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Name",
                    "units": "",
                    "type": "char[16]",
                    "description": "parameter name"
                },
                {
                    "name": "Value",
                    "units": "",
                    "type": "float",
                    "description": "parameter value"
                },
                {
                    "name": "Default",
                    "units": "",
                    "type": "float",
                    "description": "default parameter value for this board and config"
                }
            ]
        },
        {
            "name": "PIDA",
            "description": "Proportional/Integral/Derivative gain values for vertical acceleration",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDE",
            "description": "Proportional/Integral/Derivative gain values for East/West velocity",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDN",
            "description": "Proportional/Integral/Derivative gain values for North/South velocity",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDP",
            "description": "Proportional/Integral/Derivative gain values for Pitch rate",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDR",
            "description": "Proportional/Integral/Derivative gain values for Roll rate",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDS",
            "description": "Proportional/Integral/Derivative gain values for ground steering yaw rate",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDW",
            "description": "Proportional/Integral/Derivative gain values for wheel rate",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PIDY",
            "description": "Proportional/Integral/Derivative gain values for Yaw rate",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tar",
                    "units": "",
                    "type": "float",
                    "description": "desired value"
                },
                {
                    "name": "Act",
                    "units": "",
                    "type": "float",
                    "description": "achieved value"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "float",
                    "description": "error between target and achieved"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "proportional part of PID"
                },
                {
                    "name": "I",
                    "units": "",
                    "type": "float",
                    "description": "integral part of PID"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "float",
                    "description": "derivative part of PID"
                },
                {
                    "name": "FF",
                    "units": "",
                    "type": "float",
                    "description": "controller feed-forward portion of response"
                },
                {
                    "name": "DFF",
                    "units": "",
                    "type": "float",
                    "description": "controller derivative feed-forward portion of response"
                },
                {
                    "name": "Dmod",
                    "units": "",
                    "type": "float",
                    "description": "scaler applied to D gain to reduce limit cycling"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate used in slew limiter"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of PID state flags",
                    "bitmask": {
                        "name": "log_PID_Flags",
                        "entries": [
                            {
                                "name": "LIMIT",
                                "value": 1,
                                "description": "true if the output is saturated, I term anti windup is active"
                            },
                            {
                                "name": "PD_SUM_LIMIT",
                                "value": 2,
                                "description": "true if the PD sum limit is active"
                            },
                            {
                                "name": "RESET",
                                "value": 4,
                                "description": "true if the controller was reset"
                            },
                            {
                                "name": "I_TERM_SET",
                                "value": 8,
                                "description": "true if the I term has been set externally including reseting to 0"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "PL",
            "description": "Precision Landing messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Heal",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if Precision Landing is healthy"
                },
                {
                    "name": "TAcq",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if landing target is detected"
                },
                {
                    "name": "pX",
                    "units": "m",
                    "type": "float",
                    "description": "Target position relative to vehicle, X-Axis (0 if target not found)"
                },
                {
                    "name": "pY",
                    "units": "m",
                    "type": "float",
                    "description": "Target position relative to vehicle, Y-Axis (0 if target not found)"
                },
                {
                    "name": "vX",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity relative to vehicle, X-Axis (0 if target not found)"
                },
                {
                    "name": "vY",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity relative to vehicle, Y-Axis (0 if target not found)"
                },
                {
                    "name": "mX",
                    "units": "m",
                    "type": "float",
                    "description": "Target's relative to origin position as 3-D Vector, X-Axis"
                },
                {
                    "name": "mY",
                    "units": "m",
                    "type": "float",
                    "description": "Target's relative to origin position as 3-D Vector, Y-Axis"
                },
                {
                    "name": "mZ",
                    "units": "m",
                    "type": "float",
                    "description": "Target's relative to origin position as 3-D Vector, Z-Axis"
                },
                {
                    "name": "LastMeasMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "Time when target was last detected"
                },
                {
                    "name": "EKFOutl",
                    "units": "",
                    "type": "uint32_t",
                    "description": "EKF's outlier count"
                },
                {
                    "name": "Est",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Type of estimator used"
                }
            ]
        },
        {
            "name": "PM",
            "description": "autopilot system performance and general data dumping ground",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "LR",
                    "units": "Hz",
                    "type": "uint16_t",
                    "description": "Main loop rate"
                },
                {
                    "name": "NLon",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Number of long loops detected"
                },
                {
                    "name": "NL",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Number of measurement loops for this message"
                },
                {
                    "name": "MaxT",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Maximum loop time"
                },
                {
                    "name": "Mem",
                    "units": "B",
                    "type": "uint32_t",
                    "description": "Free memory available"
                },
                {
                    "name": "Load",
                    "units": "d%",
                    "type": "uint16_t",
                    "description": "System processor load"
                },
                {
                    "name": "ErrL",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Internal error line number; last line number on which a internal error was detected"
                },
                {
                    "name": "InE",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Internal error mask; which internal errors have been detected",
                    "bitmask": {
                        "name": "AP_InternalError::error_t",
                        "entries": [
                            {
                                "name": "logger_mapfailure",
                                "value": 1
                            },
                            {
                                "name": "logger_missing_logstructure",
                                "value": 2
                            },
                            {
                                "name": "logger_logwrite_missingfmt",
                                "value": 4
                            },
                            {
                                "name": "logger_too_many_deletions",
                                "value": 8
                            },
                            {
                                "name": "logger_bad_getfilename",
                                "value": 16
                            },
                            {
                                "name": "panic",
                                "value": 32
                            },
                            {
                                "name": "logger_flushing_without_sem",
                                "value": 64
                            },
                            {
                                "name": "logger_bad_current_block",
                                "value": 128
                            },
                            {
                                "name": "logger_blockcount_mismatch",
                                "value": 256
                            },
                            {
                                "name": "logger_dequeue_failure",
                                "value": 512
                            },
                            {
                                "name": "constraining_nan",
                                "value": 1024
                            },
                            {
                                "name": "watchdog_reset",
                                "value": 2048
                            },
                            {
                                "name": "iomcu_reset",
                                "value": 4096
                            },
                            {
                                "name": "iomcu_fail",
                                "value": 8192
                            },
                            {
                                "name": "spi_fail",
                                "value": 16384
                            },
                            {
                                "name": "main_loop_stuck",
                                "value": 32768
                            },
                            {
                                "name": "gcs_bad_missionprotocol_link",
                                "value": 65536
                            },
                            {
                                "name": "bitmask_range",
                                "value": 131072
                            },
                            {
                                "name": "gcs_offset",
                                "value": 262144
                            },
                            {
                                "name": "i2c_isr",
                                "value": 524288
                            },
                            {
                                "name": "flow_of_control",
                                "value": 1048576
                            },
                            {
                                "name": "switch_full_sector_recursion",
                                "value": 2097152
                            },
                            {
                                "name": "bad_rotation",
                                "value": 4194304
                            },
                            {
                                "name": "stack_overflow",
                                "value": 8388608
                            },
                            {
                                "name": "imu_reset",
                                "value": 16777216
                            },
                            {
                                "name": "gpio_isr",
                                "value": 33554432
                            },
                            {
                                "name": "mem_guard",
                                "value": 67108864
                            },
                            {
                                "name": "dma_fail",
                                "value": 134217728
                            },
                            {
                                "name": "params_restored",
                                "value": 268435456
                            },
                            {
                                "name": "invalid_arg_or_result",
                                "value": 536870912
                            },
                            {
                                "name": "__LAST__",
                                "value": 1073741824
                            }
                        ]
                    }
                },
                {
                    "name": "ErC",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Internal error count; how many internal errors have been detected"
                },
                {
                    "name": "SPIC",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of SPI transactions processed"
                },
                {
                    "name": "I2CC",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of i2c transactions processed"
                },
                {
                    "name": "I2CI",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of i2c interrupts serviced"
                },
                {
                    "name": "Ex",
                    "units": "μs",
                    "type": "uint32_t",
                    "description": "number of microseconds being added to each loop to address scheduler overruns"
                },
                {
                    "name": "R",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "RTC time, time since Unix epoch"
                }
            ]
        },
        {
            "name": "POS",
            "description": "Canonical vehicle position",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Canonical vehicle latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Canonical vehicle longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Canonical vehicle altitude"
                },
                {
                    "name": "RelHomeAlt",
                    "units": "m",
                    "type": "float",
                    "description": "Canonical vehicle altitude relative to home"
                },
                {
                    "name": "RelOriginAlt",
                    "units": "m",
                    "type": "float",
                    "description": "Canonical vehicle altitude relative to navigation origin"
                }
            ]
        },
        {
            "name": "POWR",
            "description": "System power information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Vcc",
                    "units": "V",
                    "type": "float",
                    "description": "Flight board voltage"
                },
                {
                    "name": "VServo",
                    "units": "V",
                    "type": "float",
                    "description": "Servo rail voltage"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint16_t",
                    "description": "System power flags",
                    "bitmask": {
                        "name": "AP_HAL::AnalogIn::PowerStatusFlag",
                        "entries": [
                            {
                                "name": "BRICK_VALID",
                                "value": 1,
                                "description": "main brick power supply valid"
                            },
                            {
                                "name": "SERVO_VALID",
                                "value": 2,
                                "description": "main servo power supply valid for FMU"
                            },
                            {
                                "name": "USB_CONNECTED",
                                "value": 4,
                                "description": "USB power is connected"
                            },
                            {
                                "name": "PERIPH_OVERCURRENT",
                                "value": 8,
                                "description": "peripheral supply is in over-current state"
                            },
                            {
                                "name": "PERIPH_HIPOWER_OVERCURRENT",
                                "value": 16,
                                "description": "hi-power peripheral supply is in over-current state"
                            },
                            {
                                "name": "CHANGED",
                                "value": 32,
                                "description": "Power status has changed since boot"
                            }
                        ]
                    }
                },
                {
                    "name": "AccFlags",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Accumulated System power flags; all flags which have ever been set",
                    "bitmask": {
                        "name": "AP_HAL::AnalogIn::PowerStatusFlag",
                        "entries": [
                            {
                                "name": "BRICK_VALID",
                                "value": 1,
                                "description": "main brick power supply valid"
                            },
                            {
                                "name": "SERVO_VALID",
                                "value": 2,
                                "description": "main servo power supply valid for FMU"
                            },
                            {
                                "name": "USB_CONNECTED",
                                "value": 4,
                                "description": "USB power is connected"
                            },
                            {
                                "name": "PERIPH_OVERCURRENT",
                                "value": 8,
                                "description": "peripheral supply is in over-current state"
                            },
                            {
                                "name": "PERIPH_HIPOWER_OVERCURRENT",
                                "value": 16,
                                "description": "hi-power peripheral supply is in over-current state"
                            },
                            {
                                "name": "CHANGED",
                                "value": 32,
                                "description": "Power status has changed since boot"
                            }
                        ]
                    }
                },
                {
                    "name": "Safety",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Hardware Safety Switch status"
                }
            ]
        },
        {
            "name": "PRTN",
            "description": "Plane Parameter Tuning data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Set",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Parameter set being tuned"
                },
                {
                    "name": "Parm",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Parameter being tuned"
                },
                {
                    "name": "Value",
                    "units": "",
                    "type": "float",
                    "description": "Current parameter value"
                },
                {
                    "name": "CenterValue",
                    "units": "",
                    "type": "float",
                    "description": "Center value (startpoint of current modifications) of parameter being tuned"
                }
            ]
        },
        {
            "name": "PRX",
            "description": "Proximity Filtered sensor data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Layer",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Pitch(instance) at which the obstacle is at. 0th layer {-75,-45} degrees. 1st layer {-45,-15} degrees. 2nd layer {-15, 15} degrees. 3rd layer {15, 45} degrees. 4th layer {45,75} degrees. Minimum distance in each layer will be logged."
                },
                {
                    "name": "He",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if proximity sensor is healthy"
                },
                {
                    "name": "D0",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 0-degrees"
                },
                {
                    "name": "D45",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 45-degrees"
                },
                {
                    "name": "D90",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 90-degrees"
                },
                {
                    "name": "D135",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 135-degrees"
                },
                {
                    "name": "D180",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 180-degrees"
                },
                {
                    "name": "D225",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 225-degrees"
                },
                {
                    "name": "D270",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 270-degrees"
                },
                {
                    "name": "D315",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 315-degrees"
                },
                {
                    "name": "DUp",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in upwards direction"
                },
                {
                    "name": "CAn",
                    "units": "degheading",
                    "type": "float",
                    "description": "Angle to closest object"
                },
                {
                    "name": "CDis",
                    "units": "m",
                    "type": "float",
                    "description": "Distance to closest object"
                }
            ]
        },
        {
            "name": "PRXR",
            "description": "Proximity Raw sensor data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Layer",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Pitch(instance) at which the obstacle is at. 0th layer {-75,-45} degrees. 1st layer {-45,-15} degrees. 2nd layer {-15, 15} degrees. 3rd layer {15, 45} degrees. 4th layer {45,75} degrees. Minimum distance in each layer will be logged."
                },
                {
                    "name": "D0",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 0-degrees"
                },
                {
                    "name": "D45",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 45-degrees"
                },
                {
                    "name": "D90",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 90-degrees"
                },
                {
                    "name": "D135",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 135-degrees"
                },
                {
                    "name": "D180",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 180-degrees"
                },
                {
                    "name": "D225",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 225-degrees"
                },
                {
                    "name": "D270",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 270-degrees"
                },
                {
                    "name": "D315",
                    "units": "m",
                    "type": "float",
                    "description": "Nearest object in sector surrounding 315-degrees"
                }
            ]
        },
        {
            "name": "PSCD",
            "description": "Position Control Down",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DPD",
                    "units": "m",
                    "type": "float",
                    "description": "Desired position relative to EKF origin + Offsets"
                },
                {
                    "name": "TPD",
                    "units": "m",
                    "type": "float",
                    "description": "Target position relative to EKF origin"
                },
                {
                    "name": "PD",
                    "units": "m",
                    "type": "float",
                    "description": "Position relative to EKF origin"
                },
                {
                    "name": "DVD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity Down"
                },
                {
                    "name": "TVD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity Down"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Down"
                },
                {
                    "name": "DAD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Desired acceleration Down"
                },
                {
                    "name": "TAD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration Down"
                },
                {
                    "name": "AD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration Down"
                }
            ]
        },
        {
            "name": "PSCE",
            "description": "Position Control East",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DPE",
                    "units": "m",
                    "type": "float",
                    "description": "Desired position relative to EKF origin + Offsets"
                },
                {
                    "name": "TPE",
                    "units": "m",
                    "type": "float",
                    "description": "Target position relative to EKF origin"
                },
                {
                    "name": "PE",
                    "units": "m",
                    "type": "float",
                    "description": "Position relative to EKF origin"
                },
                {
                    "name": "DVE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity East"
                },
                {
                    "name": "TVE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity East"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity East"
                },
                {
                    "name": "DAE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Desired acceleration East"
                },
                {
                    "name": "TAE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration East"
                },
                {
                    "name": "AE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration East"
                }
            ]
        },
        {
            "name": "PSCN",
            "description": "Position Control North",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DPN",
                    "units": "m",
                    "type": "float",
                    "description": "Desired position relative to EKF origin"
                },
                {
                    "name": "TPN",
                    "units": "m",
                    "type": "float",
                    "description": "Target position relative to EKF origin"
                },
                {
                    "name": "PN",
                    "units": "m",
                    "type": "float",
                    "description": "Position relative to EKF origin"
                },
                {
                    "name": "DVN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity North"
                },
                {
                    "name": "TVN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity North"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity North"
                },
                {
                    "name": "DAN",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Desired acceleration North"
                },
                {
                    "name": "TAN",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration North"
                },
                {
                    "name": "AN",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration North"
                }
            ]
        },
        {
            "name": "PSOD",
            "description": "Position Control Offsets Down",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TPOD",
                    "units": "m",
                    "type": "float",
                    "description": "Target position offset Down"
                },
                {
                    "name": "POD",
                    "units": "m",
                    "type": "float",
                    "description": "Position offset Down"
                },
                {
                    "name": "TVOD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity offset Down"
                },
                {
                    "name": "VOD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity offset Down"
                },
                {
                    "name": "TAOD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration offset Down"
                },
                {
                    "name": "AOD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration offset Down"
                }
            ]
        },
        {
            "name": "PSOE",
            "description": "Position Control Offsets East",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TPOE",
                    "units": "m",
                    "type": "float",
                    "description": "Target position offset East"
                },
                {
                    "name": "POE",
                    "units": "m",
                    "type": "float",
                    "description": "Position offset East"
                },
                {
                    "name": "TVOE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity offset East"
                },
                {
                    "name": "VOE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity offset East"
                },
                {
                    "name": "TAOE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration offset East"
                },
                {
                    "name": "AOE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration offset East"
                }
            ]
        },
        {
            "name": "PSON",
            "description": "Position Control Offsets North",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TPON",
                    "units": "m",
                    "type": "float",
                    "description": "Target position offset North"
                },
                {
                    "name": "PON",
                    "units": "m",
                    "type": "float",
                    "description": "Position offset North"
                },
                {
                    "name": "TVON",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity offset North"
                },
                {
                    "name": "VON",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity offset North"
                },
                {
                    "name": "TAON",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration offset North"
                },
                {
                    "name": "AON",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration offset North"
                }
            ]
        },
        {
            "name": "PSOT",
            "description": "Position Control Offsets Terrain (Down)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TPOT",
                    "units": "m",
                    "type": "float",
                    "description": "Target position offset Terrain"
                },
                {
                    "name": "POT",
                    "units": "m",
                    "type": "float",
                    "description": "Position offset Terrain"
                },
                {
                    "name": "TVOT",
                    "units": "m/s",
                    "type": "float",
                    "description": "Target velocity offset Terrain"
                },
                {
                    "name": "VOT",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity offset Terrain"
                },
                {
                    "name": "TAOT",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Target acceleration offset Terrain"
                },
                {
                    "name": "AOT",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration offset Terrain"
                }
            ]
        },
        {
            "name": "QWIK",
            "description": "Quicktune",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "s",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ParamNo",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "number of parameter being tuned"
                },
                {
                    "name": "SRate",
                    "units": "",
                    "type": "float",
                    "description": "slew rate"
                },
                {
                    "name": "Gain",
                    "units": "",
                    "type": "float",
                    "description": "test gain for current axis and PID element"
                },
                {
                    "name": "Param",
                    "units": "",
                    "type": "char[16]",
                    "description": "name of parameter being being tuned"
                }
            ]
        },
        {
            "name": "RAD",
            "description": "Telemetry radio statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "RSSI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "RSSI"
                },
                {
                    "name": "RemRSSI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "RSSI reported from remote radio"
                },
                {
                    "name": "TxBuf",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of bytes in radio ready to be sent"
                },
                {
                    "name": "Noise",
                    "units": "",
                    "type": "uint8_t",
                    "description": "local noise floor"
                },
                {
                    "name": "RemNoise",
                    "units": "",
                    "type": "uint8_t",
                    "description": "local noise floor reported from remote radio"
                },
                {
                    "name": "RxErrors",
                    "units": "",
                    "type": "uint16_t",
                    "description": "damaged packet count"
                },
                {
                    "name": "Fixed",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fixed damaged packet count"
                }
            ]
        },
        {
            "name": "RALY",
            "description": "Rally point information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tot",
                    "units": "",
                    "type": "uint8_t",
                    "description": "total number of rally points onboard"
                },
                {
                    "name": "Seq",
                    "units": "",
                    "type": "uint8_t",
                    "description": "this rally point's sequence number"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "latitude of rally point"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "longitude of rally point"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int16_t",
                    "description": "altitude of rally point"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "altitude frame flags"
                }
            ]
        },
        {
            "name": "RASH",
            "description": "Replay Airspeed Sensor Header",
            "fields": [
                {
                    "name": "Primary",
                    "units": "",
                    "type": "uint8_t",
                    "description": "airspeed instance number"
                },
                {
                    "name": "NumInst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of airspeed instances"
                }
            ]
        },
        {
            "name": "RASI",
            "description": "Replay Airspeed Sensor Instance data",
            "fields": [
                {
                    "name": "pd",
                    "units": "",
                    "type": "float",
                    "description": "measured airspeed"
                },
                {
                    "name": "UpdateMS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of measured airspeed"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "indicator of airspeed sensor health"
                },
                {
                    "name": "Use",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if airspeed is configured to be used"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "airspeed instance number"
                }
            ]
        },
        {
            "name": "RATE",
            "description": "Desired and achieved vehicle attitude rates. Not logged in Fixed Wing Plane modes.",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "RDes",
                    "units": "deg/s",
                    "type": "float",
                    "description": "vehicle desired roll rate"
                },
                {
                    "name": "R",
                    "units": "deg/s",
                    "type": "float",
                    "description": "achieved vehicle roll rate"
                },
                {
                    "name": "ROut",
                    "units": "",
                    "type": "float",
                    "description": "normalized output for Roll"
                },
                {
                    "name": "PDes",
                    "units": "deg/s",
                    "type": "float",
                    "description": "vehicle desired pitch rate"
                },
                {
                    "name": "P",
                    "units": "deg/s",
                    "type": "float",
                    "description": "vehicle pitch rate"
                },
                {
                    "name": "POut",
                    "units": "",
                    "type": "float",
                    "description": "normalized output for Pitch"
                },
                {
                    "name": "YDes",
                    "units": "deg/s",
                    "type": "float",
                    "description": "vehicle desired yaw rate"
                },
                {
                    "name": "Y",
                    "units": "deg/s",
                    "type": "float",
                    "description": "achieved vehicle yaw rate"
                },
                {
                    "name": "YOut",
                    "units": "",
                    "type": "float",
                    "description": "normalized output for Yaw"
                },
                {
                    "name": "ADes",
                    "units": "cm/s/s",
                    "type": "float",
                    "description": "desired vehicle vertical acceleration"
                },
                {
                    "name": "A",
                    "units": "cm/s/s",
                    "type": "float",
                    "description": "achieved vehicle vertical acceleration"
                },
                {
                    "name": "AOut",
                    "units": "",
                    "type": "float",
                    "description": "percentage of vertical thrust output current being used"
                },
                {
                    "name": "AOutSlew",
                    "units": "",
                    "type": "float",
                    "description": "vertical thrust output slew rate"
                }
            ]
        },
        {
            "name": "RBCH",
            "description": "Replay Data Beacon Header",
            "fields": [
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "beacon system estimated vehicle position, North"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "beacon system estimated vehicle position, East"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "beacon system estimated vehicle position, Down"
                },
                {
                    "name": "AE",
                    "units": "",
                    "type": "float",
                    "description": "beacon system estimated vehicle position accuracy"
                },
                {
                    "name": "OLat",
                    "units": "",
                    "type": "int32_t",
                    "description": "origin latitude"
                },
                {
                    "name": "OLng",
                    "units": "",
                    "type": "int32_t",
                    "description": "origin longitude"
                },
                {
                    "name": "OAlt",
                    "units": "",
                    "type": "int32_t",
                    "description": "origin altitude"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "vehicle_position_ned_returncode,get_origin_returncode,enabled"
                },
                {
                    "name": "NumInst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of beacons"
                }
            ]
        },
        {
            "name": "RBCI",
            "description": "Replay Data Beacon Instance",
            "fields": [
                {
                    "name": "LU",
                    "units": "s",
                    "type": "uint32_t",
                    "description": "last update from this beacon instance"
                },
                {
                    "name": "PX",
                    "units": "m",
                    "type": "float",
                    "description": "beacon distance from origin, X-axis"
                },
                {
                    "name": "PY",
                    "units": "m",
                    "type": "float",
                    "description": "beacon distance from origin, Y-axis"
                },
                {
                    "name": "PZ",
                    "units": "m",
                    "type": "float",
                    "description": "beacon distance from origin, Z-axis"
                },
                {
                    "name": "Dist",
                    "units": "m",
                    "type": "float",
                    "description": "distance to beacon"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "beacon data health"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "beacon instance number"
                }
            ]
        },
        {
            "name": "RBOH",
            "description": "Replay body odometry data",
            "fields": [
                {
                    "name": "Q",
                    "units": "",
                    "type": "float",
                    "description": "data quality measure"
                },
                {
                    "name": "DPX",
                    "units": "",
                    "type": "float",
                    "description": "delta-position-X"
                },
                {
                    "name": "DPY",
                    "units": "",
                    "type": "float",
                    "description": "delta-position-Y"
                },
                {
                    "name": "DPZ",
                    "units": "",
                    "type": "float",
                    "description": "delta-position-Z"
                },
                {
                    "name": "DAX",
                    "units": "",
                    "type": "float",
                    "description": "delta-angle-X"
                },
                {
                    "name": "DAY",
                    "units": "",
                    "type": "float",
                    "description": "delta-angle-Y"
                },
                {
                    "name": "DAZ",
                    "units": "",
                    "type": "float",
                    "description": "delta-angle-Z"
                },
                {
                    "name": "DT",
                    "units": "",
                    "type": "float",
                    "description": "delta-time"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "data timestamp"
                },
                {
                    "name": "OX",
                    "units": "",
                    "type": "float",
                    "description": "pos-offset-X"
                },
                {
                    "name": "OY",
                    "units": "",
                    "type": "float",
                    "description": "pos-offset-Y"
                },
                {
                    "name": "OZ",
                    "units": "",
                    "type": "float",
                    "description": "pos-offset-Z"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "uint16_t",
                    "description": "delay in body odometry data"
                }
            ]
        },
        {
            "name": "RBRH",
            "description": "Replay Data Barometer Header",
            "fields": [
                {
                    "name": "Primary",
                    "units": "",
                    "type": "uint8_t",
                    "description": "primary barometer instance number"
                },
                {
                    "name": "NumInst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of barometer sensors"
                }
            ]
        },
        {
            "name": "RBRI",
            "description": "Replay Data Barometer Instance",
            "fields": [
                {
                    "name": "LastUpdate",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of barometer data"
                },
                {
                    "name": "Alt",
                    "units": "",
                    "type": "float",
                    "description": "barometer altitude estimate"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "barometer sensor health indication"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "barometer instance number"
                }
            ]
        },
        {
            "name": "RCDA",
            "description": "Raw RC data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "data arrival timestamp"
                },
                {
                    "name": "Prot",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Protocol currently being decoded"
                },
                {
                    "name": "Len",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Number of valid bytes in message"
                },
                {
                    "name": "U0",
                    "units": "",
                    "type": "uint32_t",
                    "description": "first quartet of bytes"
                },
                {
                    "name": "U1",
                    "units": "",
                    "type": "uint32_t",
                    "description": "second quartet of bytes"
                },
                {
                    "name": "U2",
                    "units": "",
                    "type": "uint32_t",
                    "description": "third quartet of bytes"
                },
                {
                    "name": "U3",
                    "units": "",
                    "type": "uint32_t",
                    "description": "fourth quartet of bytes"
                },
                {
                    "name": "U4",
                    "units": "",
                    "type": "uint32_t",
                    "description": "fifth quartet of bytes"
                },
                {
                    "name": "U5",
                    "units": "",
                    "type": "uint32_t",
                    "description": "sixth quartet of bytes"
                },
                {
                    "name": "U6",
                    "units": "",
                    "type": "uint32_t",
                    "description": "seventh quartet of bytes"
                },
                {
                    "name": "U7",
                    "units": "",
                    "type": "uint32_t",
                    "description": "eight quartet of bytes"
                },
                {
                    "name": "U8",
                    "units": "",
                    "type": "uint32_t",
                    "description": "ninth quartet of bytes"
                },
                {
                    "name": "U9",
                    "units": "",
                    "type": "uint32_t",
                    "description": "tenth quartet of bytes"
                }
            ]
        },
        {
            "name": "RCI2",
            "description": "(More) RC input channels to vehicle",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C15",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 15 input"
                },
                {
                    "name": "C16",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 16 input"
                },
                {
                    "name": "OMask",
                    "units": "",
                    "type": "uint16_t",
                    "description": "bitmask of RC channels being overridden by mavlink input"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of RC state flags",
                    "bitmask": {
                        "name": "AP_Logger::RCLoggingFlags",
                        "entries": [
                            {
                                "name": "HAS_VALID_INPUT",
                                "value": 1,
                                "description": "true if the system is receiving good RC values"
                            },
                            {
                                "name": "IN_RC_FAILSAFE",
                                "value": 2,
                                "description": "true if the system is current in RC failsafe"
                            },
                            {
                                "name": "RC_PROTOCOL_FAILSAFE",
                                "value": 4,
                                "description": "true if the RC Protocol library is indicating the RC receiver is indicating failsafe via its protocol"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "RCIN",
            "description": "RC input channels to vehicle",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C1",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 1 input"
                },
                {
                    "name": "C2",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 2 input"
                },
                {
                    "name": "C3",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 3 input"
                },
                {
                    "name": "C4",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 4 input"
                },
                {
                    "name": "C5",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 5 input"
                },
                {
                    "name": "C6",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 6 input"
                },
                {
                    "name": "C7",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 7 input"
                },
                {
                    "name": "C8",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 8 input"
                },
                {
                    "name": "C9",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 9 input"
                },
                {
                    "name": "C10",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 10 input"
                },
                {
                    "name": "C11",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 11 input"
                },
                {
                    "name": "C12",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 12 input"
                },
                {
                    "name": "C13",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 13 input"
                },
                {
                    "name": "C14",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 14 input"
                }
            ]
        },
        {
            "name": "RCO2",
            "description": "Servo channel output values 15 to 18",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C15",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 15 output"
                },
                {
                    "name": "C16",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 16 output"
                },
                {
                    "name": "C17",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 17 output"
                },
                {
                    "name": "C18",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 18 output"
                }
            ]
        },
        {
            "name": "RCO3",
            "description": "Servo channel output values 19 to 32",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C19",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 19 output"
                },
                {
                    "name": "C20",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 20 output"
                },
                {
                    "name": "C21",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 21 output"
                },
                {
                    "name": "C22",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 22 output"
                },
                {
                    "name": "C23",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 23 output"
                },
                {
                    "name": "C24",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 24 output"
                },
                {
                    "name": "C25",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 25 output"
                },
                {
                    "name": "C26",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 26 output"
                },
                {
                    "name": "C27",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 27 output"
                },
                {
                    "name": "C28",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 28 output"
                },
                {
                    "name": "C29",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 29 output"
                },
                {
                    "name": "C30",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 30 output"
                },
                {
                    "name": "C31",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 31 output"
                },
                {
                    "name": "C32",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 32 output"
                }
            ]
        },
        {
            "name": "RCOU",
            "description": "Servo channel output values 1 to 14",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C1",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 1 output"
                },
                {
                    "name": "C2",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 2 output"
                },
                {
                    "name": "C3",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 3 output"
                },
                {
                    "name": "C4",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 4 output"
                },
                {
                    "name": "C5",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 5 output"
                },
                {
                    "name": "C6",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 6 output"
                },
                {
                    "name": "C7",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 7 output"
                },
                {
                    "name": "C8",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 8 output"
                },
                {
                    "name": "C9",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 9 output"
                },
                {
                    "name": "C10",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 10 output"
                },
                {
                    "name": "C11",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 11 output"
                },
                {
                    "name": "C12",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 12 output"
                },
                {
                    "name": "C13",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 13 output"
                },
                {
                    "name": "C14",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 14 output"
                }
            ]
        },
        {
            "name": "RELY",
            "description": "Relay state",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "relay instance number"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "uint8_t",
                    "description": "current state"
                }
            ]
        },
        {
            "name": "REPH",
            "description": "Replay external position data",
            "fields": [
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "external position estimate, X-axis"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "external position estimate, Y-axis"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "external position estimate, Z-axis"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "external attitude quaternion"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "external attitude quaternion"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "external attitude quaternion"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "external attitude quaternion"
                },
                {
                    "name": "PEr",
                    "units": "",
                    "type": "float",
                    "description": "external position error estimate"
                },
                {
                    "name": "AEr",
                    "units": "",
                    "type": "float",
                    "description": "external attitude error estimate"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp on external error estimate"
                },
                {
                    "name": "RT",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of last external reset"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "uint16_t",
                    "description": "delay on external data"
                }
            ]
        },
        {
            "name": "REV2",
            "description": "Replay Event (EKF2)",
            "fields": [
                {
                    "name": "Event",
                    "units": "",
                    "type": "uint8_t",
                    "description": "external event injected into EKF",
                    "enum": {
                        "name": "AP_DAL::Event",
                        "entries": [
                            {
                                "name": "resetGyroBias",
                                "value": 0
                            },
                            {
                                "name": "resetHeightDatum",
                                "value": 1
                            },
                            {
                                "name": "setTerrainHgtStable",
                                "value": 9
                            },
                            {
                                "name": "unsetTerrainHgtStable",
                                "value": 10
                            },
                            {
                                "name": "requestYawReset",
                                "value": 11
                            },
                            {
                                "name": "checkLaneSwitch",
                                "value": 12
                            },
                            {
                                "name": "setSourceSet0",
                                "value": 13
                            },
                            {
                                "name": "setSourceSet1",
                                "value": 14
                            },
                            {
                                "name": "setSourceSet2",
                                "value": 15
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "REV3",
            "description": "Replay Event (EKF3)",
            "fields": [
                {
                    "name": "Event",
                    "units": "",
                    "type": "uint8_t",
                    "description": "external event injected into EKF",
                    "enum": {
                        "name": "AP_DAL::Event",
                        "entries": [
                            {
                                "name": "resetGyroBias",
                                "value": 0
                            },
                            {
                                "name": "resetHeightDatum",
                                "value": 1
                            },
                            {
                                "name": "setTerrainHgtStable",
                                "value": 9
                            },
                            {
                                "name": "unsetTerrainHgtStable",
                                "value": 10
                            },
                            {
                                "name": "requestYawReset",
                                "value": 11
                            },
                            {
                                "name": "checkLaneSwitch",
                                "value": 12
                            },
                            {
                                "name": "setSourceSet0",
                                "value": 13
                            },
                            {
                                "name": "setSourceSet1",
                                "value": 14
                            },
                            {
                                "name": "setSourceSet2",
                                "value": 15
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "REVH",
            "description": "Replay external velocity data",
            "fields": [
                {
                    "name": "VX",
                    "units": "",
                    "type": "float",
                    "description": "external velocity estimate, X-axis"
                },
                {
                    "name": "VY",
                    "units": "",
                    "type": "float",
                    "description": "external velocity estimate, Y-axis"
                },
                {
                    "name": "VZ",
                    "units": "",
                    "type": "float",
                    "description": "external velocity estimate, Z-axis"
                },
                {
                    "name": "Er",
                    "units": "",
                    "type": "float",
                    "description": "error in velocity estimate"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of velocity estimate"
                },
                {
                    "name": "D",
                    "units": "",
                    "type": "uint16_t",
                    "description": "delay in external velocity data"
                }
            ]
        },
        {
            "name": "REY3",
            "description": "Replay Euler Yaw event",
            "fields": [
                {
                    "name": "yawangle",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "externally supplied yaw angle"
                },
                {
                    "name": "yawangleerr",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "error in externally supplied yaw angle"
                },
                {
                    "name": "timestamp_ms",
                    "units": "UNKNOWN",
                    "type": "uint32_t",
                    "description": "timestamp associated with yaw angle and yaw angle error"
                },
                {
                    "name": "type",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number that needs documenting"
                }
            ]
        },
        {
            "name": "RF",
            "description": "RealFlight mode messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Dt",
                    "units": "",
                    "type": "double",
                    "description": "delta time between this frame and the previous frame"
                },
                {
                    "name": "Fps",
                    "units": "",
                    "type": "uint32_t",
                    "description": "frames-per-second implied by the current delta time"
                }
            ]
        },
        {
            "name": "RFND",
            "description": "Rangefinder sensor information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "rangefinder instance number this data is from"
                },
                {
                    "name": "Dist",
                    "units": "m",
                    "type": "float",
                    "description": "Reported distance from sensor"
                },
                {
                    "name": "Stat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Sensor state",
                    "enum": {
                        "name": "RangeFinder::Status",
                        "entries": [
                            {
                                "name": "NotConnected",
                                "value": 0
                            },
                            {
                                "name": "NoData",
                                "value": 1
                            },
                            {
                                "name": "OutOfRangeLow",
                                "value": 2
                            },
                            {
                                "name": "OutOfRangeHigh",
                                "value": 3
                            },
                            {
                                "name": "Good",
                                "value": 4
                            },
                            {
                                "name": "PoweredDown",
                                "value": 5
                            }
                        ]
                    }
                },
                {
                    "name": "Orient",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Sensor orientation",
                    "enum": {
                        "name": "Rotation",
                        "entries": [
                            {
                                "name": "ROTATION_NONE",
                                "value": 0
                            },
                            {
                                "name": "ROTATION_YAW_45",
                                "value": 1
                            },
                            {
                                "name": "ROTATION_YAW_90",
                                "value": 2
                            },
                            {
                                "name": "ROTATION_YAW_135",
                                "value": 3
                            },
                            {
                                "name": "ROTATION_YAW_180",
                                "value": 4
                            },
                            {
                                "name": "ROTATION_YAW_225",
                                "value": 5
                            },
                            {
                                "name": "ROTATION_YAW_270",
                                "value": 6
                            },
                            {
                                "name": "ROTATION_YAW_315",
                                "value": 7
                            },
                            {
                                "name": "ROTATION_ROLL_180",
                                "value": 8
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_45",
                                "value": 9
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_90",
                                "value": 10
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_135",
                                "value": 11
                            },
                            {
                                "name": "ROTATION_PITCH_180",
                                "value": 12
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_225",
                                "value": 13
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_270",
                                "value": 14
                            },
                            {
                                "name": "ROTATION_ROLL_180_YAW_315",
                                "value": 15
                            },
                            {
                                "name": "ROTATION_ROLL_90",
                                "value": 16
                            },
                            {
                                "name": "ROTATION_ROLL_90_YAW_45",
                                "value": 17
                            },
                            {
                                "name": "ROTATION_ROLL_90_YAW_90",
                                "value": 18
                            },
                            {
                                "name": "ROTATION_ROLL_90_YAW_135",
                                "value": 19
                            },
                            {
                                "name": "ROTATION_ROLL_270",
                                "value": 20
                            },
                            {
                                "name": "ROTATION_ROLL_270_YAW_45",
                                "value": 21
                            },
                            {
                                "name": "ROTATION_ROLL_270_YAW_90",
                                "value": 22
                            },
                            {
                                "name": "ROTATION_ROLL_270_YAW_135",
                                "value": 23
                            },
                            {
                                "name": "ROTATION_PITCH_90",
                                "value": 24
                            },
                            {
                                "name": "ROTATION_PITCH_270",
                                "value": 25
                            },
                            {
                                "name": "ROTATION_PITCH_180_YAW_90",
                                "value": 26,
                                "description": "same as ROTATION_ROLL_180_YAW_270"
                            },
                            {
                                "name": "ROTATION_PITCH_180_YAW_270",
                                "value": 27,
                                "description": "same as ROTATION_ROLL_180_YAW_90"
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_90",
                                "value": 28
                            },
                            {
                                "name": "ROTATION_ROLL_180_PITCH_90",
                                "value": 29
                            },
                            {
                                "name": "ROTATION_ROLL_270_PITCH_90",
                                "value": 30
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_180",
                                "value": 31
                            },
                            {
                                "name": "ROTATION_ROLL_270_PITCH_180",
                                "value": 32
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_270",
                                "value": 33
                            },
                            {
                                "name": "ROTATION_ROLL_180_PITCH_270",
                                "value": 34
                            },
                            {
                                "name": "ROTATION_ROLL_270_PITCH_270",
                                "value": 35
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_180_YAW_90",
                                "value": 36
                            },
                            {
                                "name": "ROTATION_ROLL_90_YAW_270",
                                "value": 37
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_68_YAW_293",
                                "value": 38,
                                "description": "this is actually, roll 90, pitch 68.8, yaw 293.3"
                            },
                            {
                                "name": "ROTATION_PITCH_315",
                                "value": 39
                            },
                            {
                                "name": "ROTATION_ROLL_90_PITCH_315",
                                "value": 40
                            },
                            {
                                "name": "ROTATION_PITCH_7",
                                "value": 41
                            },
                            {
                                "name": "ROTATION_ROLL_45",
                                "value": 42
                            },
                            {
                                "name": "ROTATION_ROLL_315",
                                "value": 43
                            },
                            {
                                "name": "ROTATION_MAX",
                                "value": 44
                            },
                            {
                                "name": "ROTATION_CUSTOM_OLD",
                                "value": 100
                            },
                            {
                                "name": "ROTATION_CUSTOM_1",
                                "value": 101
                            },
                            {
                                "name": "ROTATION_CUSTOM_2",
                                "value": 102
                            },
                            {
                                "name": "ROTATION_CUSTOM_END",
                                "value": 103
                            }
                        ]
                    }
                },
                {
                    "name": "Quality",
                    "units": "%",
                    "type": "int8_t",
                    "description": "Signal quality. -1 means invalid, 0 is no signal, 100 is perfect signal"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "Temperature of the fluid (air or water) the rangefinder measures through, not the sensor internal temperature"
                }
            ]
        },
        {
            "name": "RFRF",
            "description": "Replay FRame data - Finished frame",
            "fields": [
                {
                    "name": "FTypes",
                    "units": "",
                    "type": "uint8_t",
                    "description": "accumulated method calls made during frame",
                    "bitmask": {
                        "name": "AP_DAL::FrameType",
                        "entries": [
                            {
                                "name": "InitialiseFilterEKF2",
                                "value": 1
                            },
                            {
                                "name": "UpdateFilterEKF2",
                                "value": 2
                            },
                            {
                                "name": "InitialiseFilterEKF3",
                                "value": 4
                            },
                            {
                                "name": "UpdateFilterEKF3",
                                "value": 8
                            },
                            {
                                "name": "LogWriteEKF2",
                                "value": 16
                            },
                            {
                                "name": "LogWriteEKF3",
                                "value": 32
                            }
                        ]
                    }
                },
                {
                    "name": "Slow",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if we are not keeping up with IMU loop rate"
                }
            ]
        },
        {
            "name": "RFRH",
            "description": "Replay FRame Header",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "TF",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Time flying"
                }
            ]
        },
        {
            "name": "RFRN",
            "description": "Replay FRame - aNother frame header",
            "fields": [
                {
                    "name": "HLat",
                    "units": "1e-7 deglatitude",
                    "type": "uint32_t",
                    "description": "home latitude"
                },
                {
                    "name": "HLon",
                    "units": "1e-7 deglongitude",
                    "type": "uint32_t",
                    "description": "home latitude"
                },
                {
                    "name": "HAlt",
                    "units": "cm",
                    "type": "uint32_t",
                    "description": "home altitude AMSL"
                },
                {
                    "name": "E2T",
                    "units": "",
                    "type": "float",
                    "description": "EAS to TAS factor"
                },
                {
                    "name": "AM",
                    "units": "B",
                    "type": "uint32_t",
                    "description": "available memory"
                },
                {
                    "name": "TX",
                    "units": "deg",
                    "type": "float",
                    "description": "AHRS trim X"
                },
                {
                    "name": "TY",
                    "units": "deg",
                    "type": "float",
                    "description": "AHRS trim Y"
                },
                {
                    "name": "TZ",
                    "units": "deg",
                    "type": "float",
                    "description": "AHRS trim Z"
                },
                {
                    "name": "VC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "AHRS Vehicle Class"
                },
                {
                    "name": "EKT",
                    "units": "",
                    "type": "uint8_t",
                    "description": "configured EKF type",
                    "enum": {
                        "name": "AP_DAL::EKFType",
                        "entries": [
                            {
                                "name": "EKF2",
                                "value": 0
                            },
                            {
                                "name": "EKF3",
                                "value": 1
                            }
                        ]
                    }
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "bitmask of boolean state",
                    "bitmask": {
                        "name": "AP_DAL::RFRNFlags",
                        "entries": [
                            {
                                "name": "ARMED",
                                "value": 1
                            },
                            {
                                "name": "UNUSED",
                                "value": 2
                            },
                            {
                                "name": "FLY_FORWARD",
                                "value": 4
                            },
                            {
                                "name": "AHRS_AIRSPEED_SENSOR_ENABLED",
                                "value": 8
                            },
                            {
                                "name": "OPTICALFLOW_ENABLED",
                                "value": 16
                            },
                            {
                                "name": "WHEELENCODER_ENABLED",
                                "value": 32
                            },
                            {
                                "name": "TAKEOFF_EXPECTED",
                                "value": 64
                            },
                            {
                                "name": "TOUCHDOWN_EXPECTED",
                                "value": 128
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "RGPH",
            "description": "Replay Data GPS Header",
            "fields": [
                {
                    "name": "NumInst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of GPS sensors"
                },
                {
                    "name": "Primary",
                    "units": "",
                    "type": "uint8_t",
                    "description": "instance number of primary sensor"
                }
            ]
        },
        {
            "name": "RGPI",
            "description": "Replay Data GPS Instance, infrequently changing data",
            "fields": [
                {
                    "name": "OX",
                    "units": "",
                    "type": "float",
                    "description": "antenna body-frame offset, X-axis"
                },
                {
                    "name": "OY",
                    "units": "",
                    "type": "float",
                    "description": "antenna body-frame offset, Y-axis"
                },
                {
                    "name": "OZ",
                    "units": "",
                    "type": "float",
                    "description": "antenna body-frame offset, Z-axis"
                },
                {
                    "name": "Lg",
                    "units": "",
                    "type": "float",
                    "description": "GPS time lag"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "various GPS flags",
                    "bitmask": {
                        "name": "RGPIFlags",
                        "entries": [
                            {
                                "name": "have_vertical_velocity",
                                "value": 1
                            },
                            {
                                "name": "horizontal_accuracy_returncode",
                                "value": 2
                            },
                            {
                                "name": "vertical_accuracy_returncode",
                                "value": 4
                            },
                            {
                                "name": "get_lag_returncode",
                                "value": 8
                            },
                            {
                                "name": "speed_accuracy_returncode",
                                "value": 16
                            },
                            {
                                "name": "gps_yaw_deg_returncode",
                                "value": 32
                            }
                        ]
                    }
                },
                {
                    "name": "Stat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GPS fix status"
                },
                {
                    "name": "NSats",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of satellites GPS is using"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS sensor instance number"
                }
            ]
        },
        {
            "name": "RGPJ",
            "description": "Replay Data GPS Instance - rapidly changing data",
            "fields": [
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "GPS data timestamp"
                },
                {
                    "name": "VX",
                    "units": "",
                    "type": "float",
                    "description": "GPS velocity, North"
                },
                {
                    "name": "VY",
                    "units": "",
                    "type": "float",
                    "description": "GPS velocity, East"
                },
                {
                    "name": "VZ",
                    "units": "",
                    "type": "float",
                    "description": "GPS velocity, Down"
                },
                {
                    "name": "SA",
                    "units": "",
                    "type": "float",
                    "description": "speed accuracy"
                },
                {
                    "name": "Y",
                    "units": "",
                    "type": "float",
                    "description": "GPS yaw"
                },
                {
                    "name": "YA",
                    "units": "",
                    "type": "float",
                    "description": "GPS yaw accuracy"
                },
                {
                    "name": "YT",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of GPS yaw estimate"
                },
                {
                    "name": "Lat",
                    "units": "",
                    "type": "int32_t",
                    "description": "latitude"
                },
                {
                    "name": "Lon",
                    "units": "",
                    "type": "int32_t",
                    "description": "longitude"
                },
                {
                    "name": "Alt",
                    "units": "",
                    "type": "int32_t",
                    "description": "altitude"
                },
                {
                    "name": "HA",
                    "units": "",
                    "type": "float",
                    "description": "horizontal accuracy"
                },
                {
                    "name": "VA",
                    "units": "",
                    "type": "float",
                    "description": "vertical accuracy"
                },
                {
                    "name": "HD",
                    "units": "",
                    "type": "uint16_t",
                    "description": "HDOP"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS sensor instance number"
                }
            ]
        },
        {
            "name": "RGPK",
            "description": "Replay Data GPS Instance - moving baseline yaw antenna offset (low-rate, only logged when changed)",
            "fields": [
                {
                    "name": "OX",
                    "units": "",
                    "type": "float",
                    "description": "moving baseline antenna offset used to calculate GPS yaw, X-axis"
                },
                {
                    "name": "OY",
                    "units": "",
                    "type": "float",
                    "description": "moving baseline antenna offset used to calculate GPS yaw, Y-axis"
                },
                {
                    "name": "OZ",
                    "units": "",
                    "type": "float",
                    "description": "moving baseline antenna offset used to calculate GPS yaw, Z-axis"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS sensor instance number"
                }
            ]
        },
        {
            "name": "RICH",
            "description": "Richenpower generator telemetry",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "runTime",
                    "units": "",
                    "type": "uint32_t",
                    "description": "total generator runtime"
                },
                {
                    "name": "maintTime",
                    "units": "",
                    "type": "uint32_t",
                    "description": "time until generator requires maintenance"
                },
                {
                    "name": "errors",
                    "units": "",
                    "type": "uint16_t",
                    "description": "bitmask of error received from generator"
                },
                {
                    "name": "rpm",
                    "units": "",
                    "type": "uint16_t",
                    "description": "current generator RPM"
                },
                {
                    "name": "ovolt",
                    "units": "",
                    "type": "float",
                    "description": "output voltage"
                },
                {
                    "name": "ocurr",
                    "units": "",
                    "type": "float",
                    "description": "output current"
                },
                {
                    "name": "mode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "generator mode; idle/run/charge/balance"
                }
            ]
        },
        {
            "name": "RISH",
            "description": "Replay Inertial Sensor header",
            "fields": [
                {
                    "name": "LR",
                    "units": "",
                    "type": "uint16_t",
                    "description": "INS loop rate"
                },
                {
                    "name": "PG",
                    "units": "",
                    "type": "uint8_t",
                    "description": "primary gyro index"
                },
                {
                    "name": "PA",
                    "units": "",
                    "type": "uint8_t",
                    "description": "primary accel index"
                },
                {
                    "name": "LD",
                    "units": "",
                    "type": "float",
                    "description": "INS loop-delta-t"
                },
                {
                    "name": "AC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "accel count"
                },
                {
                    "name": "GC",
                    "units": "",
                    "type": "uint8_t",
                    "description": "gyro count"
                }
            ]
        },
        {
            "name": "RISI",
            "description": "Replay Inertial Sensor instance data",
            "fields": [
                {
                    "name": "DVX",
                    "units": "",
                    "type": "float",
                    "description": "x-axis delta-velocity"
                },
                {
                    "name": "DVY",
                    "units": "",
                    "type": "float",
                    "description": "y-axis delta-velocity"
                },
                {
                    "name": "DVZ",
                    "units": "",
                    "type": "float",
                    "description": "z-axis delta-velocity"
                },
                {
                    "name": "DAX",
                    "units": "",
                    "type": "float",
                    "description": "x-axis delta-angle"
                },
                {
                    "name": "DAY",
                    "units": "",
                    "type": "float",
                    "description": "y-axis delta-angle"
                },
                {
                    "name": "DAZ",
                    "units": "",
                    "type": "float",
                    "description": "z-axis delta-angle"
                },
                {
                    "name": "DVDT",
                    "units": "",
                    "type": "float",
                    "description": "delta-velocity-delta-time"
                },
                {
                    "name": "DADT",
                    "units": "",
                    "type": "float",
                    "description": "delta-angle-delta-time"
                },
                {
                    "name": "Flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "use-accel, use-gyro, delta-vel-valid, delta-accel-valid"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "IMU instance"
                }
            ]
        },
        {
            "name": "RISJ",
            "description": "Replay Inertial Sensor instance metadata (low-rate, only logged when changed)",
            "fields": [
                {
                    "name": "GBL",
                    "units": "",
                    "type": "float",
                    "description": "gyro bias limit (rad/s) for the EKF gyro bias state clamp"
                },
                {
                    "name": "GBI",
                    "units": "",
                    "type": "float",
                    "description": "initial gyro bias 1-sigma uncertainty (deg/s)"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "IMU instance"
                }
            ]
        },
        {
            "name": "RMGH",
            "description": "Replay Data Magnetometer Header",
            "fields": [
                {
                    "name": "Dec",
                    "units": "",
                    "type": "float",
                    "description": "vehicle declination"
                },
                {
                    "name": "Avail",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if the compass library is marking itself as available"
                },
                {
                    "name": "NumInst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of compass instances"
                },
                {
                    "name": "AutoDec",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if compass autodeclination is enabled"
                },
                {
                    "name": "NumEna",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of enabled compass instances"
                },
                {
                    "name": "LOE",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if compass learning of offsets is enabled"
                },
                {
                    "name": "C",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if compasses are consistent"
                },
                {
                    "name": "FUsable",
                    "units": "",
                    "type": "uint8_t",
                    "description": "index of first usable compass"
                }
            ]
        },
        {
            "name": "RMGI",
            "description": "Replay Data Magnetometer Instance",
            "fields": [
                {
                    "name": "LU",
                    "units": "",
                    "type": "uint32_t",
                    "description": "last update time for magnetometer data"
                },
                {
                    "name": "OX",
                    "units": "",
                    "type": "float",
                    "description": "mag sensor offset, X-axis"
                },
                {
                    "name": "OY",
                    "units": "",
                    "type": "float",
                    "description": "mag sensor offset, Y-axis"
                },
                {
                    "name": "OZ",
                    "units": "",
                    "type": "float",
                    "description": "mag sensor offset, Z-axis"
                },
                {
                    "name": "FX",
                    "units": "",
                    "type": "float",
                    "description": "field strength, X-axis"
                },
                {
                    "name": "FY",
                    "units": "",
                    "type": "float",
                    "description": "field strength, Y-axis"
                },
                {
                    "name": "FZ",
                    "units": "",
                    "type": "float",
                    "description": "field strength, Z-axis"
                },
                {
                    "name": "UFY",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if compass is being used for yaw"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sensor health"
                },
                {
                    "name": "HSF",
                    "units": "",
                    "type": "uint8_t",
                    "description": "compass has scale factor"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "magnetometer instance number"
                }
            ]
        },
        {
            "name": "ROFH",
            "description": "Replay optical flow data",
            "fields": [
                {
                    "name": "FX",
                    "units": "",
                    "type": "float",
                    "description": "raw flow rate, X-axis"
                },
                {
                    "name": "FY",
                    "units": "",
                    "type": "float",
                    "description": "raw flow rate, Y-axis"
                },
                {
                    "name": "GX",
                    "units": "",
                    "type": "float",
                    "description": "gyro rate, X-axis"
                },
                {
                    "name": "GY",
                    "units": "",
                    "type": "float",
                    "description": "gyro rate, Y-axis"
                },
                {
                    "name": "Tms",
                    "units": "",
                    "type": "uint32_t",
                    "description": "measurement timestamp"
                },
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "gyro rate, X-axis"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "body-frame offset, Y-axis"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "body-frame offset, Z-axis"
                },
                {
                    "name": "HgtOvr",
                    "units": "",
                    "type": "float",
                    "description": "sensor height override"
                },
                {
                    "name": "Qual",
                    "units": "",
                    "type": "uint8_t",
                    "description": "flow quality measurement"
                }
            ]
        },
        {
            "name": "RPM",
            "description": "Data from RPM sensors",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance"
                },
                {
                    "name": "RPM",
                    "units": "rpm",
                    "type": "float",
                    "description": "Sensor's rpm measurement"
                },
                {
                    "name": "Qual",
                    "units": "",
                    "type": "float",
                    "description": "Signal quality"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Sensor Health (Bool)"
                }
            ]
        },
        {
            "name": "RRNH",
            "description": "Replay Data Rangefinder Header",
            "fields": [
                {
                    "name": "GCl",
                    "units": "m",
                    "type": "float",
                    "description": "rangefinder ground clearance for downward-facing rangefinders"
                },
                {
                    "name": "MaxD",
                    "units": "m",
                    "type": "float",
                    "description": "rangefinder maximum distance for downward-facing rangefinders"
                },
                {
                    "name": "NumSensors",
                    "units": "",
                    "type": "uint8_t",
                    "description": "number of rangefinder instances"
                }
            ]
        },
        {
            "name": "RRNI",
            "description": "Replay Data Rangefinder Instance",
            "fields": [
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "rangefinder body-frame offset, X-axis"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "rangefinder body-frame offset, Y-axis"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "rangefinder body-frame offset, Z-axis"
                },
                {
                    "name": "Dist",
                    "units": "m",
                    "type": "float",
                    "description": "Measured rangefinder distance"
                },
                {
                    "name": "Orient",
                    "units": "",
                    "type": "uint8_t",
                    "description": "orientation"
                },
                {
                    "name": "Status",
                    "units": "",
                    "type": "uint8_t",
                    "description": "status"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "rangefinder instance number"
                }
            ]
        },
        {
            "name": "RSLL",
            "description": "Replay Set Lat Lng event",
            "fields": [
                {
                    "name": "Lat",
                    "units": "1e-7 deglatitude",
                    "type": "uint32_t",
                    "description": "latitude"
                },
                {
                    "name": "Lng",
                    "units": "1e-7 deglongitude",
                    "type": "uint32_t",
                    "description": "longitude"
                },
                {
                    "name": "PosAccSD",
                    "units": "",
                    "type": "float",
                    "description": "position accuracy, 1-StD"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "timestamp of latitude/longitude"
                }
            ]
        },
        {
            "name": "RSO2",
            "description": "Replay Set Origin event (EKF2)",
            "fields": [
                {
                    "name": "Lat",
                    "units": "1e-7 deglatitude",
                    "type": "uint32_t",
                    "description": "origin latitude"
                },
                {
                    "name": "Lon",
                    "units": "1e-7 deglongitude",
                    "type": "uint32_t",
                    "description": "origin longitude"
                },
                {
                    "name": "Alt",
                    "units": "cm",
                    "type": "uint32_t",
                    "description": "origin altitude"
                }
            ]
        },
        {
            "name": "RSO3",
            "description": "Replay Set Origin event (EKF3)",
            "fields": [
                {
                    "name": "Lat",
                    "units": "1e-7 deglatitude",
                    "type": "uint32_t",
                    "description": "origin latitude"
                },
                {
                    "name": "Lon",
                    "units": "1e-7 deglongitude",
                    "type": "uint32_t",
                    "description": "origin longitude"
                },
                {
                    "name": "Alt",
                    "units": "cm",
                    "type": "uint32_t",
                    "description": "origin altitude"
                }
            ]
        },
        {
            "name": "RSSI",
            "description": "Received Signal Strength Indicator for RC receiver",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "RXRSSI",
                    "units": "",
                    "type": "float",
                    "description": "RSSI"
                },
                {
                    "name": "RXLQ",
                    "units": "%",
                    "type": "float",
                    "description": "RX Link Quality"
                }
            ]
        },
        {
            "name": "RTC",
            "description": "RTC (Unix time) information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Epoch",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "current unix epoch time*1000000 (ie. microseconds since Jan 1 1970)"
                },
                {
                    "name": "SourceType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "source of RTC data",
                    "enum": {
                        "name": "AP_RTC::source_type",
                        "entries": [
                            {
                                "name": "SOURCE_GPS",
                                "value": 0
                            },
                            {
                                "name": "SOURCE_MAVLINK_SYSTEM_TIME",
                                "value": 1
                            },
                            {
                                "name": "SOURCE_HW",
                                "value": 2
                            },
                            {
                                "name": "SOURCE_NONE",
                                "value": 3
                            }
                        ]
                    }
                }
            ]
        },
        {
            "name": "RTCM",
            "description": "GPS atmospheric perturbation data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Chan",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "mavlink channel number this data was received on"
                },
                {
                    "name": "RTCMId",
                    "units": "",
                    "type": "uint16_t",
                    "description": "ID field from RTCM packet"
                },
                {
                    "name": "Len",
                    "units": "",
                    "type": "uint16_t",
                    "description": "RTCM packet length"
                },
                {
                    "name": "CRC",
                    "units": "",
                    "type": "uint32_t",
                    "description": "calculated crc32 for the packet"
                }
            ]
        },
        {
            "name": "RTER",
            "description": "Replay Terrain SRTM Altitude",
            "fields": [
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "altitude above origin in meters"
                }
            ]
        },
        {
            "name": "RVOH",
            "description": "Replay Data Visual Odometry data",
            "fields": [
                {
                    "name": "OX",
                    "units": "",
                    "type": "float",
                    "description": "offset, x-axis"
                },
                {
                    "name": "OY",
                    "units": "",
                    "type": "float",
                    "description": "offset, y-axis"
                },
                {
                    "name": "OZ",
                    "units": "",
                    "type": "float",
                    "description": "offset, z-axis"
                },
                {
                    "name": "Del",
                    "units": "",
                    "type": "uint32_t",
                    "description": "data delay"
                },
                {
                    "name": "H",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sensor health"
                },
                {
                    "name": "Ena",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sensor enabled"
                }
            ]
        },
        {
            "name": "RWA2",
            "description": "Replay set-default-airspeed event (EKF2)",
            "fields": [
                {
                    "name": "Airspeed",
                    "units": "m/s",
                    "type": "float",
                    "description": "default airspeed"
                },
                {
                    "name": "uncertainty",
                    "units": "m/s",
                    "type": "float",
                    "description": "uncertainty in default airspeed"
                }
            ]
        },
        {
            "name": "RWA3",
            "description": "Replay set-default-airspeed event (EKF3)",
            "fields": [
                {
                    "name": "Airspeed",
                    "units": "m/s",
                    "type": "float",
                    "description": "default airspeed"
                },
                {
                    "name": "Uncertainty",
                    "units": "m/s",
                    "type": "float",
                    "description": "uncertainty in default airspeed"
                }
            ]
        },
        {
            "name": "RWOH",
            "description": "Replay wheel odometry data",
            "fields": [
                {
                    "name": "DA",
                    "units": "",
                    "type": "float",
                    "description": "delta-angle"
                },
                {
                    "name": "DT",
                    "units": "",
                    "type": "float",
                    "description": "delta-time"
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "data timestamp"
                },
                {
                    "name": "PX",
                    "units": "",
                    "type": "float",
                    "description": "sensor body-frame offset, x-axis"
                },
                {
                    "name": "PY",
                    "units": "",
                    "type": "float",
                    "description": "sensor body-frame offset, y-axis"
                },
                {
                    "name": "PZ",
                    "units": "",
                    "type": "float",
                    "description": "sensor body-frame offset, z-axis"
                },
                {
                    "name": "R",
                    "units": "",
                    "type": "float",
                    "description": "wheel radius"
                }
            ]
        },
        {
            "name": "SA",
            "description": "Simple Avoidance messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if Simple Avoidance is active"
                },
                {
                    "name": "DVelX",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity, X-Axis (Velocity before Avoidance)"
                },
                {
                    "name": "DVelY",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity, Y-Axis (Velocity before Avoidance)"
                },
                {
                    "name": "DVelZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired velocity, Z-Axis (Velocity before Avoidance)"
                },
                {
                    "name": "MVelX",
                    "units": "m/s",
                    "type": "float",
                    "description": "Modified velocity, X-Axis (Velocity after Avoidance)"
                },
                {
                    "name": "MVelY",
                    "units": "m/s",
                    "type": "float",
                    "description": "Modified velocity, Y-Axis (Velocity after Avoidance)"
                },
                {
                    "name": "MVelZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "Modified velocity, Z-Axis (Velocity after Avoidance)"
                },
                {
                    "name": "Back",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True if vehicle is backing away"
                }
            ]
        },
        {
            "name": "SAF1",
            "description": "Simulated Blimp Sin-Angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "afx",
                    "units": "",
                    "type": "float",
                    "description": "sin(x angle)"
                },
                {
                    "name": "afy",
                    "units": "",
                    "type": "float",
                    "description": "sin(y angle)"
                },
                {
                    "name": "afz",
                    "units": "",
                    "type": "float",
                    "description": "sin(z angle)"
                }
            ]
        },
        {
            "name": "SAIL",
            "description": "Sailboat information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tack",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Current tack, 0 = port, 1 = starboard"
                },
                {
                    "name": "TackThr",
                    "units": "deg",
                    "type": "float",
                    "description": "Apparent wind angle used for tack threshold"
                },
                {
                    "name": "MainOut",
                    "units": "%",
                    "type": "float",
                    "description": "Normalized mainsail output"
                },
                {
                    "name": "WingOut",
                    "units": "%",
                    "type": "float",
                    "description": "Normalized wingsail output"
                },
                {
                    "name": "MastRotOut",
                    "units": "%",
                    "type": "float",
                    "description": "Normalized direct-rotation mast output"
                },
                {
                    "name": "VMG",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity made good (speed at which vehicle is making progress directly towards destination)"
                }
            ]
        },
        {
            "name": "SAN1",
            "description": "Simulated Blimp Angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "anx",
                    "units": "",
                    "type": "float",
                    "description": "x angle"
                },
                {
                    "name": "any",
                    "units": "",
                    "type": "float",
                    "description": "y angle"
                },
                {
                    "name": "anz",
                    "units": "",
                    "type": "float",
                    "description": "z angle"
                }
            ]
        },
        {
            "name": "SAN2",
            "description": "Simulated Blimp Angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "anx",
                    "units": "",
                    "type": "float",
                    "description": "x earth-frame angle"
                },
                {
                    "name": "any",
                    "units": "",
                    "type": "float",
                    "description": "y earth-frame angle"
                },
                {
                    "name": "anz",
                    "units": "",
                    "type": "float",
                    "description": "z earth-frame angle"
                }
            ]
        },
        {
            "name": "SBA1",
            "description": "Simulated Blimp Body-Frame accelerations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ax",
                    "units": "",
                    "type": "float",
                    "description": "x-axis acceleration"
                },
                {
                    "name": "ay",
                    "units": "",
                    "type": "float",
                    "description": "y-axis acceleration"
                },
                {
                    "name": "az",
                    "units": "",
                    "type": "float",
                    "description": "z-axis acceleration"
                }
            ]
        },
        {
            "name": "SBPH",
            "description": "Swift Health Data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "CrcError",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of packet CRC errors on serial connection"
                },
                {
                    "name": "LastInject",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Timestamp of last raw data injection to GPS"
                },
                {
                    "name": "IARhyp",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Current number of integer ambiguity hypotheses"
                }
            ]
        },
        {
            "name": "SBRE",
            "description": "Swift Time Data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GWk",
                    "units": "UNKNOWN",
                    "type": "uint16_t",
                    "description": "GPS week number"
                },
                {
                    "name": "GMS",
                    "units": "UNKNOWN",
                    "type": "uint32_t",
                    "description": "Milliseconds through GPS week"
                },
                {
                    "name": "ns_residual",
                    "units": "UNKNOWN",
                    "type": "int32_t",
                    "description": "residual of milliseconds rounding in ns"
                },
                {
                    "name": "level",
                    "units": "UNKNOWN",
                    "type": "uint8_t",
                    "description": "GPIO pin levels"
                },
                {
                    "name": "quality",
                    "units": "UNKNOWN",
                    "type": "uint8_t",
                    "description": "time quality"
                }
            ]
        },
        {
            "name": "SCR",
            "description": "Scripting runtime stats",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Name",
                    "units": "instance",
                    "type": "char[16]",
                    "description": "script name"
                },
                {
                    "name": "Runtime",
                    "units": "μs",
                    "type": "uint32_t",
                    "description": "run time"
                },
                {
                    "name": "Total_mem",
                    "units": "B",
                    "type": "int32_t",
                    "description": "total memory usage of all scripts"
                },
                {
                    "name": "Run_mem",
                    "units": "B",
                    "type": "int32_t",
                    "description": "run memory usage"
                }
            ]
        },
        {
            "name": "SCTL",
            "description": "Simulated Glider Drop control outputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Ail",
                    "units": "",
                    "type": "float",
                    "description": "aileron output"
                },
                {
                    "name": "Elev",
                    "units": "",
                    "type": "float",
                    "description": "elevator output"
                },
                {
                    "name": "Rudd",
                    "units": "",
                    "type": "float",
                    "description": "rudder output"
                }
            ]
        },
        {
            "name": "SCVE",
            "description": "Debug message for SCurve internal error",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Sm",
                    "units": "",
                    "type": "float",
                    "description": "duration of the raised cosine jerk profile"
                },
                {
                    "name": "Jm",
                    "units": "",
                    "type": "float",
                    "description": "maximum value of the raised cosine jerk profile"
                },
                {
                    "name": "V0",
                    "units": "",
                    "type": "float",
                    "description": "initial velocity magnitude"
                },
                {
                    "name": "Am",
                    "units": "",
                    "type": "float",
                    "description": "maximum constant acceleration"
                },
                {
                    "name": "Vm",
                    "units": "",
                    "type": "float",
                    "description": "maximum constant velocity"
                },
                {
                    "name": "L",
                    "units": "",
                    "type": "float",
                    "description": "Length of the path"
                },
                {
                    "name": "Jm_out",
                    "units": "",
                    "type": "float",
                    "description": "maximum value of the raised cosine jerk profile"
                },
                {
                    "name": "tj_out",
                    "units": "",
                    "type": "float",
                    "description": "segment duration"
                },
                {
                    "name": "t2_out",
                    "units": "",
                    "type": "float",
                    "description": "segment duration"
                },
                {
                    "name": "t4_out",
                    "units": "",
                    "type": "float",
                    "description": "segment duration"
                },
                {
                    "name": "t6_out",
                    "units": "",
                    "type": "float",
                    "description": "segment duration"
                }
            ]
        },
        {
            "name": "SFA1",
            "description": "Simulated Blimp Fin Angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "f0",
                    "units": "",
                    "type": "float",
                    "description": "fin 0 angle"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "float",
                    "description": "fin 1 angle"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "float",
                    "description": "fin 2 angle"
                },
                {
                    "name": "f3",
                    "units": "",
                    "type": "float",
                    "description": "fin 3 angle"
                }
            ]
        },
        {
            "name": "SFAN",
            "description": "Simulated Blimp Servo Angles",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "f0",
                    "units": "",
                    "type": "float",
                    "description": "fin 0 servo angle"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "float",
                    "description": "fin 1 servo angle"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "float",
                    "description": "fin 2 servo angle"
                },
                {
                    "name": "f3",
                    "units": "",
                    "type": "float",
                    "description": "fin 3 servo angle"
                }
            ]
        },
        {
            "name": "SFN",
            "description": "Simulated Blimp Fin Forces",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "n0",
                    "units": "",
                    "type": "float",
                    "description": "Fin 0 normal force"
                },
                {
                    "name": "n1",
                    "units": "",
                    "type": "float",
                    "description": "Fin 1 normal force"
                },
                {
                    "name": "n2",
                    "units": "",
                    "type": "float",
                    "description": "Fin 2 normal force"
                },
                {
                    "name": "n3",
                    "units": "",
                    "type": "float",
                    "description": "Fin 3 normal force"
                }
            ]
        },
        {
            "name": "SFT",
            "description": "Simulated Blimp Fin Thrust",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "f0",
                    "units": "",
                    "type": "float",
                    "description": "Fin 0 tangential thrust"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "float",
                    "description": "Fin 1 tangential thrust"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "float",
                    "description": "Fin 2 tangential thrust"
                },
                {
                    "name": "f3",
                    "units": "",
                    "type": "float",
                    "description": "Fin 3 tangential thrust"
                }
            ]
        },
        {
            "name": "SFV1",
            "description": "Simulated Blimp Fin Velocities",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "f0",
                    "units": "",
                    "type": "float",
                    "description": "fin 0 velocity"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "float",
                    "description": "fin 1 velocity"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "float",
                    "description": "fin 2 velocity"
                },
                {
                    "name": "f3",
                    "units": "",
                    "type": "float",
                    "description": "fin 3 velocity"
                }
            ]
        },
        {
            "name": "SIM",
            "description": "SITL simulator state",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Simulated roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Simulated pitch"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "uint16_t * 100",
                    "description": "Simulated yaw"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "float",
                    "description": "Simulated altitude"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Simulated latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Simulated longitude"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion component 1"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion component 2"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion component 3"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion component 4"
                }
            ]
        },
        {
            "name": "SIM2",
            "description": "Additional simulator state",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "PN",
                    "units": "",
                    "type": "double",
                    "description": "North position from home"
                },
                {
                    "name": "PE",
                    "units": "",
                    "type": "double",
                    "description": "East position from home"
                },
                {
                    "name": "PD",
                    "units": "",
                    "type": "double",
                    "description": "Down position from home"
                },
                {
                    "name": "VN",
                    "units": "",
                    "type": "float",
                    "description": "Velocity north"
                },
                {
                    "name": "VE",
                    "units": "",
                    "type": "float",
                    "description": "Velocity east"
                },
                {
                    "name": "VD",
                    "units": "",
                    "type": "float",
                    "description": "Velocity down"
                },
                {
                    "name": "As",
                    "units": "",
                    "type": "float",
                    "description": "Airspeed"
                },
                {
                    "name": "ASpdU",
                    "units": "",
                    "type": "float",
                    "description": "Achieved simulation speedup value"
                },
                {
                    "name": "UFC",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of times simulation paused for serial0 output"
                }
            ]
        },
        {
            "name": "SITL",
            "description": "Simulation data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "VN",
                    "units": "",
                    "type": "float",
                    "description": "Velocity - North component"
                },
                {
                    "name": "VE",
                    "units": "",
                    "type": "float",
                    "description": "Velocity - East component"
                },
                {
                    "name": "VD",
                    "units": "",
                    "type": "float",
                    "description": "Velocity - Down component"
                },
                {
                    "name": "AN",
                    "units": "",
                    "type": "float",
                    "description": "Acceleration - North component"
                },
                {
                    "name": "AE",
                    "units": "",
                    "type": "float",
                    "description": "Acceleration - East component"
                },
                {
                    "name": "AD",
                    "units": "",
                    "type": "float",
                    "description": "Acceleration - Down component"
                },
                {
                    "name": "PN",
                    "units": "",
                    "type": "float",
                    "description": "Position - North component"
                },
                {
                    "name": "PE",
                    "units": "",
                    "type": "float",
                    "description": "Position - East component"
                },
                {
                    "name": "PD",
                    "units": "",
                    "type": "float",
                    "description": "Position - Down component"
                }
            ]
        },
        {
            "name": "SL2",
            "description": "More Simulated Glider Dropped Calculations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AltFt",
                    "units": "",
                    "type": "float",
                    "description": "altitude in feet"
                },
                {
                    "name": "KEAS",
                    "units": "",
                    "type": "float",
                    "description": "equivalent airspeed in knots"
                },
                {
                    "name": "KTAS",
                    "units": "",
                    "type": "float",
                    "description": "true airspeed in knots"
                },
                {
                    "name": "AD",
                    "units": "",
                    "type": "float",
                    "description": "air density"
                },
                {
                    "name": "Fl",
                    "units": "",
                    "type": "float",
                    "description": "lift"
                },
                {
                    "name": "Fd",
                    "units": "",
                    "type": "float",
                    "description": "drag"
                },
                {
                    "name": "LD",
                    "units": "",
                    "type": "float",
                    "description": "lift/drag ratio"
                },
                {
                    "name": "Elev",
                    "units": "",
                    "type": "float",
                    "description": "elevator output"
                },
                {
                    "name": "Ail",
                    "units": "",
                    "type": "float",
                    "description": "aileron output"
                },
                {
                    "name": "Rud",
                    "units": "",
                    "type": "float",
                    "description": "rudder output"
                },
                {
                    "name": "AoA",
                    "units": "",
                    "type": "float",
                    "description": "Angle of Attack"
                },
                {
                    "name": "SSA",
                    "units": "",
                    "type": "float",
                    "description": "Side Slip Angle"
                },
                {
                    "name": "q",
                    "units": "",
                    "type": "float",
                    "description": "air pressire"
                },
                {
                    "name": "Az",
                    "units": "",
                    "type": "float",
                    "description": "z-axis body-frame acceleration"
                }
            ]
        },
        {
            "name": "SLD",
            "description": "Simulated Glider Dropped Calculations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AltFt",
                    "units": "",
                    "type": "float",
                    "description": "altitude in feet"
                },
                {
                    "name": "AltM",
                    "units": "",
                    "type": "float",
                    "description": "altitude in metres"
                },
                {
                    "name": "EAS",
                    "units": "",
                    "type": "float",
                    "description": "equivalent airspeed"
                },
                {
                    "name": "TAS",
                    "units": "",
                    "type": "float",
                    "description": "true airspeed"
                },
                {
                    "name": "AD",
                    "units": "",
                    "type": "float",
                    "description": "air density"
                },
                {
                    "name": "Fl",
                    "units": "",
                    "type": "float",
                    "description": "lift"
                },
                {
                    "name": "Fd",
                    "units": "",
                    "type": "float",
                    "description": "drag"
                },
                {
                    "name": "LD",
                    "units": "",
                    "type": "float",
                    "description": "lift/drag ratio"
                },
                {
                    "name": "Elev",
                    "units": "",
                    "type": "float",
                    "description": "elevator output"
                },
                {
                    "name": "AoA",
                    "units": "",
                    "type": "float",
                    "description": "angle of attack"
                },
                {
                    "name": "Fx",
                    "units": "",
                    "type": "float",
                    "description": "X-axis force"
                },
                {
                    "name": "Fy",
                    "units": "",
                    "type": "float",
                    "description": "Y-axis force"
                },
                {
                    "name": "Fz",
                    "units": "",
                    "type": "float",
                    "description": "Z-axis force"
                },
                {
                    "name": "q",
                    "units": "",
                    "type": "float",
                    "description": "air pressure"
                }
            ]
        },
        {
            "name": "SLUP",
            "description": "Slung payload",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Land",
                    "units": "",
                    "type": "int8_t",
                    "description": "1 if payload is landed, 0 otherwise"
                },
                {
                    "name": "Tens",
                    "units": "1e2 %",
                    "type": "float",
                    "description": "Tension ratio, 1 if line is taut, 0 if slack"
                },
                {
                    "name": "Len",
                    "units": "m",
                    "type": "float",
                    "description": "Line length"
                },
                {
                    "name": "PN",
                    "units": "m",
                    "type": "float",
                    "description": "Payload position as offset from vehicle in North direction"
                },
                {
                    "name": "PE",
                    "units": "m",
                    "type": "float",
                    "description": "Payload position as offset from vehicle in East direction"
                },
                {
                    "name": "PD",
                    "units": "m",
                    "type": "float",
                    "description": "Payload position as offset from vehicle in Down direction"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Payload velocity in North direction"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Payload velocity in East direction"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Payload velocity in Down direction"
                },
                {
                    "name": "AN",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Payload acceleration in North direction"
                },
                {
                    "name": "AE",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Payload acceleration in East direction"
                },
                {
                    "name": "AD",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Payload acceleration in Down direction"
                },
                {
                    "name": "VFN",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in North direction"
                },
                {
                    "name": "VFE",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in East direction"
                },
                {
                    "name": "VFD",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in Down direction"
                }
            ]
        },
        {
            "name": "SLV1",
            "description": "Log data received from JSON simulator 1",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup (us)"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Slave instance"
                },
                {
                    "name": "magic",
                    "units": "",
                    "type": "uint16_t",
                    "description": "magic JSON protocol key"
                },
                {
                    "name": "frame_rate",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Slave instance's desired frame rate"
                },
                {
                    "name": "frame_count",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Slave instance's current frame count"
                },
                {
                    "name": "active",
                    "units": "",
                    "type": "uint8_t",
                    "description": "1 if the servo outputs are being used from this instance"
                }
            ]
        },
        {
            "name": "SLV2",
            "description": "Log data received from JSON simulator 2",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Slave instance"
                },
                {
                    "name": "C1",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 1 output"
                },
                {
                    "name": "C2",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 2 output"
                },
                {
                    "name": "C3",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 3 output"
                },
                {
                    "name": "C4",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 4 output"
                },
                {
                    "name": "C5",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 5 output"
                },
                {
                    "name": "C6",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 6 output"
                },
                {
                    "name": "C7",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 7 output"
                },
                {
                    "name": "C8",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 8 output"
                },
                {
                    "name": "C9",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 9 output"
                },
                {
                    "name": "C10",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 10 output"
                },
                {
                    "name": "C11",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 11 output"
                },
                {
                    "name": "C12",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 12 output"
                },
                {
                    "name": "C13",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 13 output"
                },
                {
                    "name": "C14",
                    "units": "us",
                    "type": "uint16_t",
                    "description": "channel 14 output"
                }
            ]
        },
        {
            "name": "SMGC",
            "description": "Simulated Blimp Mass and COG",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "m",
                    "units": "",
                    "type": "float",
                    "description": "mass"
                },
                {
                    "name": "g",
                    "units": "",
                    "type": "float",
                    "description": "gravity"
                },
                {
                    "name": "cz",
                    "units": "",
                    "type": "float",
                    "description": "centre-of-gravity, z-axis"
                }
            ]
        },
        {
            "name": "SMOO",
            "description": "Smoothed sensor data fed to EKF to avoid inconsistencies",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "AEx",
                    "units": "",
                    "type": "float",
                    "description": "Angular Velocity (around x-axis)"
                },
                {
                    "name": "AEy",
                    "units": "",
                    "type": "float",
                    "description": "Angular Velocity (around y-axis)"
                },
                {
                    "name": "AEz",
                    "units": "",
                    "type": "float",
                    "description": "Angular Velocity (around z-axis)"
                },
                {
                    "name": "DPx",
                    "units": "",
                    "type": "float",
                    "description": "Velocity (along x-axis)"
                },
                {
                    "name": "DPy",
                    "units": "",
                    "type": "float",
                    "description": "Velocity (along y-axis)"
                },
                {
                    "name": "DPz",
                    "units": "",
                    "type": "float",
                    "description": "Velocity (along z-axis)"
                },
                {
                    "name": "R",
                    "units": "",
                    "type": "float",
                    "description": "Roll"
                },
                {
                    "name": "P",
                    "units": "",
                    "type": "float",
                    "description": "Pitch"
                },
                {
                    "name": "Y",
                    "units": "",
                    "type": "float",
                    "description": "Yaw"
                },
                {
                    "name": "R2",
                    "units": "",
                    "type": "float",
                    "description": "DCM Roll"
                },
                {
                    "name": "P2",
                    "units": "",
                    "type": "float",
                    "description": "DCM Pitch"
                },
                {
                    "name": "Y2",
                    "units": "",
                    "type": "float",
                    "description": "DCM Yaw"
                }
            ]
        },
        {
            "name": "SMVZ",
            "description": "Simulated Volz servo information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Volz servo ID"
                },
                {
                    "name": "Pos",
                    "units": "%",
                    "type": "float",
                    "description": "Current Simulated Position"
                },
                {
                    "name": "DesPos",
                    "units": "%",
                    "type": "float",
                    "description": "Desired Simulated Position"
                },
                {
                    "name": "V",
                    "units": "V",
                    "type": "float",
                    "description": "simulated servo voltage"
                },
                {
                    "name": "A",
                    "units": "A",
                    "type": "float",
                    "description": "simulated servo current"
                },
                {
                    "name": "PCBT",
                    "units": "degC",
                    "type": "float",
                    "description": "simulated PCB Temperature"
                },
                {
                    "name": "MotT",
                    "units": "degC",
                    "type": "float",
                    "description": "simulated motor Temperature"
                }
            ]
        },
        {
            "name": "SPOL",
            "description": "Spool state logging",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Spl",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Motors spool state"
                },
                {
                    "name": "SplDes",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Desired motors spool state"
                }
            ]
        },
        {
            "name": "SRT1",
            "description": "Simulated Blimp Rotational forces",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rtx",
                    "units": "",
                    "type": "float",
                    "description": "zero"
                },
                {
                    "name": "rty",
                    "units": "",
                    "type": "float",
                    "description": "zero"
                },
                {
                    "name": "rtz",
                    "units": "",
                    "type": "float",
                    "description": "zero"
                }
            ]
        },
        {
            "name": "SRT2",
            "description": "Transformed Simulated Blimp Rotational forces",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rtx",
                    "units": "",
                    "type": "float",
                    "description": "x-axis wobble rotational force"
                },
                {
                    "name": "rty",
                    "units": "",
                    "type": "float",
                    "description": "y-axis wobble rotational force"
                },
                {
                    "name": "rtz",
                    "units": "",
                    "type": "float",
                    "description": "z-axis wobble rotational force"
                }
            ]
        },
        {
            "name": "SRT3",
            "description": "Simulated Blimp Torques",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "rtx",
                    "units": "",
                    "type": "float",
                    "description": "torque around x axis"
                },
                {
                    "name": "rty",
                    "units": "",
                    "type": "float",
                    "description": "torque around y axis"
                },
                {
                    "name": "rtz",
                    "units": "",
                    "type": "float",
                    "description": "torque around z axis"
                }
            ]
        },
        {
            "name": "SRTL",
            "description": "SmartRTL statistics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Active",
                    "units": "",
                    "type": "uint8_t",
                    "description": "true if SmartRTL could be used right now"
                },
                {
                    "name": "NumPts",
                    "units": "",
                    "type": "uint16_t",
                    "description": "number of points currently in use"
                },
                {
                    "name": "MaxPts",
                    "units": "",
                    "type": "uint16_t",
                    "description": "maximum number of points that could be used"
                },
                {
                    "name": "Action",
                    "units": "",
                    "type": "uint8_t",
                    "description": "most recent internal action taken by SRTL library",
                    "enum": {
                        "name": "AP_SmartRTL::Action",
                        "entries": [
                            {
                                "name": "POINT_ADD",
                                "value": 0
                            },
                            {
                                "name": "POINT_PRUNE",
                                "value": 1
                            },
                            {
                                "name": "POINT_SIMPLIFY",
                                "value": 2
                            },
                            {
                                "name": "ADD_FAILED_NO_SEMAPHORE",
                                "value": 3
                            },
                            {
                                "name": "ADD_FAILED_PATH_FULL",
                                "value": 4
                            },
                            {
                                "name": "POP_FAILED_NO_SEMAPHORE",
                                "value": 5
                            },
                            {
                                "name": "PEEK_FAILED_NO_SEMAPHORE",
                                "value": 6
                            },
                            {
                                "name": "DEACTIVATED_INIT_FAILED",
                                "value": 7
                            },
                            {
                                "name": "DEACTIVATED_BAD_POSITION_TIMEOUT",
                                "value": 9
                            },
                            {
                                "name": "DEACTIVATED_PATH_FULL_TIMEOUT",
                                "value": 10
                            },
                            {
                                "name": "DEACTIVATED_PROGRAM_ERROR",
                                "value": 11
                            }
                        ]
                    }
                },
                {
                    "name": "N",
                    "units": "m",
                    "type": "float",
                    "description": "point associated with most recent action (North component)"
                },
                {
                    "name": "E",
                    "units": "m",
                    "type": "float",
                    "description": "point associated with most recent action (East component)"
                },
                {
                    "name": "D",
                    "units": "m",
                    "type": "float",
                    "description": "point associated with most recent action (Down component)"
                }
            ]
        },
        {
            "name": "SSAN",
            "description": "Simulated Blimp Servo Inputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "f0",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fin 0 servo angle input"
                },
                {
                    "name": "f1",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fin 1 servo angle input"
                },
                {
                    "name": "f2",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fin 2 servo angle input"
                },
                {
                    "name": "f3",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fin 3 servo angle input"
                }
            ]
        },
        {
            "name": "STAK",
            "description": "Stack information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "thread ID"
                },
                {
                    "name": "Pri",
                    "units": "",
                    "type": "uint8_t",
                    "description": "thread priority"
                },
                {
                    "name": "Total",
                    "units": "",
                    "type": "uint16_t",
                    "description": "total stack"
                },
                {
                    "name": "Free",
                    "units": "",
                    "type": "uint16_t",
                    "description": "free stack"
                },
                {
                    "name": "Name",
                    "units": "",
                    "type": "char[16]",
                    "description": "thread name"
                }
            ]
        },
        {
            "name": "STER",
            "description": "Steering related messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "SteerIn",
                    "units": "",
                    "type": "int16_t",
                    "description": "Steering input"
                },
                {
                    "name": "SteerOut",
                    "units": "",
                    "type": "float",
                    "description": "Normalized steering output "
                },
                {
                    "name": "DesLatAcc",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Desired lateral acceleration"
                },
                {
                    "name": "LatAcc",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Actual lateral acceleration"
                },
                {
                    "name": "DesTurnRate",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Desired turn rate"
                },
                {
                    "name": "TurnRate",
                    "units": "deg/s",
                    "type": "float",
                    "description": "Actual turn rate"
                }
            ]
        },
        {
            "name": "SWSH",
            "description": "Helicopter swashplate logging",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Swashplate instance"
                },
                {
                    "name": "Col",
                    "units": "deg",
                    "type": "float",
                    "description": "Blade pitch angle contribution from collective"
                },
                {
                    "name": "TCyc",
                    "units": "deg",
                    "type": "float",
                    "description": "Total blade pitch angle contribution from cyclic"
                },
                {
                    "name": "PCyc",
                    "units": "deg",
                    "type": "float",
                    "description": "Blade pitch angle contribution from pitch cyclic"
                },
                {
                    "name": "RCyc",
                    "units": "deg",
                    "type": "float",
                    "description": "Blade pitch angle contribution from roll cyclic"
                }
            ]
        },
        {
            "name": "TCLR",
            "description": "Temperature Calibration Information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "temperature calibration instance number"
                },
                {
                    "name": "SType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "sensor type (0==accel, 1==gyro)"
                },
                {
                    "name": "Temp",
                    "units": "",
                    "type": "float",
                    "description": "current temperature"
                },
                {
                    "name": "X",
                    "units": "",
                    "type": "float",
                    "description": "x-axis sample sum"
                },
                {
                    "name": "Y",
                    "units": "",
                    "type": "float",
                    "description": "y-axis sample sum"
                },
                {
                    "name": "Z",
                    "units": "",
                    "type": "float",
                    "description": "z-axis sample sum"
                },
                {
                    "name": "NSamp",
                    "units": "",
                    "type": "uint32_t",
                    "description": "sample count"
                }
            ]
        },
        {
            "name": "TEMP",
            "description": "Temperature Sensor Data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "temperature sensor instance"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "float",
                    "description": "temperature"
                }
            ]
        },
        {
            "name": "TERR",
            "description": "Terrain database information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Status",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Terrain database status",
                    "enum": {
                        "name": "AP_Terrain::TerrainStatus",
                        "entries": [
                            {
                                "name": "TerrainStatusDisabled",
                                "value": 0,
                                "description": "not enabled"
                            },
                            {
                                "name": "TerrainStatusUnhealthy",
                                "value": 1,
                                "description": "no terrain data for current location"
                            },
                            {
                                "name": "TerrainStatusOK",
                                "value": 2,
                                "description": "terrain data available"
                            }
                        ]
                    }
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Current vehicle latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "Current vehicle longitude"
                },
                {
                    "name": "Spacing",
                    "units": "",
                    "type": "uint16_t",
                    "description": "terrain Tile spacing"
                },
                {
                    "name": "TerrH",
                    "units": "m",
                    "type": "float",
                    "description": "current Terrain height"
                },
                {
                    "name": "CHeight",
                    "units": "m",
                    "type": "float",
                    "description": "Vehicle height above terrain"
                },
                {
                    "name": "Pending",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Number of tile requests outstanding"
                },
                {
                    "name": "Loaded",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Number of tiles in memory"
                },
                {
                    "name": "ROfs",
                    "units": "m",
                    "type": "float",
                    "description": "terrain reference offset for arming altitude"
                }
            ]
        },
        {
            "name": "TETH",
            "description": "Tether state",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Len",
                    "units": "",
                    "type": "float",
                    "description": "Tether length"
                },
                {
                    "name": "VFN",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in North direction"
                },
                {
                    "name": "VFE",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in East direction"
                },
                {
                    "name": "VFD",
                    "units": "",
                    "type": "float",
                    "description": "Force on vehicle in Down direction"
                }
            ]
        },
        {
            "name": "THR",
            "description": "Throttle related messages",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "ThrIn",
                    "units": "",
                    "type": "int16_t",
                    "description": "Throttle Input"
                },
                {
                    "name": "ThrOut",
                    "units": "",
                    "type": "float",
                    "description": "Throttle Output "
                },
                {
                    "name": "DesSpeed",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired speed "
                },
                {
                    "name": "Speed",
                    "units": "m/s",
                    "type": "float",
                    "description": "Actual speed"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration"
                }
            ]
        },
        {
            "name": "TRIG",
            "description": "Camera shutter information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Instance number"
                },
                {
                    "name": "Img",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Image number"
                },
                {
                    "name": "GPSTime",
                    "units": "",
                    "type": "uint32_t",
                    "description": "milliseconds since start of GPS week"
                },
                {
                    "name": "GPSWeek",
                    "units": "",
                    "type": "uint16_t",
                    "description": "weeks since 5 Jan 1980"
                },
                {
                    "name": "Lat",
                    "units": "deglatitude",
                    "type": "int32_t latitude/longitude",
                    "description": "current latitude"
                },
                {
                    "name": "Lng",
                    "units": "deglongitude",
                    "type": "int32_t latitude/longitude",
                    "description": "current longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "current altitude"
                },
                {
                    "name": "RelAlt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "current altitude relative to home"
                },
                {
                    "name": "GPSAlt",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "altitude as reported by GPS"
                },
                {
                    "name": "R",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle roll"
                },
                {
                    "name": "P",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle pitch"
                },
                {
                    "name": "Y",
                    "units": "deg",
                    "type": "float",
                    "description": "current vehicle yaw"
                }
            ]
        },
        {
            "name": "TRMP",
            "description": "Torqeedo Motor Param",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "RPM",
                    "units": "rpm",
                    "type": "int16_t",
                    "description": "Motor RPM"
                },
                {
                    "name": "Pow",
                    "units": "Watt",
                    "type": "uint16_t",
                    "description": "Motor power"
                },
                {
                    "name": "Volt",
                    "units": "V",
                    "type": "float",
                    "description": "Motor voltage"
                },
                {
                    "name": "Cur",
                    "units": "A",
                    "type": "float",
                    "description": "Motor current"
                },
                {
                    "name": "ETemp",
                    "units": "degC",
                    "type": "float",
                    "description": "ESC Temp"
                },
                {
                    "name": "MTemp",
                    "units": "degC",
                    "type": "float",
                    "description": "Motor Temp"
                }
            ]
        },
        {
            "name": "TRMS",
            "description": "Torqeedo Motor Status",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "State",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Motor status flags"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Motor error flags"
                }
            ]
        },
        {
            "name": "TRQD",
            "description": "Torqeedo Status",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "Health",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Health"
                },
                {
                    "name": "DesMotSpeed",
                    "units": "",
                    "type": "int16_t",
                    "description": "Desired Motor Speed (-1000 to 1000)"
                },
                {
                    "name": "MotSpeed",
                    "units": "",
                    "type": "int16_t",
                    "description": "Motor Speed (-1000 to 1000)"
                },
                {
                    "name": "SuccCnt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Success Count"
                },
                {
                    "name": "ErrCnt",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Error Count"
                }
            ]
        },
        {
            "name": "TRSE",
            "description": "Torqeedo System Setup",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "Flag",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Flags"
                },
                {
                    "name": "MotType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Motor type"
                },
                {
                    "name": "MotVer",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Motor software version"
                },
                {
                    "name": "BattCap",
                    "units": "Ah",
                    "type": "uint16_t",
                    "description": "Battery capacity"
                },
                {
                    "name": "BattPct",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Battery charge percentage"
                },
                {
                    "name": "BattType",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Battery type"
                },
                {
                    "name": "SwVer",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Master software version"
                }
            ]
        },
        {
            "name": "TRST",
            "description": "Torqeedo System State",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "F",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Flags bitmask"
                },
                {
                    "name": "Err",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Master error code"
                },
                {
                    "name": "MVolt",
                    "units": "V",
                    "type": "float",
                    "description": "Motor voltage"
                },
                {
                    "name": "MCur",
                    "units": "A",
                    "type": "float",
                    "description": "Motor current"
                },
                {
                    "name": "Pow",
                    "units": "Watt",
                    "type": "uint16_t",
                    "description": "Motor power"
                },
                {
                    "name": "RPM",
                    "units": "rpm",
                    "type": "int16_t",
                    "description": "Motor RPM"
                },
                {
                    "name": "MTemp",
                    "units": "degC",
                    "type": "uint8_t",
                    "description": "Motor Temp (higher of pcb or stator)"
                },
                {
                    "name": "BPct",
                    "units": "%",
                    "type": "uint8_t",
                    "description": "Battery charge percentage"
                },
                {
                    "name": "BVolt",
                    "units": "V",
                    "type": "float",
                    "description": "Battery voltage"
                },
                {
                    "name": "BCur",
                    "units": "A",
                    "type": "float",
                    "description": "Battery current"
                }
            ]
        },
        {
            "name": "TSYN",
            "description": "Time synchronisation response information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "SysID",
                    "units": "",
                    "type": "uint8_t",
                    "description": "system ID this data is for"
                },
                {
                    "name": "RTT",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "round trip time for this system"
                }
            ]
        },
        {
            "name": "UART",
            "description": "UART stats",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "instance"
                },
                {
                    "name": "Tx",
                    "units": "B/s",
                    "type": "float",
                    "description": "transmitted data rate bytes per second"
                },
                {
                    "name": "Rx",
                    "units": "B/s",
                    "type": "float",
                    "description": "received data rate bytes per second, this is all incoming data, it may not all be processed by the driver using this port."
                },
                {
                    "name": "RxDp",
                    "units": "B/s",
                    "type": "float",
                    "description": "Data rate of dropped received bytes, ideally should be 0. This is the difference between the received data rate and the processed data rate."
                }
            ]
        },
        {
            "name": "UBX1",
            "description": "uBlox-specific GPS information (part 1)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS instance number"
                },
                {
                    "name": "noisePerMS",
                    "units": "",
                    "type": "uint16_t",
                    "description": "noise level as measured by GPS"
                },
                {
                    "name": "jamInd",
                    "units": "",
                    "type": "uint8_t",
                    "description": "jamming indicator; higher is more likely jammed"
                },
                {
                    "name": "aPower",
                    "units": "",
                    "type": "uint8_t",
                    "description": "antenna power indicator; 2 is don't know"
                },
                {
                    "name": "agcCnt",
                    "units": "",
                    "type": "uint16_t",
                    "description": "automatic gain control monitor"
                },
                {
                    "name": "config",
                    "units": "",
                    "type": "uint32_t",
                    "description": "bitmask for messages which haven't been seen"
                }
            ]
        },
        {
            "name": "UBX2",
            "description": "uBlox-specific GPS information (part 2)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Instance",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS instance number"
                },
                {
                    "name": "ofsI",
                    "units": "",
                    "type": "int8_t",
                    "description": "imbalance of I part of complex signal"
                },
                {
                    "name": "magI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "magnitude of I part of complex signal"
                },
                {
                    "name": "ofsQ",
                    "units": "",
                    "type": "int8_t",
                    "description": "imbalance of Q part of complex signal"
                },
                {
                    "name": "magQ",
                    "units": "",
                    "type": "uint8_t",
                    "description": "magnitude of Q part of complex signal"
                }
            ]
        },
        {
            "name": "UBXT",
            "description": "uBlox specific UBX-TIM-TM2 logging, see uBlox interface description",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "I",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "GPS instance number"
                },
                {
                    "name": "ch",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Channel (i.e. EXTINT) upon which the pulse was measured"
                },
                {
                    "name": "flags",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Bitmask"
                },
                {
                    "name": "count",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Rising edge counter"
                },
                {
                    "name": "wnR",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Week number of last rising edge"
                },
                {
                    "name": "MsR",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "Tow of rising edge"
                },
                {
                    "name": "SubMsR",
                    "units": "ns",
                    "type": "uint32_t",
                    "description": "Millisecond fraction of tow of rising edge in nanoseconds"
                },
                {
                    "name": "wnF",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Week number of last falling edge"
                },
                {
                    "name": "MsF",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "Tow of falling edge"
                },
                {
                    "name": "SubMsF",
                    "units": "ns",
                    "type": "uint32_t",
                    "description": "Millisecond fraction of tow of falling edge in nanoseconds"
                },
                {
                    "name": "accEst",
                    "units": "ns",
                    "type": "uint32_t",
                    "description": "Accuracy estimate"
                }
            ]
        },
        {
            "name": "UNIT",
            "description": "Message mapping from single character to SI unit",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Id",
                    "units": "",
                    "type": "int8_t",
                    "description": "character referenced by FMTU"
                },
                {
                    "name": "Label",
                    "units": "",
                    "type": "char[64]",
                    "description": "Unit - SI where available"
                }
            ]
        },
        {
            "name": "VER",
            "description": "Ardupilot version",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "BT",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Board type",
                    "enum": {
                        "name": "HAL_BOARD",
                        "entries": [
                            {
                                "name": "HAL_BOARD_SITL",
                                "value": 3
                            },
                            {
                                "name": "HAL_BOARD_LINUX",
                                "value": 7
                            },
                            {
                                "name": "HAL_BOARD_CHIBIOS",
                                "value": 10
                            },
                            {
                                "name": "HAL_BOARD_ESP32",
                                "value": 12
                            },
                            {
                                "name": "HAL_BOARD_QURT",
                                "value": 13
                            },
                            {
                                "name": "HAL_BOARD_EMPTY",
                                "value": 99
                            }
                        ]
                    }
                },
                {
                    "name": "BST",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Board subtype",
                    "enum": {
                        "name": "HAL_BOARD_SUBTYPE",
                        "entries": [
                            {
                                "name": "HAL_BOARD_SUBTYPE_NONE",
                                "value": -1
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_NONE",
                                "value": 1000
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_ERLEBOARD",
                                "value": 1001
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_PXF",
                                "value": 1002
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_NAVIO",
                                "value": 1003
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_BBBMINI",
                                "value": 1005
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_BEBOP",
                                "value": 1006
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2",
                                "value": 1009
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_BH",
                                "value": 1010
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_PXFMINI",
                                "value": 1012
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_NAVIO2",
                                "value": 1013
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_DISCO",
                                "value": 1014
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_AERO",
                                "value": 1015
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_DARK",
                                "value": 1016
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_BLUE",
                                "value": 1018
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_EDGE",
                                "value": 1020
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_POCKET",
                                "value": 1022
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_NAVIGATOR",
                                "value": 1023
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_VNAV",
                                "value": 1024
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_OBAL_V1",
                                "value": 1025
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_CANZERO",
                                "value": 1026
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_PILOTPI",
                                "value": 1027
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_POCKET2",
                                "value": 1028
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_T3_GEM_O1",
                                "value": 1029
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_RSAXVC_V1",
                                "value": 1030
                            },
                            {
                                "name": "HAL_BOARD_SUBTYPE_LINUX_RPI",
                                "value": 1031
                            }
                        ]
                    }
                },
                {
                    "name": "Maj",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Major version number"
                },
                {
                    "name": "Min",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Minor version number"
                },
                {
                    "name": "Pat",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Patch number"
                },
                {
                    "name": "FWT",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Firmware type"
                },
                {
                    "name": "GH",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Github commit"
                },
                {
                    "name": "FWS",
                    "units": "",
                    "type": "char[64]",
                    "description": "Firmware version string"
                },
                {
                    "name": "APJ",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Board ID"
                },
                {
                    "name": "BU",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Build vehicle type",
                    "enum": {
                        "name": "APM_BUILD",
                        "entries": [
                            {
                                "name": "APM_BUILD_Rover",
                                "value": 1
                            },
                            {
                                "name": "APM_BUILD_ArduCopter",
                                "value": 2
                            },
                            {
                                "name": "APM_BUILD_ArduPlane",
                                "value": 3
                            },
                            {
                                "name": "APM_BUILD_AntennaTracker",
                                "value": 4
                            },
                            {
                                "name": "APM_BUILD_UNKNOWN",
                                "value": 5
                            },
                            {
                                "name": "APM_BUILD_Replay",
                                "value": 6
                            },
                            {
                                "name": "APM_BUILD_ArduSub",
                                "value": 7
                            },
                            {
                                "name": "APM_BUILD_iofirmware",
                                "value": 8
                            },
                            {
                                "name": "APM_BUILD_AP_Periph",
                                "value": 9
                            },
                            {
                                "name": "APM_BUILD_AP_DAL_Standalone",
                                "value": 10
                            },
                            {
                                "name": "APM_BUILD_AP_Bootloader",
                                "value": 11
                            },
                            {
                                "name": "APM_BUILD_Blimp",
                                "value": 12
                            },
                            {
                                "name": "APM_BUILD_Heli",
                                "value": 13
                            }
                        ]
                    }
                },
                {
                    "name": "FV",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Filter version"
                },
                {
                    "name": "IMI",
                    "units": "",
                    "type": "uint32_t",
                    "description": "IOMCU MCU ID"
                },
                {
                    "name": "ICI",
                    "units": "",
                    "type": "uint32_t",
                    "description": "IOMCU CPU ID"
                }
            ]
        },
        {
            "name": "VIBE",
            "description": "Processed (acceleration) vibration information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "IMU",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "Vibration instance number"
                },
                {
                    "name": "VibeX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Primary accelerometer filtered vibration, x-axis"
                },
                {
                    "name": "VibeY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Primary accelerometer filtered vibration, y-axis"
                },
                {
                    "name": "VibeZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Primary accelerometer filtered vibration, z-axis"
                },
                {
                    "name": "Clip",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Number of clipping events on 1st accelerometer"
                }
            ]
        },
        {
            "name": "VISO",
            "description": "Visual Odometry",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "System time"
                },
                {
                    "name": "dt",
                    "units": "μs",
                    "type": "float",
                    "description": "Time period this data covers"
                },
                {
                    "name": "AngDX",
                    "units": "rad",
                    "type": "float",
                    "description": "Angular change for body-frame roll axis"
                },
                {
                    "name": "AngDY",
                    "units": "rad",
                    "type": "float",
                    "description": "Angular change for body-frame pitch axis"
                },
                {
                    "name": "AngDZ",
                    "units": "rad",
                    "type": "float",
                    "description": "Angular change for body-frame z axis"
                },
                {
                    "name": "PosDX",
                    "units": "m",
                    "type": "float",
                    "description": "Position change for body-frame X axis (Forward-Back)"
                },
                {
                    "name": "PosDY",
                    "units": "m",
                    "type": "float",
                    "description": "Position change for body-frame Y axis (Right-Left)"
                },
                {
                    "name": "PosDZ",
                    "units": "m",
                    "type": "float",
                    "description": "Position change for body-frame Z axis (Down-Up)"
                },
                {
                    "name": "conf",
                    "units": "",
                    "type": "float",
                    "description": "Confidence"
                }
            ]
        },
        {
            "name": "VISP",
            "description": "Vision Position",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "System time"
                },
                {
                    "name": "RTimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Remote system time"
                },
                {
                    "name": "CTimeMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "Corrected system time"
                },
                {
                    "name": "PX",
                    "units": "m",
                    "type": "float",
                    "description": "Position X-axis (North-South)"
                },
                {
                    "name": "PY",
                    "units": "m",
                    "type": "float",
                    "description": "Position Y-axis (East-West)"
                },
                {
                    "name": "PZ",
                    "units": "m",
                    "type": "float",
                    "description": "Position Z-axis (Down-Up)"
                },
                {
                    "name": "R",
                    "units": "deg",
                    "type": "float",
                    "description": "Roll lean angle"
                },
                {
                    "name": "P",
                    "units": "deg",
                    "type": "float",
                    "description": "Pitch lean angle"
                },
                {
                    "name": "Y",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw angle"
                },
                {
                    "name": "PErr",
                    "units": "m",
                    "type": "float",
                    "description": "Position estimate error"
                },
                {
                    "name": "AErr",
                    "units": "deg",
                    "type": "float",
                    "description": "Attitude estimate error"
                },
                {
                    "name": "Rst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Position reset counter"
                },
                {
                    "name": "Ign",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Ignored"
                },
                {
                    "name": "Q",
                    "units": "%",
                    "type": "int8_t",
                    "description": "Quality"
                }
            ]
        },
        {
            "name": "VISV",
            "description": "Vision Velocity",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "System time"
                },
                {
                    "name": "RTimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Remote system time"
                },
                {
                    "name": "CTimeMS",
                    "units": "ms",
                    "type": "uint32_t",
                    "description": "Corrected system time"
                },
                {
                    "name": "VX",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity X-axis (North-South)"
                },
                {
                    "name": "VY",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Y-axis (East-West)"
                },
                {
                    "name": "VZ",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Z-axis (Down-Up)"
                },
                {
                    "name": "VErr",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity estimate error"
                },
                {
                    "name": "Rst",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Velocity reset counter"
                },
                {
                    "name": "Ign",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Ignored"
                },
                {
                    "name": "Q",
                    "units": "%",
                    "type": "int8_t",
                    "description": "Quality"
                }
            ]
        },
        {
            "name": "VNAT",
            "description": "VectorNav Attitude data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion 1"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion 2"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion 3"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "Attitude quaternion 4"
                },
                {
                    "name": "Yaw",
                    "units": "deg",
                    "type": "float",
                    "description": "Yaw"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "float",
                    "description": "Pitch"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "float",
                    "description": "Roll"
                },
                {
                    "name": "YU",
                    "units": "deg",
                    "type": "float",
                    "description": "Yaw unceratainty"
                },
                {
                    "name": "PU",
                    "units": "deg",
                    "type": "float",
                    "description": "Pitch uncertainty"
                },
                {
                    "name": "RU",
                    "units": "deg",
                    "type": "float",
                    "description": "Roll uncertainty"
                }
            ]
        },
        {
            "name": "VNIM",
            "description": "VectorNav IMU data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Temp",
                    "units": "deg",
                    "type": "float",
                    "description": "Temprature"
                },
                {
                    "name": "Pres",
                    "units": "Pa",
                    "type": "float",
                    "description": "Pressure"
                },
                {
                    "name": "MX",
                    "units": "Gauss",
                    "type": "float",
                    "description": "Magnetic feild X-axis"
                },
                {
                    "name": "MY",
                    "units": "Gauss",
                    "type": "float",
                    "description": "Magnetic feild Y-axis"
                },
                {
                    "name": "MZ",
                    "units": "Gauss",
                    "type": "float",
                    "description": "Magnetic feild Z-axis"
                },
                {
                    "name": "AX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration X-axis"
                },
                {
                    "name": "AY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration Y-axis"
                },
                {
                    "name": "AZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Acceleration Z-axis"
                },
                {
                    "name": "GX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Rotation rate X-axis"
                },
                {
                    "name": "GY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Rotation rate Y-axis"
                },
                {
                    "name": "GZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "Rotation rate Z-axis"
                }
            ]
        },
        {
            "name": "VNKF",
            "description": "VectorNav INS Kalman Filter data",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "InsStatus",
                    "units": "",
                    "type": "uint16_t",
                    "description": "VectorNav INS health status"
                },
                {
                    "name": "Lat",
                    "units": "deg",
                    "type": "double",
                    "description": "Latitude"
                },
                {
                    "name": "Lon",
                    "units": "deg",
                    "type": "double",
                    "description": "Longitude"
                },
                {
                    "name": "Alt",
                    "units": "m",
                    "type": "double",
                    "description": "Altitude"
                },
                {
                    "name": "VelN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Northing"
                },
                {
                    "name": "VelE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Easting"
                },
                {
                    "name": "VelD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Velocity Downing"
                },
                {
                    "name": "PosU",
                    "units": "deg",
                    "type": "float",
                    "description": "Filter estimated position uncertainty"
                },
                {
                    "name": "VelU",
                    "units": "m/s",
                    "type": "float",
                    "description": "Filter estimated Velocity uncertainty"
                }
            ]
        },
        {
            "name": "VSTB",
            "description": "Log message for video stabilisation software such as Gyroflow",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "GyrX",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about X axis"
                },
                {
                    "name": "GyrY",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Y axis"
                },
                {
                    "name": "GyrZ",
                    "units": "rad/s",
                    "type": "float",
                    "description": "measured rotation rate about Z axis"
                },
                {
                    "name": "AccX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along X axis"
                },
                {
                    "name": "AccY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Y axis"
                },
                {
                    "name": "AccZ",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "acceleration along Z axis"
                },
                {
                    "name": "Q1",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 1"
                },
                {
                    "name": "Q2",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 2"
                },
                {
                    "name": "Q3",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 3"
                },
                {
                    "name": "Q4",
                    "units": "",
                    "type": "float",
                    "description": "Estimated attitude quaternion component 4"
                }
            ]
        },
        {
            "name": "WDOG",
            "description": "Watchdog diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Tsk",
                    "units": "",
                    "type": "int8_t",
                    "description": "current task number"
                },
                {
                    "name": "IE",
                    "units": "",
                    "type": "uint32_t",
                    "description": "internal error mast"
                },
                {
                    "name": "IEC",
                    "units": "",
                    "type": "uint16_t",
                    "description": "internal error count"
                },
                {
                    "name": "IEL",
                    "units": "",
                    "type": "uint16_t",
                    "description": "line internal error was raised on"
                },
                {
                    "name": "MvMsg",
                    "units": "",
                    "type": "uint16_t",
                    "description": "mavlink message being acted on"
                },
                {
                    "name": "MvCmd",
                    "units": "",
                    "type": "uint16_t",
                    "description": "mavlink command being acted on"
                },
                {
                    "name": "SmLn",
                    "units": "",
                    "type": "uint16_t",
                    "description": "line semaphore was taken on"
                },
                {
                    "name": "FL",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fault_line"
                },
                {
                    "name": "FT",
                    "units": "",
                    "type": "uint16_t",
                    "description": "fault_type"
                },
                {
                    "name": "FA",
                    "units": "",
                    "type": "uint32_t",
                    "description": "fault address"
                },
                {
                    "name": "FP",
                    "units": "",
                    "type": "uint8_t",
                    "description": "fault thread priority"
                },
                {
                    "name": "ICSR",
                    "units": "",
                    "type": "uint32_t",
                    "description": "ICS regiuster"
                },
                {
                    "name": "LR",
                    "units": "",
                    "type": "uint32_t",
                    "description": "long return address"
                },
                {
                    "name": "TN",
                    "units": "",
                    "type": "char[4]",
                    "description": "Thread name"
                }
            ]
        },
        {
            "name": "WENC",
            "description": "Wheel encoder measurements",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Dist0",
                    "units": "m",
                    "type": "float",
                    "description": "First wheel distance travelled"
                },
                {
                    "name": "Qual0",
                    "units": "",
                    "type": "int8_t",
                    "description": "Quality measurement of Dist0"
                },
                {
                    "name": "Dist1",
                    "units": "m",
                    "type": "float",
                    "description": "Second wheel distance travelled"
                },
                {
                    "name": "Qual1",
                    "units": "",
                    "type": "int8_t",
                    "description": "Quality measurement of Dist1"
                }
            ]
        },
        {
            "name": "WINC",
            "description": "Winch",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "Heal",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Healthy"
                },
                {
                    "name": "ThEnd",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Reached end of thread"
                },
                {
                    "name": "Mov",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Motor is moving"
                },
                {
                    "name": "Clut",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Clutch is engaged (motor can move freely)"
                },
                {
                    "name": "Mode",
                    "units": "",
                    "type": "uint8_t",
                    "description": "0 is Relaxed, 1 is Position Control, 2 is Rate Control"
                },
                {
                    "name": "DLen",
                    "units": "m",
                    "type": "float",
                    "description": "Desired Length"
                },
                {
                    "name": "Len",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated Length"
                },
                {
                    "name": "DRate",
                    "units": "m/s",
                    "type": "float",
                    "description": "Desired Rate"
                },
                {
                    "name": "Tens",
                    "units": "UNKNOWN",
                    "type": "uint16_t",
                    "description": "Tension on line"
                },
                {
                    "name": "Vcc",
                    "units": "V",
                    "type": "float",
                    "description": "Voltage to Motor"
                },
                {
                    "name": "Temp",
                    "units": "degC",
                    "type": "int8_t",
                    "description": "Motor temperature"
                }
            ]
        },
        {
            "name": "WIND",
            "description": "Windvane readings",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "DrRaw",
                    "units": "deg",
                    "type": "float",
                    "description": "raw apparent wind direction direct from sensor, in body-frame"
                },
                {
                    "name": "DrApp",
                    "units": "deg",
                    "type": "float",
                    "description": "Apparent wind direction, in body-frame"
                },
                {
                    "name": "DrTru",
                    "units": "degheading",
                    "type": "float",
                    "description": "True wind direction"
                },
                {
                    "name": "SpdRaw",
                    "units": "m/s",
                    "type": "float",
                    "description": "raw wind speed direct from sensor"
                },
                {
                    "name": "SpdApp",
                    "units": "m/s",
                    "type": "float",
                    "description": "Apparent wind Speed"
                },
                {
                    "name": "SpdTru",
                    "units": "m/s",
                    "type": "float",
                    "description": "True wind speed"
                }
            ]
        },
        {
            "name": "XKF0",
            "description": "EKF3 beacon sensor diagnostics",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "ID",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Beacon sensor ID"
                },
                {
                    "name": "rng",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon range"
                },
                {
                    "name": "innov",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Beacon range innovation"
                },
                {
                    "name": "SIV",
                    "units": "",
                    "type": "uint16_t * 100",
                    "description": "sqrt of beacon range innovation variance"
                },
                {
                    "name": "TR",
                    "units": "",
                    "type": "uint16_t * 100",
                    "description": "Beacon range innovation consistency test ratio"
                },
                {
                    "name": "BPN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon north position"
                },
                {
                    "name": "BPE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon east position"
                },
                {
                    "name": "BPD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Beacon down position"
                },
                {
                    "name": "OFH",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "High estimate of vertical position offset of beacons rel to EKF origin"
                },
                {
                    "name": "OFL",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Low estimate of vertical position offset of beacons rel to EKF origin"
                },
                {
                    "name": "OFN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "North position of receiver rel to EKF origin"
                },
                {
                    "name": "OFE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "East position of receiver rel to EKF origin"
                },
                {
                    "name": "OFD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Down position of receiver rel to EKF origin"
                }
            ]
        },
        {
            "name": "XKF1",
            "description": "EKF3 estimator outputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "Roll",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated roll"
                },
                {
                    "name": "Pitch",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Estimated pitch"
                },
                {
                    "name": "Yaw",
                    "units": "degheading",
                    "type": "uint16_t * 100",
                    "description": "Estimated yaw"
                },
                {
                    "name": "VN",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (North component)"
                },
                {
                    "name": "VE",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (East component)"
                },
                {
                    "name": "VD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Estimated velocity (Down component)"
                },
                {
                    "name": "dPD",
                    "units": "m/s",
                    "type": "float",
                    "description": "Filtered derivative of vertical position (down)"
                },
                {
                    "name": "PN",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (North component)"
                },
                {
                    "name": "PE",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (East component)"
                },
                {
                    "name": "PD",
                    "units": "m",
                    "type": "float",
                    "description": "Estimated distance from origin (Down component)"
                },
                {
                    "name": "GX",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, X axis"
                },
                {
                    "name": "GY",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, Y axis"
                },
                {
                    "name": "GZ",
                    "units": "deg/s",
                    "type": "int16_t * 100",
                    "description": "Estimated gyro bias, Z axis"
                },
                {
                    "name": "OH",
                    "units": "m",
                    "type": "int32_t * 100",
                    "description": "Height of origin above WGS-84"
                }
            ]
        },
        {
            "name": "XKF2",
            "description": "EKF3 estimator secondary outputs",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "AX",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Estimated accelerometer X bias"
                },
                {
                    "name": "AY",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Estimated accelerometer Y bias"
                },
                {
                    "name": "AZ",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Estimated accelerometer Z bias"
                },
                {
                    "name": "VWN",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Estimated wind velocity (moving-to-North component)"
                },
                {
                    "name": "VWE",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Estimated wind velocity (moving-to-East component)"
                },
                {
                    "name": "MN",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (North component)"
                },
                {
                    "name": "ME",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (East component)"
                },
                {
                    "name": "MD",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (Down component)"
                },
                {
                    "name": "MX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body X-axis)"
                },
                {
                    "name": "MY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body Y-axis)"
                },
                {
                    "name": "MZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Magnetic field strength (body Z-axis)"
                },
                {
                    "name": "IDX",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Innovation in vehicle drag acceleration (X-axis component)"
                },
                {
                    "name": "IDY",
                    "units": "m/s/s",
                    "type": "float",
                    "description": "Innovation in vehicle drag acceleration (Y-axis component)"
                },
                {
                    "name": "IS",
                    "units": "rad",
                    "type": "float",
                    "description": "Innovation in vehicle sideslip"
                }
            ]
        },
        {
            "name": "XKF3",
            "description": "EKF3 innovations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "IVN",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (North component)"
                },
                {
                    "name": "IVE",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (East component)"
                },
                {
                    "name": "IVD",
                    "units": "m/s",
                    "type": "int16_t * 100",
                    "description": "Innovation in velocity (Down component)"
                },
                {
                    "name": "IPN",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (North component)"
                },
                {
                    "name": "IPE",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (East component)"
                },
                {
                    "name": "IPD",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Innovation in position (Down component)"
                },
                {
                    "name": "IMX",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (X-axis component)"
                },
                {
                    "name": "IMY",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (Y-axis component)"
                },
                {
                    "name": "IMZ",
                    "units": "mGauss",
                    "type": "int16_t",
                    "description": "Innovation in magnetic field strength (Z-axis component)"
                },
                {
                    "name": "IYAW",
                    "units": "deg",
                    "type": "int16_t * 100",
                    "description": "Innovation in vehicle yaw"
                },
                {
                    "name": "IVT",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Innovation in true-airspeed"
                },
                {
                    "name": "RErr",
                    "units": "",
                    "type": "float",
                    "description": "Accumulated relative error of this core with respect to active primary core"
                },
                {
                    "name": "ErSc",
                    "units": "",
                    "type": "float",
                    "description": "A consolidated error score where higher numbers are less healthy"
                }
            ]
        },
        {
            "name": "XKF4",
            "description": "EKF3 variances.  SV, SP, SH and SM are probably best described as 'Squared Innovation Test Ratios' where values <1 tells us the measurement was accepted and >1 tells us it was rejected. They represent the square of the (innovation / maximum allowed innovation) where the innovation is the difference between predicted and measured value and the maximum allowed innovation is determined from the uncertainty of the measurement, uncertainty of the prediction and scaled using the number of standard deviations set by the innovation gate parameter for that measurement, eg EK3_MAG_I_GATE, EK3_HGT_I_GATE, etc",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "SV",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the velocity variance"
                },
                {
                    "name": "SP",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the position variance"
                },
                {
                    "name": "SH",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the height variance"
                },
                {
                    "name": "SM",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Magnetic field variance"
                },
                {
                    "name": "SVT",
                    "units": "",
                    "type": "int16_t * 100",
                    "description": "Square root of the total airspeed variance"
                },
                {
                    "name": "errRP",
                    "units": "",
                    "type": "float",
                    "description": "Filtered error in roll/pitch estimate"
                },
                {
                    "name": "OFN",
                    "units": "m",
                    "type": "float",
                    "description": "Most recent position reset (North component)"
                },
                {
                    "name": "OFE",
                    "units": "m",
                    "type": "float",
                    "description": "Most recent position reset (East component)"
                },
                {
                    "name": "FS",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Filter fault status",
                    "bitmask": {
                        "name": "NavFilterFaultBit",
                        "entries": [
                            {
                                "name": "BAD_QUATERNION",
                                "value": 1,
                                "description": "0 - quaternion attitude estimate is NaN"
                            },
                            {
                                "name": "BAD_VELOCITY",
                                "value": 2,
                                "description": "1 - velocity estimate is NaN"
                            },
                            {
                                "name": "BAD_XMAG",
                                "value": 4,
                                "description": "2 - X magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_YMAG",
                                "value": 8,
                                "description": "3 - Y magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_ZMAG",
                                "value": 16,
                                "description": "4 - Z magnetometer measurement is bad"
                            },
                            {
                                "name": "BAD_AIRSPEED",
                                "value": 32,
                                "description": "5 - airspeed measurement is bad"
                            },
                            {
                                "name": "BAD_SIDESLIP",
                                "value": 64,
                                "description": "6 - synthetic sideslip measurement is bad"
                            },
                            {
                                "name": "NOT_INITIALISED",
                                "value": 128,
                                "description": "7 - filter states have not been initialised"
                            }
                        ]
                    }
                },
                {
                    "name": "TS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Filter timeout status bitmask (0:position measurement, 1:velocity measurement, 2:height measurement, 3:magnetometer measurement, 4:airspeed measurement, 5:drag measurement)"
                },
                {
                    "name": "SS",
                    "units": "",
                    "type": "uint32_t",
                    "description": "Filter solution status",
                    "bitmask": {
                        "name": "NavFilterStatusBit",
                        "entries": [
                            {
                                "name": "ATTITUDE_VALID",
                                "value": 1,
                                "description": "attitude estimate valid"
                            },
                            {
                                "name": "HORIZ_VEL",
                                "value": 2,
                                "description": "horizontal velocity estimate valid"
                            },
                            {
                                "name": "VERT_VEL",
                                "value": 4,
                                "description": "vertical velocity estimate valid"
                            },
                            {
                                "name": "HORIZ_POS_REL",
                                "value": 8,
                                "description": "relative horizontal position estimate valid"
                            },
                            {
                                "name": "HORIZ_POS_ABS",
                                "value": 16,
                                "description": "absolute horizontal position estimate valid"
                            },
                            {
                                "name": "VERT_POS",
                                "value": 32,
                                "description": "vertical position estimate valid"
                            },
                            {
                                "name": "TERRAIN_ALT",
                                "value": 64,
                                "description": "terrain height estimate valid"
                            },
                            {
                                "name": "CONST_POS_MODE",
                                "value": 128,
                                "description": "in constant position mode"
                            },
                            {
                                "name": "PRED_HORIZ_POS_REL",
                                "value": 256,
                                "description": "expected good relative horizontal position estimate - used before takeoff"
                            },
                            {
                                "name": "PRED_HORIZ_POS_ABS",
                                "value": 512,
                                "description": "expected good absolute horizontal position estimate - used before takeoff"
                            },
                            {
                                "name": "TAKEOFF_DETECTED",
                                "value": 1024,
                                "description": "optical flow takeoff has been detected"
                            },
                            {
                                "name": "TAKEOFF_EXPECTED",
                                "value": 2048,
                                "description": "compensating for baro errors during takeoff"
                            },
                            {
                                "name": "TOUCHDOWN_EXPECTED",
                                "value": 4096,
                                "description": "compensating for baro errors during touchdown"
                            },
                            {
                                "name": "USING_GPS",
                                "value": 8192,
                                "description": "using GPS position"
                            },
                            {
                                "name": "GPS_GLITCHING",
                                "value": 16384,
                                "description": "GPS glitching is affecting navigation accuracy"
                            },
                            {
                                "name": "GPS_QUALITY_GOOD",
                                "value": 32768,
                                "description": "can use GPS for navigation"
                            },
                            {
                                "name": "INITALIZED",
                                "value": 65536,
                                "description": "has ever been healthy"
                            },
                            {
                                "name": "REJECTING_AIRSPEED",
                                "value": 131072,
                                "description": "rejecting airspeed data"
                            },
                            {
                                "name": "DEAD_RECKONING",
                                "value": 262144,
                                "description": "dead reckoning (e.g. no position or velocity source)"
                            }
                        ]
                    }
                },
                {
                    "name": "GPS",
                    "units": "",
                    "type": "uint16_t",
                    "description": "Filter GPS status"
                },
                {
                    "name": "PI",
                    "units": "",
                    "type": "int8_t",
                    "description": "Primary core index"
                }
            ]
        },
        {
            "name": "XKF5",
            "description": "EKF3 Sensor innovations (primary core) and general dumping ground",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "NI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Normalised flow variance"
                },
                {
                    "name": "FIX",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate vector innovations from the main nav filter (X-axis)"
                },
                {
                    "name": "FIY",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate vector innovations from the main nav filter (Y-axis)"
                },
                {
                    "name": "AFI",
                    "units": "",
                    "type": "int16_t",
                    "description": "Optical flow LOS rate innovation from terrain offset estimator"
                },
                {
                    "name": "HAGL",
                    "units": "m",
                    "type": "int16_t * 100",
                    "description": "Height above ground level"
                },
                {
                    "name": "TOfs",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Estimated vertical position of the terrain relative to the nav filter zero datum"
                },
                {
                    "name": "RI",
                    "units": "UNKNOWN",
                    "type": "int16_t * 100",
                    "description": "Range finder innovations"
                },
                {
                    "name": "rng",
                    "units": "UNKNOWN",
                    "type": "uint16_t * 100",
                    "description": "Measured range"
                },
                {
                    "name": "Herr",
                    "units": "m",
                    "type": "uint16_t * 100",
                    "description": "Filter ground offset state error"
                },
                {
                    "name": "eAng",
                    "units": "rad",
                    "type": "float",
                    "description": "Magnitude of angular error"
                },
                {
                    "name": "eVel",
                    "units": "m/s",
                    "type": "float",
                    "description": "Magnitude of velocity error"
                },
                {
                    "name": "ePos",
                    "units": "m",
                    "type": "float",
                    "description": "Magnitude of position error"
                },
                {
                    "name": "BOf",
                    "units": "m",
                    "type": "float",
                    "description": "Barometer offset subtracted from raw baro measurement when fusing baro height"
                }
            ]
        },
        {
            "name": "XKFA",
            "description": "EKF3 AGL Kalman Filter state (optionally used in Optical Flow scaling)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "HAgl",
                    "units": "m",
                    "type": "float",
                    "description": "AGL height estimate"
                },
                {
                    "name": "VAgl",
                    "units": "m/s",
                    "type": "float",
                    "description": "AGL velocity estimate"
                },
                {
                    "name": "HAglStd",
                    "units": "m",
                    "type": "float",
                    "description": "Std-dev of AGL height estimate"
                },
                {
                    "name": "VAglStd",
                    "units": "m/s",
                    "type": "float",
                    "description": "Std-dev of AGL velocity estimate"
                },
                {
                    "name": "Valid",
                    "units": "",
                    "type": "uint8_t",
                    "description": "1 when rangefinder has been fused within the last 5s"
                }
            ]
        },
        {
            "name": "XKFD",
            "description": "EKF3 Body Frame Odometry errors",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "IX",
                    "units": "",
                    "type": "float",
                    "description": "Innovation in velocity (X-axis)"
                },
                {
                    "name": "IY",
                    "units": "",
                    "type": "float",
                    "description": "Innovation in velocity (Y-axis)"
                },
                {
                    "name": "IZ",
                    "units": "",
                    "type": "float",
                    "description": "Innovation in velocity (Z-axis)"
                },
                {
                    "name": "IVX",
                    "units": "",
                    "type": "float",
                    "description": "Variance in velocity (X-axis)"
                },
                {
                    "name": "IVY",
                    "units": "",
                    "type": "float",
                    "description": "Variance in velocity (Y-axis)"
                },
                {
                    "name": "IVZ",
                    "units": "",
                    "type": "float",
                    "description": "Variance in velocity (Z-axis)"
                }
            ]
        },
        {
            "name": "XKFM",
            "description": "EKF3 diagnostic data for on-ground-and-not-moving check",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this message instance applies to"
                },
                {
                    "name": "OGNM",
                    "units": "",
                    "type": "uint8_t",
                    "description": "True of on ground and not moving"
                },
                {
                    "name": "GLR",
                    "units": "",
                    "type": "float",
                    "description": "Gyroscope length ratio"
                },
                {
                    "name": "ALR",
                    "units": "",
                    "type": "float",
                    "description": "Accelerometer length ratio"
                },
                {
                    "name": "GDR",
                    "units": "",
                    "type": "float",
                    "description": "Gyroscope rate of change ratio"
                },
                {
                    "name": "ADR",
                    "units": "",
                    "type": "float",
                    "description": "Accelerometer rate of change ratio"
                }
            ]
        },
        {
            "name": "XKFS",
            "description": "EKF3 sensor selection",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "MI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "compass selection index"
                },
                {
                    "name": "BI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "barometer selection index"
                },
                {
                    "name": "GI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GPS selection index"
                },
                {
                    "name": "AI",
                    "units": "",
                    "type": "uint8_t",
                    "description": "airspeed selection index"
                },
                {
                    "name": "SS",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Source Set (primary=0/secondary=1/tertiary=2)"
                },
                {
                    "name": "GPS_GTA",
                    "units": "",
                    "type": "uint8_t",
                    "description": "GPS good to align"
                },
                {
                    "name": "GPS_CHK_WAIT",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Waiting for GPS checks to pass"
                },
                {
                    "name": "MAG_FUSION",
                    "units": "",
                    "type": "uint8_t",
                    "description": "Magnetometer fusion (0=not fusing/1=fuse yaw/2=fuse mag/3=fuse mag with yaw anchored)"
                }
            ]
        },
        {
            "name": "XKQ",
            "description": "EKF3 quaternion defining the rotation from NED to XYZ (autopilot) axes",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "Q1",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "Quaternion a term"
                },
                {
                    "name": "Q2",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "Quaternion b term"
                },
                {
                    "name": "Q3",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "Quaternion c term"
                },
                {
                    "name": "Q4",
                    "units": "UNKNOWN",
                    "type": "float",
                    "description": "Quaternion d term"
                }
            ]
        },
        {
            "name": "XKT",
            "description": "EKF3 timing information",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this message instance applies to"
                },
                {
                    "name": "Cnt",
                    "units": "s",
                    "type": "uint32_t",
                    "description": "count of samples used to create this message"
                },
                {
                    "name": "IMUMin",
                    "units": "s",
                    "type": "float",
                    "description": "smallest IMU sample interval"
                },
                {
                    "name": "IMUMax",
                    "units": "s",
                    "type": "float",
                    "description": "largest IMU sample interval"
                },
                {
                    "name": "EKFMin",
                    "units": "s",
                    "type": "float",
                    "description": "low-passed achieved average time step rate for the EKF (minimum)"
                },
                {
                    "name": "EKFMax",
                    "units": "s",
                    "type": "float",
                    "description": "low-passed achieved average time step rate for the EKF (maximum)"
                },
                {
                    "name": "AngMin",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta angle (minimum)"
                },
                {
                    "name": "AngMax",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta angle (maximum)"
                },
                {
                    "name": "VMin",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta velocity (minimum)"
                },
                {
                    "name": "VMax",
                    "units": "s",
                    "type": "float",
                    "description": "accumulated measurement time interval for the delta velocity (maximum)"
                }
            ]
        },
        {
            "name": "XKTV",
            "description": "EKF3 Yaw Estimator States",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "TVS",
                    "units": "rad",
                    "type": "float",
                    "description": "Tilt Error Variance from symbolic equations (rad^2)"
                },
                {
                    "name": "TVD",
                    "units": "rad",
                    "type": "float",
                    "description": "Tilt Error Variance from difference method (rad^2)"
                }
            ]
        },
        {
            "name": "XKV1",
            "description": "EKF3 State variances (primary core)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "V00",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 0 (attitude quaternion)"
                },
                {
                    "name": "V01",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 1 (attitude quaternion)"
                },
                {
                    "name": "V02",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 2 (attitude quaternion)"
                },
                {
                    "name": "V03",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 3 (attitude quaternion)"
                },
                {
                    "name": "V04",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 4 (velocity-north)"
                },
                {
                    "name": "V05",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 5 (velocity-east)"
                },
                {
                    "name": "V06",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 6 (velocity-down)"
                },
                {
                    "name": "V07",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 7 (position-north)"
                },
                {
                    "name": "V08",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 8 (position-east)"
                },
                {
                    "name": "V09",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 9 (position-down)"
                },
                {
                    "name": "V10",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 10 (delta-angle-bias-x)"
                },
                {
                    "name": "V11",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 11 (delta-angle-bias-y)"
                }
            ]
        },
        {
            "name": "XKV2",
            "description": "more EKF3 State Variances (primary core)",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF3 core this data is for"
                },
                {
                    "name": "V12",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 12 (delta-angle-bias-z)"
                },
                {
                    "name": "V13",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 13 (delta-velocity-bias-x)"
                },
                {
                    "name": "V14",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 14 (delta-velocity-bias-y)"
                },
                {
                    "name": "V15",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 15 (delta-velocity-bias-z)"
                },
                {
                    "name": "V16",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 16 (Earth-frame mag-field-bias-x)"
                },
                {
                    "name": "V17",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 17 (Earth-frame mag-field-bias-y)"
                },
                {
                    "name": "V18",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 18 (Earth-frame mag-field-bias-z)"
                },
                {
                    "name": "V19",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 19 (body-frame mag-field-bias-x)"
                },
                {
                    "name": "V20",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 20 (body-frame mag-field-bias-y)"
                },
                {
                    "name": "V21",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 21 (body-frame mag-field-bias-z)"
                },
                {
                    "name": "V22",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 22 (wind-north)"
                },
                {
                    "name": "V23",
                    "units": "",
                    "type": "float",
                    "description": "Variance for state 23 (wind-east)"
                }
            ]
        },
        {
            "name": "XKY0",
            "description": "EKF Yaw Estimator States",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this data is for"
                },
                {
                    "name": "YC",
                    "units": "degheading",
                    "type": "float",
                    "description": "GSF yaw estimate (deg)"
                },
                {
                    "name": "YCS",
                    "units": "deg",
                    "type": "float",
                    "description": "GSF yaw estimate 1-Sigma uncertainty (deg)"
                },
                {
                    "name": "Y0",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 0 (deg)"
                },
                {
                    "name": "Y1",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 1 (deg)"
                },
                {
                    "name": "Y2",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 2 (deg)"
                },
                {
                    "name": "Y3",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 3 (deg)"
                },
                {
                    "name": "Y4",
                    "units": "degheading",
                    "type": "float",
                    "description": "Yaw estimate from individual EKF filter 4 (deg)"
                },
                {
                    "name": "W0",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 0"
                },
                {
                    "name": "W1",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 1"
                },
                {
                    "name": "W2",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 2"
                },
                {
                    "name": "W3",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 3"
                },
                {
                    "name": "W4",
                    "units": "",
                    "type": "float",
                    "description": "Weighting applied to yaw estimate from individual EKF filter 4"
                }
            ]
        },
        {
            "name": "XKY1",
            "description": "EKF Yaw Estimator Innovations",
            "fields": [
                {
                    "name": "TimeUS",
                    "units": "μs",
                    "type": "uint64_t",
                    "description": "Time since system startup"
                },
                {
                    "name": "C",
                    "units": "instance",
                    "type": "uint8_t",
                    "description": "EKF core this data is for"
                },
                {
                    "name": "IVN0",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 0 (m/s)"
                },
                {
                    "name": "IVN1",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 1 (m/s)"
                },
                {
                    "name": "IVN2",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 2 (m/s)"
                },
                {
                    "name": "IVN3",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 3 (m/s)"
                },
                {
                    "name": "IVN4",
                    "units": "m/s",
                    "type": "float",
                    "description": "North velocity innovation from individual EKF filter 4 (m/s)"
                },
                {
                    "name": "IVE0",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 0 (m/s)"
                },
                {
                    "name": "IVE1",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 1 (m/s)"
                },
                {
                    "name": "IVE2",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 2 (m/s)"
                },
                {
                    "name": "IVE3",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 3 (m/s)"
                },
                {
                    "name": "IVE4",
                    "units": "m/s",
                    "type": "float",
                    "description": "East velocity innovation from individual EKF filter 4 (m/s)"
                }
            ]
        }
    ]
}
