Asv.Gnss 2.5.1 Help

UBX X20 HPG 2.11

The X20 profile models the UBX interface in the official ZED-X20P X20 HPG 2.11 JSON, whose reported protocol version is 50.11. It contains 163 payload variants, 101 class/ID pairs across 11 UBX classes, and 826 configuration keys in 38 groups. The upstream JSON marks its message and configuration content as filtered for this receiver/firmware profile. This coverage does not assert support for every u-blox product or firmware release.

Sources: pinned official JSON, interface description, UBXDOC-304424225-21617 R01, and upstream usage notice. The source also describes NMEA, RTCM and SPARTN; the X20 registration below adds the UBX models. Other stream protocols keep their separate registrations.

Register the exact X20 profile

using Asv.Gnss; using Asv.IO; var protocol = Protocol.Create(builder => { builder.Protocols.RegisterUbxX20Protocol(); });

Register one UBX profile per protocol builder. RegisterUbxX20Protocol and RegisterUbxProtocol share UbxProtocol.Info; registering both does not create two independent UBX wire protocols. The X20 registration selects the generated UbxX20... models by payload length, discriminator fields and subtype.

The normal RegisterUbxProtocol preserves the existing concrete models for IDs already handled by its legacy factory and adds X20 decoding for new IDs. For example, a default NAV-PVT remains UbxNavPvt; choose the explicit X20 profile to receive UbxX20NavPvtData1 and its native fields. Custom legacy registrations also keep precedence for their IDs. See UBX for the legacy API.

The default parser keeps its 8192-byte complete-frame limit. The explicit X20 profile uses a bounded 65543-byte complete-frame buffer, allowing the UBX maximum payload of 65535 bytes plus eight framing/checksum bytes. Recognizing a new ID in the default profile does not increase its buffer limit.

Parse a complete frame

After creating protocol above, feed bytes to a parser or attach a router/port as shown in Quick Start. This independent frame contains UBX-NAV-EOE with iTOW = 1000 ms:

using R3; using var parser = protocol.CreateParser(UbxProtocol.Info.Id); using var subscription = parser.OnMessage.Subscribe(message => { if (message is UbxX20NavEoeData0 epoch) Console.WriteLine($"{epoch.Name}: {epoch.ITOW} ms"); }); byte[] frame = [ 0xB5, 0x62, 0x01, 0x61, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x51, 0x70, ]; foreach (var value in frame) parser.Push(value);

The parser checks framing, length and checksum, selects the payload variant and deserializes it before publishing. Subscribe to parser.OnError when the application needs diagnostics for damaged frames or unsupported variants. Registration does not configure receiver output or confirm command acceptance; use receiver acknowledgements and the applicable integration manual.

Create and serialize a specific variant

UbxX20Protocol.Messages exposes the full variant catalog, including message direction, concrete type and a constructor delegate. CreateMessage(id, variant) selects an exact documented variant for transmission or direct deserialization. The variant name is the source identifier, not necessarily a version-byte value: for example, CFG-VALGET DATA0 carries wire version 1.

var poll = UbxX20Protocol.CreateMessage(0x0A04, "POLL0"); byte[] bytes = new byte[poll.GetByteSize()]; Span<byte> destination = bytes; poll.Serialize(ref destination);

UbxX20MessageFactory.Create(id) creates its default model for that ID. Create(id, payload) only selects and constructs a model from payload length/version/subtype; it does not deserialize the payload, check its full structure, or verify a UBX checksum. A returned model still has its initial property values. Use the stream parser for complete received frames, or call a specific model's Deserialize with a complete UBX frame. Unsupported selector combinations return null; malformed selected payloads are rejected during deserialization.

Native values and visitors

Generated numeric properties retain their native wire scale. XML field documentation and visitor metadata record units and scale factors. For example, UbxX20NavPosllhData0.Lon = 123456789 represents longitude 12.3456789 degrees; Height = 1000 represents one metre because the native field is millimetres. No implicit conversion to the legacy models' convenience properties takes place.

All generated messages and nested records implement IVisitable. Accept visits each canonical wire field once, with native type metadata. Scalar and array-element edits use their backing storage by ref; a callback can observe the edited property immediately. Repeated traversal of initialized collections reuses storage; changing a variable array's length allocates replacement storage.

