Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
protocol.h File Reference
#include <zephyr/net_buf.h>
#include <zephyr/toolchain.h>

Go to the source code of this file.

Data Structures

struct  ubx_frame
 UBX Message Frame. More...
 
struct  ubx_msg_id_ack_ack
 UBX_MSG_ID_ACK_ACK More...
 
struct  ubx_msg_id_ack_nak
 UBX_MSG_ID_ACK_NAK More...
 
struct  ubx_msg_cfg_prt_spi
 UBX_MSG_ID_CFG_PRT (SPI) More...
 
struct  ubx_msg_cfg_msg
 UBX_MSG_ID_CFG_MSG More...
 
struct  ubx_msg_cfg_rate
 UBX_MSG_ID_CFG_RATE More...
 
struct  ubx_msg_cfg_rst
 UBX_MSG_ID_CFG_RST More...
 
struct  ubx_msg_cfg_cfg_m8
 UBX_MSG_ID_CFG_CFG More...
 
struct  ubx_msg_cfg_cfg_m10
 UBX_MSG_ID_CFG_CFG More...
 
struct  ubx_msg_cfg_nav5
 UBX_MSG_ID_CFG_NAV5 More...
 
struct  ubx_msg_cfg_gnss
 UBX_MSG_ID_CFG_GNSS More...
 
struct  ubx_msg_cfg_gnss::ubx_msg_cfg_gnss_cfg
 
struct  ubx_msg_cfg_valset_v0
 UBX_MSG_ID_CFG_VALSET More...
 
struct  ubx_msg_cfg_valset_v1
 UBX_MSG_ID_CFG_VALSET More...
 
struct  ubx_msg_cfg_valget_query
 Query for UBX_MSG_ID_CFG_VALGET. More...
 
struct  ubx_msg_cfg_valget_response
 Response to UBX_MSG_ID_CFG_VALGET. More...
 
struct  ubx_msg_mon_hw3
 UBX_MSG_ID_MON_HW3 More...
 
struct  ubx_msg_mon_hw
 UBX_MSG_ID_MON_HW More...
 
struct  ubx_msg_mon_rxr
 UBX_MSG_ID_MON_RXR More...
 
struct  ubx_msg_mon_ver
 UBX_MSG_ID_MON_VER More...
 
struct  ubx_msg_nav_dop
 UBX_MSG_ID_NAV_DOP More...
 
struct  ubx_msg_nav_pvt
 UBX_MSG_ID_NAV_PVT More...
 
struct  ubx_msg_nav_sat
 UBX_MSG_ID_NAV_SAT More...
 
struct  ubx_msg_nav_sat::ubx_msg_nav_sat_sv
 
struct  ubx_msg_nav_timegps
 UBX_MSG_ID_NAV_TIMEGPS More...
 
struct  ubx_msg_rxm_pmreq
 UBX_MSG_ID_RXM_PMREQ More...
 

Macros

#define UBX_PREAMBLE_SYNC_CHAR_1   0xB5
 
#define UBX_PREAMBLE_SYNC_CHAR_2   0x62
 
#define UBX_MSG_CFG_PRT_TX_READY_CFG(pio, threshold)
 
#define UBX_MSG_BUF_DEFINE(name, msg_type)
 Create a net_buf_simple large enough to hold a message.
 

Enumerations

enum  ubx_msg_class {
  UBX_MSG_CLASS_ACK = 0x05 , UBX_MSG_CLASS_CFG = 0x06 , UBX_MSG_CLASS_INF = 0x04 , UBX_MSG_CLASS_LOG = 0x21 ,
  UBX_MSG_CLASS_MGA = 0x13 , UBX_MSG_CLASS_MON = 0x0a , UBX_MSG_CLASS_NAV = 0x01 , UBX_MSG_CLASS_RXM = 0x02 ,
  UBX_MSG_CLASS_SEC = 0x27 , UBX_MSG_CLASS_TIM = 0x0d , UBX_MSG_CLASS_UPD = 0x09
}
 UBX Message Classes. More...
 
enum  ubx_msg_id_ack { UBX_MSG_ID_ACK_NAK = 0x00 , UBX_MSG_ID_ACK_ACK = 0x01 }
 
