GPS/GNSS receiver binary protocol. class+id sit between the sync pattern and the length field -- before the length-counted region, unlike MAVLink's after.
Physical UART Transport (4800 bps, 8N1.0)
Send command CFG-PRT-Poll (ID: 0x06)
Poll vs SetBaud share identical class/id, so they don't disambiguate by value at all -- this schema's dispatch algorithm correctly falls back to resolved length instead (0 payload bytes here vs SetBaud's fixed 12), which is genuinely unambiguous, so no role=discriminator is needed on class/id.
Available only on servers:
Accepts the following message:
Poll vs SetBaud share identical class/id, so they don't disambiguate by value at all -- this schema's dispatch algorithm correctly falls back to resolved length instead (0 payload bytes here vs SetBaud's fixed 12), which is genuinely unambiguous, so no role=discriminator is needed on class/id.
{
"command_id": 6,
"class": 6,
"id": 0
}
Send command CFG-PRT-SetBaud (ID: 0x06)
Same class=0x06, id=0x00 as CFG-PRT-Poll, but with a payload requesting a new port baud rate. The module's own ack is sent at the OLD rate; the host must reconfigure its own UART to the new rate immediately afterwards, per baudRateNegotiation.
Available only on servers:
Accepts the following message:
Same class=0x06, id=0x00 as CFG-PRT-Poll, but with a payload requesting a new port baud rate. The module's own ack is sent at the OLD rate; the host must reconfigure its own UART to the new rate immediately afterwards, per baudRateNegotiation.
{
"command_id": 6,
"class": 6,
"id": 0,
"portId": 0,
"reserved": "string",
"mode": 0,
"baudRate": 0
}
Send command NAV-POSLLH (ID: 0x01)
Geodetic Position Solution returning latitude, longitude, and height above ellipsoid/MSL.
Available only on servers:
Accepts the following message:
Geodetic Position Solution returning latitude, longitude, and height above ellipsoid/MSL.
{
"command_id": 1,
"class": 1,
"id": 2,
"iTOW": 0,
"lon": 0,
"lat": 0,
"height": 0,
"hMSL": 0,
"hAcc": 0,
"vAcc": 0
}
Send command NAV-PVT (ID: 0x01)
Navigation Position Velocity Time Solution returning fix status, time accuracy, and 3D velocity.
Available only on servers:
Accepts the following message:
Navigation Position Velocity Time Solution returning fix status, time accuracy, and 3D velocity.
{
"command_id": 1,
"class": 1,
"id": 7,
"iTOW": 0,
"year": 0,
"month": 0,
"day": 0,
"hour": 0,
"min": 0,
"sec": 0,
"valid": 0,
"tAcc": 0,
"fixType": 0,
"numSV": 0,
"gSpeed": 0,
"heading": 0
}
Send command MON-VER (ID: 0x0A)
Receiver Software and Hardware Version Poll.
Available only on servers:
Accepts the following message:
Receiver Software and Hardware Version Poll.
{
"command_id": 10,
"class": 10,
"id": 4
}
Send command NAV-STATUS (ID: 0x01)
Receiver Navigation Status Poll.
Available only on servers:
Accepts the following message:
Receiver Navigation Status Poll.
{
"command_id": 1,
"class": 1,
"id": 3
}
Poll vs SetBaud share identical class/id, so they don't disambiguate by value at all -- this schema's dispatch algorithm correctly falls back to resolved length instead (0 payload bytes here vs SetBaud's fixed 12), which is genuinely unambiguous, so no role=discriminator is needed on class/id.
Same class=0x06, id=0x00 as CFG-PRT-Poll, but with a payload requesting a new port baud rate. The module's own ack is sent at the OLD rate; the host must reconfigure its own UART to the new rate immediately afterwards, per baudRateNegotiation.
Geodetic Position Solution returning latitude, longitude, and height above ellipsoid/MSL.
Navigation Position Velocity Time Solution returning fix status, time accuracy, and 3D velocity.
Receiver Software and Hardware Version Poll.
Receiver Navigation Status Poll.