15: Position
When setting up of changing a SUBSCRIpition, particularly intervals <= 1000, the GNSS module may need to reboot to apply the changes, and it may take time to get a fix.
Header
| Field | Name | Description | Type |
|---|---|---|---|
| 5 | Method | Request a service to be perform an action Possible values:
| uint8 |
Payload
| Field | Name | Description | Type | Unit |
|---|---|---|---|---|
| 1 | Timestamp | Timestamp of when the position was taken May be invalid if the GPS has not locked in yet (when type is 'invalid') | uint64 | ms since epoch |
| 2 | Latitude | int32 | × 1e7 = degree | |
| 3 | Longitude | int32 | × 1e7 = degree | |
| 4 | Altitude | Altitude | int32 | × 1e3 = meter |
| 5 | Accuracy | Accuracy | uint16 | cm × 1e2 = meter |
| 6 | Course | Course over ground | uint16 | × 1e2 = degree |
| 7 | Speed | Speed | uint16 | × 1e2 = km/h |
| 8 | Satellites | uint8 | count | |
| 9 | CN0 | Average CN0. Carrier to noise density. Higher is better. | uint8 | dB-Hz |
| 10 | Type | Position type Possible values:
| uint8 | |
| 11 | Source | Position source Possible values:
| uint8 | |
| 12 | Correction Age | Age of the correction data (RTK or DGNSS) from NMEA GGA sentence | uint8 | × 10 = seconds |
| 98 | Send Reason | Send reason code for this position. | uint8 |
Examples
RTK fix position (1cm accuracy)
Protocol
3
3
Length
820
82 bytes
Type
150
15 (Position)
Header Count
20
2
Header Types
21
2, 1
Client ID
87310218300000
12019273
Message ID
4101200
613
Payload Count
120
12
Payload Types
123456789101112
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Timestamp
81604936171153100
2025-10-03 17:35:00.000 UTC
Latitude
4184374522
37.2057528 Unit: degree
Longitude
410112695183
-121.8478491 Unit: degree
Altitude
419610310
92.1 Unit: meter
Accuracy
210
0.01 Unit: meter
Course
215258
150.0 Unit: degree
Speed
200
0.0 Unit: km/h
Satellites
158
58 Unit: count
CN0
143
43 Unit: dB-Hz
Type
15
5 (rtk-fix)
Source
11
1 (rtk)
Correction Age
120
2.0 Unit: seconds
Checksum
19351
13249
📡 Real example from RV1 P1 v2287 on 2025-10-03This example is captured from an RV1 device as part of normal communications with the cloud, somewhere in California.
Subscription request
Protocol
3
3
Length
260
26 bytes
Type
150
15 (Position)
Header Count
40
4
Header Types
517615
5, 17, 6, 15
Method
13
3 (SUBSCRIBE)
Subscription ID
10
0
Interval
4232300
1000 Unit: ms
Storage Level
120
20 (NVM)
Payload Count
00
0
Checksum
217251
64473
📡 Real example from Lightbug cloud forwarding system on 2025-10-24This is a real message recorded from the lightbug cloud forwarding system, sent to an RH2 device
Code
For convenience, the following constants can be used to reference this message type.