Convenience bit-field properties and ...Ascii views are aliases and are not visited separately. The canonical integer bit field or raw byte[] is the authoritative field. ASCII views stop at the first NUL and use ASCII decoding; the raw array retains padding, NUL bytes and bytes outside ASCII for exact serialization.

Counts represented by a separate scalar, such as RAWX NumMeas, are read-only properties derived from the corresponding array length. Their visitor metadata contains readOnly = true; attempting to edit a derived count through a visitor throws. Resize or replace the array to change the count. A count packed inside a bit field remains part of that canonical field: update its count alias and the array together. Serialization checks their consistency. Fixed arrays must keep their declared size; incomplete records, inconsistent counts, unsupported discriminators and trailing payload bytes are rejected.

Firmware restrictions still apply to exposed bit aliases. The NAV-STATUS fixStat.indoorDet and fixStat.selectiveL5 fields are documented only for protocol versions 52.00 and later, although they appear in the source for this 50.11 profile. Their accessors preserve the bits; their presence does not establish receiver support. Do not interpret them as supported features on 50.11 firmware.

Configuration keys and values

UbxX20ConfigurationCatalog exposes all source groups, key IDs, names, native types, scales, units, descriptions and named constants. Use TryGet(uint, out item) or the exact case-sensitive name, such as CFG-RATE-MEAS. UbxX20ConfigurationKeys provides named IDs. An empty named-constant value in the JSON is preserved as unspecified text; it is not silently converted to zero.

Use exact CLR native types for values. CFG-RATE-MEAS is a U2, so 1000 must be a ushort. Its source scale is 0.001 s, giving a one-second measurement period. The codec retains that raw value and does not apply the scale:

UbxX20ConfigurationValue[] values = [ new(UbxX20ConfigurationKeys.Rate.Meas, (ushort)1000), new(UbxX20ConfigurationKeys.Signal.GpsEna, true), ]; var set = new UbxX20CfgValsetData0 { Layers = (byte)UbxX20ConfigurationLayers.Ram, CfgData = UbxX20ConfigurationCodec.EncodeValues(values), }; var decoded = UbxX20ConfigurationCodec.DecodeValues(set.CfgData);

For a received UbxX20CfgValgetData0, pass its deserialized CfgData property to the same DecodeValues method.

Native type

CLR value

L

bool

U1, E1, X1

byte

U2, E2, X2

ushort

U4, E4, X4

uint

U8, X8

ulong

I1, I2, I4, I8

sbyte, short, int, long

R4, R8

float, double

Unknown concrete keys with valid size/group/item fields decode to raw byte[] values. Size alone cannot determine whether their contents are signed integers, floating-point values or bit fields. Reserved key fields, invalid storage sizes, incomplete key/value pairs and messages exceeding 64 entries are rejected. Accepted ranges, hardware support and cross-key dependencies remain receiver responsibilities.

EncodeKeys/DecodeKeys handle VALGET-poll and VALDEL key lists. These lists also accept documented wildcards: a valid group with item 0xffff, or group 0xfff in bits 16 through 27 to select all groups. Wildcard storage bits are not interpreted as value sizes; reserved bit 31 must remain clear. Use UbxX20ConfigurationKeys.Rate.All or UbxX20ConfigurationCodec.AllKeys for the canonical selectors. Wildcards cannot appear in key-value data.

CreateValSet, CreateValDelete, CreateValGetRequest and CreateValGetResponse return complete CFG-VAL payload bytes, including the four-byte configuration header, without UBX framing or checksum. For a generated message's CfgData property use EncodeValues, which returns only the key/value data. Assigning a complete helper payload to CfgData would duplicate its header.

byte[] pollPayload = UbxX20ConfigurationCodec.CreateValGetRequest( [UbxX20ConfigurationKeys.Rate.All], UbxX20ConfigurationLayer.Default, position: 0); byte[] transactionPayload = UbxX20ConfigurationCodec.CreateValSet( values, UbxX20ConfigurationLayers.Ram | UbxX20ConfigurationLayers.Bbr, UbxX20ConfigurationTransaction.Begin);

