Skip to content

GnssStatisticsStrMsg

Gnss Statistics Str Msg

AM Type: 84

Source Code


Field Bits Type Unit Condition Mutator Description
ls_header Struct Always
├── uplink_version 4 UInt Always
├── node_id_high 4 Fragment Always
├── product_code 8 UInt Always
├── node_id 16 UInt Always
├── sequence_number 8 UInt Always
└── am_type 8 UInt Always
readTimestamp 32 TimestampField Always TimestampMutator
version 4 UInt Always
mode 1 Enum Always BASE (1), ROVER (0)
satellites Struct Always
├── inUse 6 UInt count Always
└── inView 6 UInt count Always
avgCorrectionsLength 10 UInt count Always
gpsFix Struct Always
├── timeToFix 8 UInt s Always
├── hasFixBeforeCorrections 1 Bool boolean Always NegateMutator
├── hasFix 1 Bool boolean Always NegateMutator
└── numSamplesNoFixDuringCorrections 4 UInt count Always
time Struct Always
├── dateUpdated 1 Bool boolean Always NegateMutator
└── deviation 12 Int s Always ScalingMutator(×1000)
corrections Struct Always
├── numPerSample 8 UInt count Always
└── timeToFirst 8 UInt s Always
carrierToNoise Struct Always
├── gps Struct Always
│   ├── L1 6 UInt dBHz Always
│   └── L2 6 UInt dBHz Always
├── galileo Struct Always
│   ├── E1 6 UInt dBHz Always
│   └── E5b 6 UInt dBHz Always
├── glonas Struct Always
│   ├── G1 6 UInt dBHz Always
│   └── G2 6 UInt dBHz Always
└── beidou Struct Always
    ├── B1 6 UInt dBHz Always
    └── B2 6 UInt dBHz Always
corrections Struct mode == ROVER
├── numCorrectionsApplied 6 UInt count mode == ROVER
├── unexpectedPackets 6 UInt count mode == ROVER
├── snr Struct mode == ROVER
│   ├── avg 9 Int dB mode == ROVER ScalingMutator(×10)
│   └── stdDev 8 UInt dB mode == ROVER ScalingMutator(×10)
└── rssi Struct mode == ROVER
    ├── avg 8 UInt dBm mode == ROVER MultiplierMutator(×-1)
    └── stdDev 8 UInt dBm mode == ROVER
timeToRTKFix 8 UInt s mode == ROVER
dilutionOfPrecision Struct mode == ROVER
├── horizontal 8 UInt count mode == ROVER ScalingMutator(×10)
└── vertical 8 UInt count mode == ROVER ScalingMutator(×10)
positionMAD Struct mode == ROVER
├── oneSample Struct mode == ROVER
│   ├── latLon 8 UInt mm mode == ROVER
│   └── altitude 8 UInt mm mode == ROVER
├── shortTermAgg Struct mode == ROVER
│   ├── latLon 8 UInt mm mode == ROVER
│   └── altitude 8 UInt mm mode == ROVER
└── longTermAgg Struct mode == ROVER
    ├── latLon 8 UInt mm mode == ROVER
    └── altitude 8 UInt mm mode == ROVER