enum  ubx_msg_id_cfg {
  UBX_MSG_ID_CFG_PRT = 0x00 , UBX_MSG_ID_CFG_MSG = 0x01 , UBX_MSG_ID_CFG_RST = 0x04 , UBX_MSG_ID_CFG_RATE = 0x08 ,
  UBX_MSG_ID_CFG_CFG = 0x09 , UBX_MSG_ID_CFG_NAV5 = 0x24 , UBX_MSG_ID_CFG_GNSS = 0x3E , UBX_MSG_ID_CFG_DCDC_BURN = 0x41 ,
  UBX_MSG_ID_CFG_VALSET = 0x8a , UBX_MSG_ID_CFG_VALGET = 0x8b , UBX_MSG_ID_CFG_VALDEL = 0x8c
}
 
enum  ubx_msg_cfg_prt_ports { UBX_MSG_CFG_PRT_PORT_ID_I2C = 0 , UBX_MSG_CFG_PRT_PORT_ID_USB = 3 , UBX_MSG_CFG_PRT_PORT_ID_SPI = 4 }
 
enum  ubx_msg_cfg_prt_proto_mask { UBX_MSG_CFG_PRT_PROTO_MASK_UBX = BIT(0) , UBX_MSG_CFG_PRT_PROTO_MASK_NMEA = BIT(1) , UBX_MSG_CFG_PRT_PROTO_MASK_RTCM2 = BIT(2) , UBX_MSG_CFG_PRT_PROTO_MASK_RTCM3 = BIT(5) }
 
enum  ubx_msg_cfg_prt_tx_ready { UBX_MSG_CFG_PRT_TX_READY_EN = BIT(0) , UBX_MSG_CFG_PRT_TX_READY_POL_ACTIVE_HIGH = 0 , UBX_MSG_CFG_PRT_TX_READY_POL_ACTIVE_LOW = BIT(1) }
 
enum  ubx_msg_cfg_prt_spi_mode { UBX_MSG_CFG_PRT_SPI_MODE_0 = (0 << 1) , UBX_MSG_CFG_PRT_SPI_MODE_1 = (1 << 1) , UBX_MSG_CFG_PRT_SPI_MODE_2 = (2 << 1) , UBX_MSG_CFG_PRT_SPI_MODE_3 = (3 << 1) }
 
enum  ubx_msg_cfg_prt_spi_flags { UBX_MSG_CFG_PRT_SPI_EXTENDED_TIMEOUT = BIT(1) }
 
enum  ubx_msg_cfg_rate_time_ref {
  UBX_MSG_CFG_RATE_TIME_REF_UTC = 0 , UBX_MSG_CFG_RATE_TIME_REF_GPS = 1 , UBX_MSG_CFG_RATE_TIME_REF_GLONASS = 2 , UBX_MSG_CFG_RATE_TIME_REF_BEIDOU = 3 ,
  UBX_MSG_CFG_RATE_TIME_REF_GALILEO = 4 , UBX_MSG_CFG_RATE_TIME_REF_NAVIC = 5
}
 
enum  ubx_msg_cfg_rst_bbr_mask { UBX_MSG_CFG_RST_BBR_HOT_START = 0x0000 , UBX_MSG_CFG_RST_BBR_WARM_START = 0x0001 , UBX_MSG_CFG_RST_BBR_COLD_START = 0xFFFF }
 
enum  ubx_msg_cfg_rst_mode { UBX_MSG_CFG_RST_MODE_HARDWARE = 0x0000 }
 
enum  ubx_msg_cfg_cfg_mask {
  UBX_MSG_CFG_CFG_MASK_IO_PORT = BIT(0) , UBX_MSG_CFG_CFG_MASK_MSG_CONF = BIT(1) , UBX_MSG_CFG_CFG_MASK_INF_MSG = BIT(2) , UBX_MSG_CFG_CFG_MASK_NAV_CONF = BIT(3) ,
  UBX_MSG_CFG_CFG_MASK_RXM_CONF = BIT(4) , UBX_MSG_CFG_CFG_MASK_SEN_CONF = BIT(8) , UBX_MSG_CFG_CFG_MASK_RINV_CONF = BIT(9) , UBX_MSG_CFG_CFG_MASK_ANT_CONF = BIT(10) ,
  UBX_MSG_CFG_CFG_MASK_LOG_CONF = BIT(11) , UBX_MSG_CFG_CFG_MASK_FTS_CONF = BIT(12)
}
 
enum  ubx_msg_cfg_cfg_device { UBX_MSG_CFG_CFG_DEVICE_BBR = BIT(0) , UBX_MSG_CFG_CFG_DEVICE_FLASH = BIT(1) , UBX_MSG_CFG_CFG_DEVICE_EEPROM = BIT(2) , UBX_MSG_CFG_CFG_DEVICE_SPI_FLASH = BIT(4) }
 