VALSET accepts RAM, BBR and Flash flags. VALDEL accepts BBR and Flash only. VALGET uses one numeric layer: RAM 0, BBR 1, Flash 2, Default 7; these values differ from write-layer flags. A null transaction selects VALSET/VALDEL version 0; an explicit action selects version 1, including None = 0. Empty entry lists allow transaction management. These helpers validate individual messages rather than track receiver transaction state. Keep the same layers across a transaction, follow its action sequence and handle receiver ACK/NAK responses. Read large wildcard results in pages using the VALGET position field.

Documented UBX variant catalog

The following table matches every UBX variant in the pinned source and UbxX20Protocol.Messages. Direction values are the unmodified manufacturer metadata; they are not runtime permissions. A row certifies a typed codec for that documented layout, not hardware verification or acceptance by another firmware version. Variable and optional groups are represented by their models; the table does not infer a single payload size for those layouts.

Class / ID

Message

Variant

C# model

Direction

0x05 / 0x01

UBX-ACK-ACK

DATA0

UbxX20AckAckData0

output

0x05 / 0x00

UBX-ACK-NAK

DATA0

UbxX20AckNakData0

output

0x06 / 0x09

UBX-CFG-CFG

DATA1

UbxX20CfgCfgData1

command

0x06 / 0x41

UBX-CFG-OTP

WRITEFILEJU_A4

UbxX20CfgOtpWritefilejuA4

set

0x06 / 0x04

UBX-CFG-RST

DATA3

UbxX20CfgRstData3

command

0x06 / 0x8C

UBX-CFG-VALDEL

DATA0

UbxX20CfgValdelData0

set

0x06 / 0x8C

UBX-CFG-VALDEL

DATA1

UbxX20CfgValdelData1

set

0x06 / 0x8B

UBX-CFG-VALGET

POLLID

UbxX20CfgValgetPollid

pollrequest

0x06 / 0x8B

UBX-CFG-VALGET

DATA0

UbxX20CfgValgetData0

polled

0x06 / 0x8A

UBX-CFG-VALSET

DATA0

UbxX20CfgValsetData0

set

0x06 / 0x8A

UBX-CFG-VALSET

DATA1

UbxX20CfgValsetData1

set

0x04 / 0x04

UBX-INF-DEBUG

DATA0

UbxX20InfDebugData0

output

0x04 / 0x00

UBX-INF-ERROR

DATA0

UbxX20InfErrorData0

output

0x04 / 0x02

UBX-INF-NOTICE

DATA0

UbxX20InfNoticeData0

output

0x04 / 0x03

UBX-INF-TEST

DATA0

UbxX20InfTestData0

output

0x04 / 0x01

UBX-INF-WARNING

DATA0

UbxX20InfWarningData0

output

0x13 / 0x60

UBX-MGA-ACK-DATA0

DATA0

UbxX20MgaAckData0

output

0x13 / 0x03

UBX-MGA-BDS-EPH

EPH

UbxX20MgaBdsEph

input

0x13 / 0x03

UBX-MGA-BDS-ALM

ALM

UbxX20MgaBdsAlm

input

0x13 / 0x03

UBX-MGA-BDS-HEALTH

HEALTH

UbxX20MgaBdsHealth

input

0x13 / 0x03

UBX-MGA-BDS-UTC

UTC

UbxX20MgaBdsUtc

input

0x13 / 0x03

UBX-MGA-BDS-IONO

IONO

UbxX20MgaBdsIono

input

0x13 / 0x80

UBX-MGA-DBD

POLL

UbxX20MgaDbdPoll

pollrequest

0x13 / 0x80

UBX-MGA-DBD

DATA0

UbxX20MgaDbdData0

input_output

0x13 / 0x02

UBX-MGA-GAL-EPH

EPH

UbxX20MgaGalEph

input

0x13 / 0x02

UBX-MGA-GAL-ALM

ALM

UbxX20MgaGalAlm

input

0x13 / 0x02

UBX-MGA-GAL-TIMEOFFSET

TIMEOFFSET

UbxX20MgaGalTimeoffset

input

0x13 / 0x02

UBX-MGA-GAL-UTC

UTC

UbxX20MgaGalUtc

