mirror of
https://github.com/peter-tanner/neptunium-firmware.git
synced 2024-11-30 12:00:19 +08:00
128 lines
5.2 KiB
C
128 lines
5.2 KiB
C
/*
|
|
* 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_ */
|