enum  ubx_msg_cfg_gnss_flags { UBX_MSG_CFG_GNSS_FLAGS_ENABLED = BIT(0) }
 
enum  ubx_msg_cfg_valset_layers { UBX_MSG_CFG_VALSET_LAYERS_RAM = BIT(0) , UBX_MSG_CFG_VALSET_LAYERS_BBR = BIT(1) , UBX_MSG_CFG_VALSET_LAYERS_FLASH = BIT(2) }
 
enum  ubx_msg_cfg_valset_transaction { UBX_MSG_CFG_VALSET_TRANSACTION_NONE = 0 , UBX_MSG_CFG_VALSET_TRANSACTION_START = 1 , UBX_MSG_CFG_VALSET_TRANSACTION_ONGOING = 2 , UBX_MSG_CFG_VALSET_TRANSACTION_APPLY = 3 }
 
enum  ubx_msg_cfg_valget_layer { UBX_MSG_CFG_VALGET_LAYER_RAM = 0 , UBX_MSG_CFG_VALGET_LAYER_BBR = 1 , UBX_MSG_CFG_VALGET_LAYER_FLASH = 2 , UBX_MSG_CFG_VALGET_LAYER_DEFAULT = 7 }
 
enum  ubx_msg_id_mon {
  UBX_MSG_ID_MON_BATCH = 0x32 , UBX_MSG_ID_MON_COMMS = 0x36 , UBX_MSG_ID_MON_GNSS = 0x28 , UBX_MSG_ID_MON_HW3 = 0x37 ,
  UBX_MSG_ID_MON_HW = 0x09 , UBX_MSG_ID_MON_PATCH = 0x27 , UBX_MSG_ID_MON_RF = 0x38 , UBX_MSG_ID_MON_RXR = 0x21 ,
  UBX_MSG_ID_MON_SPAN = 0x31 , UBX_MSG_ID_MON_VER = 0x04
}
 
enum  ubx_msg_mon_hw3_flags { UBX_MSG_MON_HW3_FLAGS_RTC_CALIB = BIT(0) , UBX_MSG_MON_HW3_FLAGS_SAFE_BOOT = BIT(1) , UBX_MSG_MON_HW3_FLAGS_XTAL_ABSENT = BIT(2) }
 
enum  ubx_msg_mon_hw3_pin_mask {
  UBX_MSG_MON_HW3_PIN_MASK_PIO = BIT(0) , UBX_MSG_MON_HW3_PIN_MASK_BANK_MASK = (0x07 << 1) , UBX_MSG_MON_HW3_PIN_MASK_DIR_OUT = BIT(4) , UBX_MSG_MON_HW3_PIN_MASK_VALUE = BIT(5) ,
  UBX_MSG_MON_HW3_PIN_MASK_VIRTUAL = BIT(6) , UBX_MSG_MON_HW3_PIN_MASK_INT_EN = BIT(7) , UBX_MSG_MON_HW3_PIN_MASK_PULL_UP = BIT(8) , UBX_MSG_MON_HW3_PIN_MASK_PULL_DOWN = BIT(9)
}
 
enum  ubx_msg_mon_rxr_flags { UBX_MSG_MON_RXR_AWAKE = BIT(0) }
 
enum  ubx_msg_id_nav {
  UBX_MSG_ID_NAV_AOPSTATUS = 0x60 , UBX_MSG_ID_NAV_CLOCK = 0x22 , UBX_MSG_ID_NAV_COV = 0x36 , UBX_MSG_ID_NAV_DOP = 0x04 ,
  UBX_MSG_ID_NAV_EOE = 0x61 , UBX_MSG_ID_NAV_ODO = 0x09 , UBX_MSG_ID_NAV_ORB = 0x34 , UBX_MSG_ID_NAV_PL = 0x64 ,
  UBX_MSG_ID_NAV_POSECEF = 0x01 , UBX_MSG_ID_NAV_POSLLH = 0x02 , UBX_MSG_ID_NAV_PVT = 0x07 , UBX_MSG_ID_NAV_RESETODO = 0x10 ,
  UBX_MSG_ID_NAV_SAT = 0x35 , UBX_MSG_ID_NAV_SBAS = 0x32 , UBX_MSG_ID_NAV_SIG = 0x43 , UBX_MSG_ID_NAV_SLAS = 0x42 ,
  UBX_MSG_ID_NAV_STATUS = 0x03 , UBX_MSG_ID_NAV_TIMEBDS = 0x24 , UBX_MSG_ID_NAV_TIMEGAL = 0x25 , UBX_MSG_ID_NAV_TIMEGLO = 0x23 ,
  UBX_MSG_ID_NAV_TIMEGPS = 0x20 , UBX_MSG_ID_NAV_TIMELS = 0x26 , UBX_MSG_ID_NAV_TIMEQZSS = 0x27 , UBX_MSG_ID_NAV_TIMEUTC = 0x21 ,
  UBX_MSG_ID_NAV_VELECEF = 0x11 , UBX_MSG_ID_NAV_VELNED = 0x10
}
 