input

0x13 / 0x02

UBX-MGA-GAL-OSNMA_PUBKEY

OSNMA_PUBKEY

UbxX20MgaGalOsnmaPubkey

input

0x13 / 0x02

UBX-MGA-GAL-OSNMA_MERKLE

OSNMA_MERKLE

UbxX20MgaGalOsnmaMerkle

input

0x13 / 0x06

UBX-MGA-GLO-EPH

EPH

UbxX20MgaGloEph

input

0x13 / 0x06

UBX-MGA-GLO-ALM

ALM

UbxX20MgaGloAlm

input

0x13 / 0x06

UBX-MGA-GLO-TIMEOFFSET

TIMEOFFSET

UbxX20MgaGloTimeoffset

input

0x13 / 0x00

UBX-MGA-GPS-EPH

EPH

UbxX20MgaGpsEph

input

0x13 / 0x00

UBX-MGA-GPS-ALM

ALM

UbxX20MgaGpsAlm

input

0x13 / 0x00

UBX-MGA-GPS-HEALTH

HEALTH

UbxX20MgaGpsHealth

input

0x13 / 0x00

UBX-MGA-GPS-UTC

UTC

UbxX20MgaGpsUtc

input

0x13 / 0x00

UBX-MGA-GPS-IONO

IONO

UbxX20MgaGpsIono

input

0x13 / 0x40

UBX-MGA-INI-POS_XYZ

POS_XYZ

UbxX20MgaIniPosXyz

input

0x13 / 0x40

UBX-MGA-INI-POS_LLH

POS_LLH

UbxX20MgaIniPosLlh

input

0x13 / 0x40

UBX-MGA-INI-TIME_UTC

TIME_UTC

UbxX20MgaIniTimeUtc

input

0x13 / 0x40

UBX-MGA-INI-TIME_GNSS

TIME_GNSS

UbxX20MgaIniTimeGnss

input

0x13 / 0x40

UBX-MGA-INI-CLKD

CLKD

UbxX20MgaIniClkd

input

0x13 / 0x40

UBX-MGA-INI-FREQ

FREQ

UbxX20MgaIniFreq

input

0x13 / 0x05

UBX-MGA-QZSS-EPH

EPH

UbxX20MgaQzssEph

input

0x13 / 0x05

UBX-MGA-QZSS-ALM

ALM

UbxX20MgaQzssAlm

input

0x13 / 0x05

UBX-MGA-QZSS-HEALTH

HEALTH

UbxX20MgaQzssHealth

input

0x0A / 0x36

UBX-MON-COMMS

POLL0

UbxX20MonCommsPoll0

other

0x0A / 0x36

UBX-MON-COMMS

DATA0

UbxX20MonCommsData0

periodic_polled

0x0A / 0x28

UBX-MON-GNSS

POLL0

UbxX20MonGnssPoll0

other

0x0A / 0x28

UBX-MON-GNSS

DATA1

UbxX20MonGnssData1

polled

0x0A / 0x37

UBX-MON-HW3

POLL0

UbxX20MonHw3Poll0

other

0x0A / 0x37

UBX-MON-HW3

DATA0

UbxX20MonHw3Data0

periodic_polled

0x0A / 0x27

UBX-MON-PATCH

POLL0

UbxX20MonPatchPoll0

pollrequest

0x0A / 0x27

UBX-MON-PATCH

DATA0

UbxX20MonPatchData0

polled

0x0A / 0x35

UBX-MON-PMP

DATA0

UbxX20MonPmpData0

periodic

0x0A / 0x3B

UBX-MON-POST

POLL0

UbxX20MonPostPoll0

other

0x0A / 0x3B

UBX-MON-POST

DATA0

UbxX20MonPostData0

polled

0x0A / 0x38

UBX-MON-RF

POLL0

UbxX20MonRfPoll0

other

0x0A / 0x38

UBX-MON-RF

DATA0

UbxX20MonRfData0

periodic_polled

0x0A / 0x21

UBX-MON-RXR

VER0

UbxX20MonRxrVer0

output

0x0A / 0x31

UBX-MON-SPAN

POLL0

UbxX20MonSpanPoll0

other

0x0A / 0x31