Field Bits Type Unit Condition Mutator Description WF Address WF Name WF Unit Cloud DP Name
ls_header Struct Always
├── uplink_version 4 UInt Always
├── node_id_high 4 Fragment Always
├── product_code 8 UInt Always
├── node_id 16 UInt Always
├── sequence_number 8 UInt Always
└── am_type 8 UInt Always
readTimestamp 32 TimestampField Always TimestampMutator
version 4 UInt Always
mode 1 Enum Always BASE (1), ROVER (0)
satellites Struct Always
├── inUse 6 UInt count Always a:05:00:12 inUse count avg_satellites_in_use
└── inView 6 UInt count Always a:05:00:12 inView count avg_satellites_in_view
avgCorrectionsLength 10 UInt count Always a:05:00:13 length count avg_corrections_length
gpsFix Struct Always
├── timeToFix 8 UInt s Always a:05:00:10 timeToFix s time_to_gps_fix
├── hasFixBeforeCorrections 1 Bool boolean Always NegateMutator a:05:00:10 fixBeforeCorrections boolean has_fix_before_corrections
├── hasFix 1 Bool boolean Always NegateMutator a:05:00:10 hasFix boolean has_fix
└── numSamplesNoFixDuringCorrections 4 UInt count Always a:05:00:10 samplesNoFix count no_fix_correction_samples
time Struct Always
├── dateUpdated 1 Bool boolean Always NegateMutator a:05:00:11 updated boolean date_updated
└── deviation 12 Int s Always ScalingMutator(×1000) a:05:00:11 deviation s time_deviation
corrections Struct Always
├── numPerSample 8 UInt count Always a:05:00:13 numPerSample count corrections_per_sample
└── timeToFirst 8 UInt s Always a:05:00:13 timeToFirst s time_to_first_correction
carrierToNoise Struct Always
├── gps Struct Always
│   ├── L1 6 UInt dBHz Always a:05:00:14 cn0 dBHz avg_max_cn0_gps_l1
│   └── L2 6 UInt dBHz Always a:05:00:15 cn0 dBHz avg_max_cn0_gps_l2
├── galileo Struct Always
│   ├── E1 6 UInt dBHz Always a:05:00:16 cn0 dBHz avg_max_cn0_galileo_e1
│   └── E5b 6 UInt dBHz Always a:05:00:17 cn0 dBHz avg_max_cn0_galileo_e5b
├── glonas Struct Always
│   ├── G1 6 UInt dBHz Always a:05:00:18 cn0 dBHz avg_max_cn0_glonas_g1
│   └── G2 6 UInt dBHz Always a:05:00:19 cn0 dBHz avg_max_cn0_glonas_g2
└── beidou Struct Always
    ├── B1 6 UInt dBHz Always a:05:00:20 cn0 dBHz avg_max_cn0_beidou_b1
    └── B2 6 UInt dBHz Always a:05:00:21 cn0 dBHz avg_max_cn0_beidou_b2
corrections Struct mode == ROVER
├── numCorrectionsApplied 6 UInt count mode == ROVER a:05:00:13 applied count seconds_with_corrections
├── unexpectedPackets 6 UInt count mode == ROVER a:05:00:13 unexpectedPackets count unexpected_packets
├── snr Struct mode == ROVER
│   ├── avg 9 Int dB mode == ROVER ScalingMutator(×10) a:05:00:23 snrAvg dB avg_snr_corrections
│   └── stdDev 8 UInt dB mode == ROVER ScalingMutator(×10) a:05:00:23 snrStdDev dB std_dev_snr_corrections
└── rssi Struct mode == ROVER
    ├── avg 8 UInt dBm mode == ROVER MultiplierMutator(×-1) a:05:00:23 rssiAvg dBm avg_rssi_corrections
    └── stdDev 8 UInt dBm mode == ROVER a:05:00:23 rssiStdDev dBm std_dev_rssi_corrections
timeToRTKFix 8 UInt s mode == ROVER a:05:00:24 timeToFix s time_to_get_rtk_fix
dilutionOfPrecision Struct mode == ROVER
├── horizontal 8 UInt count mode == ROVER ScalingMutator(×10) a:05:00:22 horizontal count avg_horizontal_dop
└── vertical 8 UInt count mode == ROVER ScalingMutator(×10) a:05:00:22 vertical count avg_vertical_dop
positionMAD Struct mode == ROVER
├── oneSample Struct mode == ROVER
│   ├── latLon 8 UInt mm mode == ROVER a:05:00:25 latLon mm onesample_mad_lat_lon
│   └── altitude 8 UInt mm mode == ROVER a:05:00:25 alt mm onesample_mad_alt
├── shortTermAgg Struct mode == ROVER
│   ├── latLon 8 UInt mm mode == ROVER a:05:00:26 latLon mm short_term_agg_mad_lat_lon
│   └── altitude 8 UInt mm mode == ROVER a:05:00:26 alt mm short_term_agg_mad_alt
└── longTermAgg Struct mode == ROVER
    ├── latLon 8 UInt mm mode == ROVER a:05:00:27 latLon mm long_term_agg_mad_lat_lon
    └── altitude 8 UInt mm mode == ROVER a:05:00:27 alt mm long_term_agg_mad_alt