enum  ubx_msg_nav_pvt_valid { UBX_MSG_NAV_PVT_VALID_DATE = BIT(0) , UBX_MSG_NAV_PVT_VALID_TIME = BIT(1) , UBX_MSG_NAV_PVT_VALID_FULLY_RESOLVED = BIT(2) , UBX_MSG_NAV_PVT_VALID_MAG = BIT(3) }
 
enum  ubx_msg_nav_pvt_fix_type {
  UBX_MSG_NAV_PVT_FIX_TYPE_NO_FIX = 0 , UBX_MSG_NAV_PVT_FIX_TYPE_DEAD_RECKONING = 1 , UBX_MSG_NAV_PVT_FIX_TYPE_2D = 2 , UBX_MSG_NAV_PVT_FIX_TYPE_3D = 3 ,
  UBX_MSG_NAV_PVT_FIX_TYPE_GNSS_DEAD_RECKONING = 4 , UBX_MSG_NAV_PVT_FIX_TYPE_TIME_ONLY = 5
}
 
enum  ubx_msg_nav_pvt_flags {
  UBX_MSG_NAV_PVT_FLAGS_GNSS_FIX_OK = BIT(0) , UBX_MSG_NAV_PVT_FLAGS_DIFF_SOLN = BIT(1) , UBX_MSG_NAV_PVT_FLAGS_PSM_MASK = (0x7 << 2) , UBX_MSG_NAV_PVT_FLAGS_PSM_DISABLED = (0 << 2) ,
  UBX_MSG_NAV_PVT_FLAGS_PSM_ENABLED = (1 << 2) , UBX_MSG_NAV_PVT_FLAGS_PSM_ACQUISITION = (2 << 2) , UBX_MSG_NAV_PVT_FLAGS_PSM_TRACKING = (3 << 2) , UBX_MSG_NAV_PVT_FLAGS_PSM_POWER_OPTIMIZED_TRACKING = (4 << 2) ,
  UBX_MSG_NAV_PVT_FLAGS_PSM_INACTIVE = (5 << 2) , UBX_MSG_NAV_PVT_FLAGS_HEAD_VEH_VALID = BIT(5) , UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_MASK = (0x3 << 6) , UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_NO_SOLN = (0 << 6) ,
  UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_FLOATING_ABIGUITIES = (1 << 6) , UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_FIXED_ABIGUITIES = (2 << 6)
}
 
enum  ubx_msg_nav_pvt_flags2 { UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_AVAI = BIT(5) , UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_DATE = BIT(6) , UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_TIME = BIT(7) }
 