UBX-MON-SPAN

DATA0

UbxX20MonSpanData0

periodic_polled

0x0A / 0x39

UBX-MON-SYS

POLL0

UbxX20MonSysPoll0

other

0x0A / 0x39

UBX-MON-SYS

DATA0

UbxX20MonSysData0

periodic_polled

0x0A / 0x04

UBX-MON-VER

POLL0

UbxX20MonVerPoll0

pollrequest

0x0A / 0x04

UBX-MON-VER

DATA0

UbxX20MonVerData0

polled

0x01 / 0x22

UBX-NAV-CLOCK

DATA0

UbxX20NavClockData0

periodic_polled

0x01 / 0x36

UBX-NAV-COV

POLL0

UbxX20NavCovPoll0

other

0x01 / 0x36

UBX-NAV-COV

DATA0

UbxX20NavCovData0

periodic_polled

0x01 / 0x04

UBX-NAV-DOP

DATA0

UbxX20NavDopData0

periodic_polled

0x01 / 0x61

UBX-NAV-EOE

DATA0

UbxX20NavEoeData0

periodic

0x01 / 0x39

UBX-NAV-GEOFENCE

DATA0

UbxX20NavGeofenceData0

periodic_polled

0x01 / 0x13

UBX-NAV-HPPOSECEF

DATA0

UbxX20NavHpposecefData0

periodic_polled

0x01 / 0x14

UBX-NAV-HPPOSLLH

DATA0

UbxX20NavHpposllhData0

periodic_polled

0x01 / 0x34

UBX-NAV-ORB

DATA0

UbxX20NavOrbData0

periodic_polled

0x01 / 0x01

UBX-NAV-POSECEF

DATA0

UbxX20NavPosecefData0

periodic_polled

0x01 / 0x02

UBX-NAV-POSLLH

DATA0

UbxX20NavPosllhData0

periodic_polled

0x01 / 0x07

UBX-NAV-PVT

DATA1

UbxX20NavPvtData1

periodic_polled

0x01 / 0x3C

UBX-NAV-RELPOSNED

POLL0

UbxX20NavRelposnedPoll0

other

0x01 / 0x3C

UBX-NAV-RELPOSNED

DATA1

UbxX20NavRelposnedData1

periodic_polled

0x01 / 0x35

UBX-NAV-SAT

DATA0

UbxX20NavSatData0

periodic_polled

0x01 / 0x32

UBX-NAV-SBAS

DATA0

UbxX20NavSbasData0

periodic_polled

0x01 / 0x43

UBX-NAV-SIG

DATA0

UbxX20NavSigData0

periodic_polled

0x01 / 0x42

UBX-NAV-SLAS

DATA0

UbxX20NavSlasData0

periodic_polled

0x01 / 0x03

UBX-NAV-STATUS

DATA1

UbxX20NavStatusData1

periodic_polled

0x01 / 0x3B

UBX-NAV-SVIN

POLL0

UbxX20NavSvinPoll0

other

0x01 / 0x3B

UBX-NAV-SVIN

DATA0

UbxX20NavSvinData0

periodic_polled

0x01 / 0x24

UBX-NAV-TIMEBDS

DATA0

UbxX20NavTimebdsData0

periodic_polled

0x01 / 0x25

UBX-NAV-TIMEGAL

POLL0

UbxX20NavTimegalPoll0

other

0x01 / 0x25

UBX-NAV-TIMEGAL

DATA0

UbxX20NavTimegalData0

periodic_polled

0x01 / 0x23

UBX-NAV-TIMEGLO

POLL0

UbxX20NavTimegloPoll0

other

0x01 / 0x23

UBX-NAV-TIMEGLO

DATA0

UbxX20NavTimegloData0

periodic_polled

0x01 / 0x20

UBX-NAV-TIMEGPS

DATA0

UbxX20NavTimegpsData0

periodic_polled

0x01 / 0x26

UBX-NAV-TIMELS

DATA0

UbxX20NavTimelsData0

periodic_polled

0x01 / 0x63

UBX-NAV-TIMENAVIC

POLL0

UbxX20NavTimenavicPoll0

other

0x01 / 0x63

UBX-NAV-TIMENAVIC