Worldsensing Format Sources

Address Manufacturer Type Model Status
a:05:00:10 Worldsensing GPSFix 0
a:05:00:11 Worldsensing Time 0
a:05:00:12 Worldsensing Satellites 0
a:05:00:13 Worldsensing Corrections 0
a:05:00:14 Worldsensing GPSL1 0
a:05:00:15 Worldsensing GPSL2 0
a:05:00:16 Worldsensing GalileoE1 0
a:05:00:17 Worldsensing GalileoE5b 0
a:05:00:18 Worldsensing GLONASSG1 0
a:05:00:19 Worldsensing GLONASSG2 0
a:05:00:20 Worldsensing BeiDouB1 0
a:05:00:21 Worldsensing BeiDouB2 0
a:05:00:22 Worldsensing DilutionOfPrecision 0
a:05:00:23 Worldsensing CorrectionsRadioInfo 0
a:05:00:24 Worldsensing RTK 0
a:05:00:25 Worldsensing PositionMAD1Sample 0
a:05:00:26 Worldsensing PositionMADShortAgg 0
a:05:00:27 Worldsensing PositionMADLongAgg 0

Example

base_stats_all_zeros_no_errors

Source: GnssStatsStrMessages.py

JSON Message

{
  "ls_header": {
    "uplink_version": {
      "value": "4",
      "raw": 4
    },
    "product_code": {
      "value": "89",
      "raw": 89
    },
    "node_id": {
      "value": "5",
      "raw": 5
    },
    "sequence_number": {
      "value": "0",
      "raw": 0
    },
    "am_type": {
      "value": "84",
      "raw": 84
    }
  },
  "readTimestamp": {
    "value": "1970-01-01T00:00:00Z",
    "raw": 0
  },
  "version": {
    "value": "0",
    "raw": 0
  },
  "mode": {
    "value": "BASE",
    "raw": 1
  },
  "satellites": {
    "inUse": {
      "value": "0",
      "unit": "count",
      "raw": 0
    },
    "inView": {
      "value": "0",
      "unit": "count",
      "raw": 0
    }
  },
  "avgCorrectionsLength": {
    "value": "0",
    "unit": "count",
    "raw": 0
  },
  "gpsFix": {
    "timeToFix": {
      "value": "0",
      "unit": "s",
      "raw": 0
    },
    "hasFixBeforeCorrections": {
      "value": true,
      "unit": "boolean",
      "raw": false
    },
    "hasFix": {
      "value": true,
      "unit": "boolean",
      "raw": false
    },
    "numSamplesNoFixDuringCorrections": {
      "value": "0",
      "unit": "count",
      "raw": 0
    }
  },
  "time": {
    "dateUpdated": {
      "value": true,
      "unit": "boolean",
      "raw": false
    },
    "deviation": {
      "value": "0",
      "unit": "s",
      "raw": 0
    }
  },
  "corrections": {
    "numPerSample": {
      "value": "0",
      "unit": "count",
      "raw": 0
    },
    "timeToFirst": {
      "value": "0",
      "unit": "s",
      "raw": 0
    }
  },
  "carrierToNoise": {
    "gps": {
      "L1": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      },
      "L2": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      }
    },
    "galileo": {
      "E1": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      },
      "E5b": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      }
    },
    "glonas": {
      "G1": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      },
      "G2": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      }
    },
    "beidou": {
      "B1": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      },
      "B2": {
        "value": "0",
        "unit": "dBHz",
        "raw": 0
      }
    }
  }
}

Encoded Bytes

40 59 00 05 00 54 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00