enum  ubx_msg_nav_pvt_flags3 {
  UBX_MSG_NAV_PVT_FLAGS3_INVALID_LLH = BIT(0) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_MASK = (0xF << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_NA = (0 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_0_1 = (1 << 1) ,
  UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_1_2 = (2 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_2_5 = (3 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_5_10 = (4 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_10_15 = (5 << 1) ,
  UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_15_20 = (6 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_20_30 = (7 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_30_45 = (8 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_45_60 = (9 << 1) ,
  UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_60_90 = (10 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_90_120 = (11 << 1) , UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_120_N = (12 << 1) , UBX_MSG_NAV_PVT_FLAGS3_AUTH_TIME = BIT(13)
}
 
enum  ubx_msg_nav_sat_sv_flags {
  UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_MASK = 0x7 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_NO_SIGNAL = 0 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_SEARCHING = 1 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_ACQUIRED = 2 ,
  UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_UNUSABLE = 3 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_LOCKED = 4 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED1 = 5 , UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED2 = 6 ,
  UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED3 = 7 , UBX_MSG_NAV_SAT_FLAGS_SV_USED = BIT(3) , UBX_MSG_NAV_SAT_FLAGS_HEALTH_MASK = (0x3 << 4) , UBX_MSG_NAV_SAT_FLAGS_HEALTH_UNKNOWN = (0 << 4) ,
  UBX_MSG_NAV_SAT_FLAGS_HEALTH_HEALTHY = (1 << 4) , UBX_MSG_NAV_SAT_FLAGS_HEALTH_UNHEALTHY = (2 << 4) , UBX_MSG_NAV_SAT_FLAGS_DIFF_CORR = BIT(6) , UBX_MSG_NAV_SAT_FLAGS_SMOOTHED = BIT(7) ,
  UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_MASK = (0x7 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_NONE = (0 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_EPHEMERIS = (1 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ALMANAC = (2 << 8) ,
  UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ASSIST_NOW_OFFLINE = (3 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ASSIST_NOW_AUTONOMOUS = (4 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER1 = (5 << 8) , UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER2 = (6 << 8) ,
  UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER3 = (7 << 8) , UBX_MSG_NAV_SAT_FLAGS_EPH_AVAIL = BIT(11) , UBX_MSG_NAV_SAT_FLAGS_ALM_AVAIL = BIT(12) , UBX_MSG_NAV_SAT_FLAGS_ANO_AVAIL = BIT(13) ,
  UBX_MSG_NAV_SAT_FLAGS_AOP_AVAIL = BIT(14) , UBX_MSG_NAV_SAT_FLAGS_SBAS_CORR_USED = BIT(16) , UBX_MSG_NAV_SAT_FLAGS_RTCM_CORR_USED = BIT(17) , UBX_MSG_NAV_SAT_FLAGS_SLAS_CORR_USED = BIT(18) ,
  UBX_MSG_NAV_SAT_FLAGS_SPARTN_CORR_USED = BIT(19) , UBX_MSG_NAV_SAT_FLAGS_PR_CORR_USED = BIT(20) , UBX_MSG_NAV_SAT_FLAGS_CR_CORR_USED = BIT(21) , UBX_MSG_NAV_SAT_FLAGS_DO_CORR_USED = BIT(22) ,
  UBX_MSG_NAV_SAT_FLAGS_CLAS_CORR_USED = BIT(23)
}
 
enum  ubx_msg_nav_timegps_valid { UBX_MSG_NAV_TIMEGPS_VALID_TOW_VALID = BIT(0) , UBX_MSG_NAV_TIMEGPS_VALID_WEEK_VALID = BIT(1) , UBX_MSG_NAV_TIMEGPS_VALID_LEAP_S_VALID = BIT(2) }
 
enum  ubx_msg_id_rxm {
  UBX_MSG_ID_RXM_MEAS20 = 0x84 , UBX_MSG_ID_RXM_MEAS50 = 0x86 , UBX_MSG_ID_RXM_MEASC12 = 0x82 , UBX_MSG_ID_RXM_MEASD12 = 0x80 ,
  UBX_MSG_ID_RXM_MEASX = 0x14 , UBX_MSG_ID_RXM_PMREQ = 0x41 , UBX_MSG_ID_RXM_RLM = 0x59 , UBX_MSG_ID_RXM_SFRBX = 0x13
}
 
enum  ubx_msg_rxm_pmreq_flags { UBX_MSG_RXM_PMREQ_FLAGS_BACKUP = BIT(1) , UBX_MSG_RXM_PMREQ_FLAGS_FORCE = BIT(2) }
 
enum  ubx_msg_rxm_pmreq_wakeup { UBX_MSG_RXM_PMREQ_WAKEUP_UARTRX = BIT(3) , UBX_MSG_RXM_PMREQ_WAKEUP_EXTINT0 = BIT(5) , UBX_MSG_RXM_PMREQ_WAKEUP_EXTINT1 = BIT(6) , UBX_MSG_RXM_PMREQ_WAKEUP_SPICS = BIT(7) }
 

Functions

static void ubx_msg_prepare (struct net_buf_simple *buf, uint8_t msg_class, uint8_t msg_id)
 Prepare a net_buf_simple to be used as a UBX protocol message.
 
static void ubx_msg_finalise (struct net_buf_simple *buf)
 Finalise a net_buf_simple to be used as a UBX protocol message.
 
static void ubx_msg_simple (struct net_buf_simple *buf, uint8_t msg_class, uint8_t msg_id, const void *msg, size_t msg_len)
 Create a UBX message in a net_buf_simple.
 

Detailed Description

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2

UBX protocol message definitions.