DATA0

UbxX20NavTimenavicData0

periodic_polled

0x01 / 0x27

UBX-NAV-TIMEQZSS

POLL0

UbxX20NavTimeqzssPoll0

other

0x01 / 0x27

UBX-NAV-TIMEQZSS

DATA0

UbxX20NavTimeqzssData0

periodic_polled

0x01 / 0x64

UBX-NAV-TIMETRUSTED

DATA0

UbxX20NavTimetrustedData0

periodic_polled

0x01 / 0x21

UBX-NAV-TIMEUTC

DATA0

UbxX20NavTimeutcData0

periodic_polled

0x01 / 0x11

UBX-NAV-VELECEF

DATA0

UbxX20NavVelecefData0

periodic_polled

0x01 / 0x12

UBX-NAV-VELNED

DATA0

UbxX20NavVelnedData0

periodic_polled

0x29 / 0x22

UBX-NAV2-CLOCK

DATA0

UbxX20Nav2ClockData0

periodic_polled

0x29 / 0x36

UBX-NAV2-COV

POLL0

UbxX20Nav2CovPoll0

other

0x29 / 0x36

UBX-NAV2-COV

DATA0

UbxX20Nav2CovData0

periodic_polled

0x29 / 0x04

UBX-NAV2-DOP

DATA0

UbxX20Nav2DopData0

periodic_polled

0x29 / 0x61

UBX-NAV2-EOE

DATA0

UbxX20Nav2EoeData0

periodic

0x29 / 0x01

UBX-NAV2-POSECEF

DATA0

UbxX20Nav2PosecefData0

periodic_polled

0x29 / 0x02

UBX-NAV2-POSLLH

DATA0

UbxX20Nav2PosllhData0

periodic_polled

0x29 / 0x07

UBX-NAV2-PVT

DATA1

UbxX20Nav2PvtData1

periodic_polled

0x29 / 0x35

UBX-NAV2-SAT

DATA0

UbxX20Nav2SatData0

periodic_polled

0x29 / 0x32

UBX-NAV2-SBAS

DATA0

UbxX20Nav2SbasData0

periodic_polled

0x29 / 0x43

UBX-NAV2-SIG

DATA0

UbxX20Nav2SigData0

periodic_polled

0x29 / 0x42

UBX-NAV2-SLAS

DATA0

UbxX20Nav2SlasData0

periodic_polled

0x29 / 0x03

UBX-NAV2-STATUS

DATA1

UbxX20Nav2StatusData1

periodic_polled

0x29 / 0x3B

UBX-NAV2-SVIN

POLL0

UbxX20Nav2SvinPoll0

other

0x29 / 0x3B

UBX-NAV2-SVIN

DATA0

UbxX20Nav2SvinData0

periodic_polled

0x29 / 0x24

UBX-NAV2-TIMEBDS

DATA0

UbxX20Nav2TimebdsData0

periodic_polled

0x29 / 0x25

UBX-NAV2-TIMEGAL

POLL0

UbxX20Nav2TimegalPoll0

other

0x29 / 0x25

UBX-NAV2-TIMEGAL

DATA0

UbxX20Nav2TimegalData0

periodic_polled

0x29 / 0x23

UBX-NAV2-TIMEGLO

POLL0

UbxX20Nav2TimegloPoll0

other

0x29 / 0x23

UBX-NAV2-TIMEGLO

DATA0

UbxX20Nav2TimegloData0

periodic_polled

0x29 / 0x20

UBX-NAV2-TIMEGPS

DATA0

UbxX20Nav2TimegpsData0

periodic_polled

0x29 / 0x26

UBX-NAV2-TIMELS

POLL0

UbxX20Nav2TimelsPoll0

other

0x29 / 0x26

UBX-NAV2-TIMELS

DATA0

UbxX20Nav2TimelsData0

periodic_polled

0x29 / 0x63

UBX-NAV2-TIMENAVIC

POLL0

UbxX20Nav2TimenavicPoll0

other

0x29 / 0x63

UBX-NAV2-TIMENAVIC

DATA0

UbxX20Nav2TimenavicData0

periodic_polled

0x29 / 0x27

UBX-NAV2-TIMEQZSS

