-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathneo_m8_messages.h
133 lines (116 loc) · 5.35 KB
/
neo_m8_messages.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
* neo_m8_messages.h
*
* Created on: Jul 17, 2018
* Author: alexis
*/
#ifndef NEO_M8_MESSAGES_H_
#define NEO_M8_MESSAGES_H_
/* See page 134 of document UBX-13003221 - R15 for more precisions */
/*
* • Every Frame starts with a 2-byte Preamble consisting of two synchronization characters: 0xB5 0x62.
* • A 1-byte Message Class field follows. A Class is a group of messages that are related to each other.
* • A 1-byte Message ID field defines the message that is to follow.
* • A 2-byte Length field follows. The length is defined as being that of the payload only. It does not include
* the Preamble, Message Class, Message ID, Length, or CRC fields. The number format of the length field is a
* Little-Endian unsigned 16-bit integer.
* • The Payload field contains a variable number of bytes.
* • The two 1-byte CK_A and CK_B fields hold a 16-bit checksum whose calculation is defined below. This
* concludes the Frame.
*/
#define UBX_SYNC_CHAR1 0xB5
#define UBX_SYNC_CHAR2 0x62
/* UBX Class IDs */
/* See UBX-13003221 - R15 Early Production Information, Page 137 of 386 for details */
#define UBX_MSG_CLASS_ACK 0x05 /* Ack/Nak Messages: Acknowledge or Reject messages to CFG input messages */
#define UBX_MSG_CLASS_AID 0x0B /* AssistNow Aiding Messages: Ephemeris, Almanac, other A-GPS data input */
#define UBX_MSG_CLASS_CFG 0x06 /* Configuration Input Messages: Set Dynamic Model, Set DOP Mask, Set Baud Rate, etc. */
#define UBX_MSG_CLASS_ESF 0x10 /* External Sensor Fusion Messages: External Sensor Measurements and Status Information */
#define UBX_MSG_CLASS_HNR 0x28 /* High Rate Navigation Results Messages: High rate time, position, speed, heading */
#define UBX_MSG_CLASS_INF 0x04 /* Information Messages: Printf-Style Messages, with IDs such as Error, Warning, Notice */
#define UBX_MSG_CLASS_LOG 0x21 /* Logging Messages: Log creation, deletion, info and retrieval */
#define UBX_MSG_CLASS_MGA 0x13 /* Multiple GNSS Assistance Messages: Assistance data for various GNSS */
#define UBX_MSG_CLASS_MON 0x0A /* Monitoring Messages: Communication Status, CPU Load, Stack Usage, Task Status */
#define UBX_MSG_CLASS_NAV 0x01 /* Navigation Results Messages: Position, Speed, Time, Acceleration, Heading, DOP, SVs used */
#define UBX_MSG_CLASS_RXM 0x02 /* Receiver Manager Messages: Satellite Status, RTC Status */
#define UBX_MSG_CLASS_SEC 0x27 /* Security Feature Messages */
#define UBX_MSG_CLASS_TIM 0x0D /* Timing Messages: Time Pulse Output, Time Mark Results */
#define UBX_MSG_CLASS_UPD 0x09 /* Firmware Update Messages: Memory/Flash erase/write, Reboot, Flash identification, etc. */
/* UBX Class ACK */
#define UBX_MSG_ID_ACK_ACK 0x01
#define UBX_MSG_ID_ACK_NAK 0x00
/* UBX Class AID */
#define UBX_MSG_ID_AID_ALM 0x30
#define UBX_MSG_ID_AID_AOP 0x33
#define UBX_MSG_ID_AID_EPH 0x31
#define UBX_MSG_ID_AID_HUI 0x02
#define UBX_MSG_ID_AID_INI 0x01
/* UBX Class CFG */
#define UBX_MSG_ID_CFG_ANT 0x13
#define UBX_MSG_ID_CFG_BATCH 0x93
#define UBX_MSG_ID_CFG_CFG 0x09
#define UBX_MSG_ID_CFG_DAT 0x06
#define UBX_MSG_ID_CFG_DGNSS 0x70
#define UBX_MSG_ID_CFG_DOSC 0x61
#define UBX_MSG_ID_CFG_DYNSEED 0x85
#define UBX_MSG_ID_CFG_ESRC 0x60
#define UBX_MSG_ID_CFG_FIXSEED 0x84
#define UBX_MSG_ID_CFG_GEOFENCE 0x69
#define UBX_MSG_ID_CFG_GNSS 0x3E
#define UBX_MSG_ID_CFG_HNR 0x5C
#define UBX_MSG_ID_CFG_INF 0x02
#define UBX_MSG_ID_CFG_ITFM 0x39
#define UBX_MSG_ID_CFG_LOGFILTER 0x47
#define UBX_MSG_ID_CFG_MSG 0x01
#define UBX_MSG_ID_CFG_NAV5 0x24
#define UBX_MSG_ID_CFG_NAVX5 0x23
#define UBX_MSG_ID_CFG_NMEA 0x17
#define UBX_MSG_ID_CFG_ODO 0x1E
#define UBX_MSG_ID_CFG_PM2 0x3B
#define UBX_MSG_ID_CFG_PMS 0x86
#define UBX_MSG_ID_CFG_PRT 0x00
#define UBX_MSG_ID_CFG_PWR 0x57
#define UBX_MSG_ID_CFG_RATE 0x08
#define UBX_MSG_ID_CFG_RINV 0x34
#define UBX_MSG_ID_CFG_RST 0x04
#define UBX_MSG_ID_CFG_RXM 0x11
#define UBX_MSG_ID_CFG_SBAS 0x16
#define UBX_MSG_ID_CFG_SMGR 0x62
#define UBX_MSG_ID_CFG_TMODE2 0x3D
#define UBX_MSG_ID_CFG_TMODE3 0x71
#define UBX_MSG_ID_CFG_TP5 0x31
#define UBX_MSG_ID_CFG_TXSLOT 0x53
#define UBX_MSG_ID_CFG_USB 0x1B
//todo: add esf, hnr, inf, log, mga, rxm, sec, tim, and upd sections
/* UBX Class NAV */
#define UBX_MSG_ID_NAV_AOPSTATUS 0x60
#define UBX_MSG_ID_NAV_ATT 0x05
#define UBX_MSG_ID_NAV_CLOCK 0x22
#define UBX_MSG_ID_NAV_DGPS 0x31
#define UBX_MSG_ID_NAV_DOP 0x04
#define UBX_MSG_ID_NAV_EOE 0x61
#define UBX_MSG_ID_NAV_GEOFENCE 0x39
#define UBX_MSG_ID_NAV_HPPOSECEF 0x13
#define UBX_MSG_ID_NAV_HPPOSLLH 0x14
#define UBX_MSG_ID_NAV_ODO 0x09
#define UBX_MSG_ID_NAV_ORB 0x34
#define UBX_MSG_ID_NAV_POSECEF 0x01
#define UBX_MSG_ID_NAV_POSLLH 0x02
#define UBX_MSG_ID_NAV_PVT 0x07
#define UBX_MSG_ID_NAV_RELPOSNED 0x3C
#define UBX_MSG_ID_NAV_RESETODO 0x10 /* This is a command */
#define UBX_MSG_ID_NAV_SAT 0x35
#define UBX_MSG_ID_NAV_SBAS 0x32
#define UBX_MSG_ID_NAV_SOL 0x06
#define UBX_MSG_ID_NAV_STATUS 0x03
#define UBX_MSG_ID_NAV_SVINFO 0x30
#define UBX_MSG_ID_NAV_SVIN 0x3B
#define UBX_MSG_ID_NAV_TIMEBDS 0x24
#define UBX_MSG_ID_NAV_TIMEGAL 0x25
#define UBX_MSG_ID_NAV_TIMEGLO 0x23
#define UBX_MSG_ID_NAV_TIMEGPS 0x20
#define UBX_MSG_ID_NAV_TIMELS 0x26
#define UBX_MSG_ID_NAV_TIMEUTC 0x21
#define UBX_MSG_ID_NAV_VELECEF 0x11
#define UBX_MSG_ID_NAV_VELNED 0x12
#endif /* NEO_M8_MESSAGES_H_ */