POLL0

UbxX20Nav2TimeqzssPoll0

other

0x29 / 0x27

UBX-NAV2-TIMEQZSS

DATA0

UbxX20Nav2TimeqzssData0

periodic_polled

0x29 / 0x21

UBX-NAV2-TIMEUTC

DATA0

UbxX20Nav2TimeutcData0

periodic_polled

0x29 / 0x11

UBX-NAV2-VELECEF

DATA0

UbxX20Nav2VelecefData0

periodic_polled

0x29 / 0x12

UBX-NAV2-VELNED

DATA0

UbxX20Nav2VelnedData0

periodic_polled

0x02 / 0x34

UBX-RXM-COR

DATA0

UbxX20RxmCorData0

output

0x02 / 0x14

UBX-RXM-MEASX

POLL0

UbxX20RxmMeasxPoll0

other

0x02 / 0x14

UBX-RXM-MEASX

DATA1

UbxX20RxmMeasxData1

periodic_polled

0x02 / 0x72

UBX-RXM-PMP

DATA2

UbxX20RxmPmpData2

input_output

0x02 / 0x41

UBX-RXM-PMREQ

0

UbxX20RxmPmreq0

command

0x02 / 0x41

UBX-RXM-PMREQ

1

UbxX20RxmPmreq1

command

0x02 / 0x73

UBX-RXM-QZSSL6

DATA2

UbxX20RxmQzssl6Data2

input

0x02 / 0x15

UBX-RXM-RAWX

DATA1

UbxX20RxmRawxData1

periodic_polled

0x02 / 0x59

UBX-RXM-RLM

SHORT

UbxX20RxmRlmShort

output

0x02 / 0x59

UBX-RXM-RLM

LONG

UbxX20RxmRlmLong

output

0x02 / 0x13

UBX-RXM-SFRBX

POLL0

UbxX20RxmSfrbxPoll0

other

0x02 / 0x13

UBX-RXM-SFRBX

DATA2

UbxX20RxmSfrbxData2

output

0x02 / 0x36

UBX-RXM-SPARTNKEY

POLL0

UbxX20RxmSpartnkeyPoll0

pollrequest

0x02 / 0x36

UBX-RXM-SPARTNKEY

DATA0

UbxX20RxmSpartnkeyData0

input_output

0x27 / 0x0A

UBX-SEC-OSNMA

DATA2

UbxX20SecOsnmaData2

periodic_polled

0x27 / 0x09

UBX-SEC-SIG

POLL0

UbxX20SecSigPoll0

other

0x27 / 0x09

UBX-SEC-SIG

DATA1

UbxX20SecSigData1

periodic_polled

0x27 / 0x09

UBX-SEC-SIG

DATA2

UbxX20SecSigData2

periodic_polled

0x27 / 0x10

UBX-SEC-SIGLOG

POLL0

UbxX20SecSiglogPoll0

other

0x27 / 0x10

UBX-SEC-SIGLOG

DATA1

UbxX20SecSiglogData1

periodic_polled

0x27 / 0x03

UBX-SEC-UNIQID

POLL0

UbxX20SecUniqidPoll0

other

0x27 / 0x03

UBX-SEC-UNIQID

DATA1

UbxX20SecUniqidData1

output

0x0D / 0x03

UBX-TIM-TM2

DATA1

UbxX20TimTm2Data1

periodic_polled

0x0D / 0x01

UBX-TIM-TP

DATA0

UbxX20TimTpData0

periodic_polled

0x0D / 0x06

UBX-TIM-VRFY

DATA1

UbxX20TimVrfyData1

periodic_polled

0x09 / 0x14

UBX-UPD-SOS

POLL0

UbxX20UpdSosPoll0

pollrequest

0x09 / 0x14

UBX-UPD-SOS

BACKUP

UbxX20UpdSosBackup

command

0x09 / 0x14

UBX-UPD-SOS

CLEAR

UbxX20UpdSosClear

command

0x09 / 0x14

UBX-UPD-SOS

ACK

UbxX20UpdSosAck

output

0x09 / 0x14

UBX-UPD-SOS

RESTORED

UbxX20UpdSosRestored

output

22 October 2026