Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
protocol.h
Go to the documentation of this file.
1
11#ifndef INFUSE_GNSS_UBX_PROTOCOL_H_
12#define INFUSE_GNSS_UBX_PROTOCOL_H_
13
14#include <zephyr/net_buf.h>
15#include <zephyr/toolchain.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
26#define UBX_PREAMBLE_SYNC_CHAR_1 0xB5
27#define UBX_PREAMBLE_SYNC_CHAR_2 0x62
28
41
58
69
73 uint8_t message_id;
74} __packed;
75BUILD_ASSERT(sizeof(struct ubx_msg_id_ack_ack) == 2);
76
80 uint8_t message_id;
81} __packed;
82BUILD_ASSERT(sizeof(struct ubx_msg_id_ack_nak) == 2);
83
107
110 uint8_t port_id;
111 uint8_t reserved1;
112 uint16_t tx_ready;
113 uint32_t mode;
114 uint8_t reserved2[4];
117 uint16_t flags;
118 uint8_t reserved3[2];
119} __packed;
120BUILD_ASSERT(sizeof(struct ubx_msg_cfg_prt_spi) == 20);
121
127
134
140
141#define UBX_MSG_CFG_PRT_TX_READY_CFG(pio, threshold) (pio << 2) | ((threshold / 8) << 7)
142
144 /* CPOL = 0, CPHA = 0 */
146 /* CPOL = 0, CPHA = 1 */
148 /* CPOL = 1, CPHA = 0 */
150 /* CPOL = 1, CPHA = 1 */
152};
153
157
160 uint8_t msg_class;
161 uint8_t msg_id;
162 uint8_t rate;
163} __packed;
164BUILD_ASSERT(sizeof(struct ubx_msg_cfg_msg) == 3);
165
168 uint16_t meas_rate;
169 uint16_t nav_rate;
170 uint16_t time_ref;
171} __packed;
172BUILD_ASSERT(sizeof(struct ubx_msg_cfg_rate) == 6);
173
182
185 uint16_t nav_bbr_mask;
186 uint8_t reset_mode;
187 uint8_t reserved1;
188} __packed;
189BUILD_ASSERT(sizeof(struct ubx_msg_cfg_rst) == 4);
190
196
200
203 uint32_t clear_mask;
204 uint32_t save_mask;
205 uint32_t load_mask;
206 uint8_t device_mask;
207} __packed;
208BUILD_ASSERT(sizeof(struct ubx_msg_cfg_cfg_m8) == 13);
209
212 uint32_t clear_mask;
213 uint32_t save_mask;
214 uint32_t load_mask;
215} __packed;
216BUILD_ASSERT(sizeof(struct ubx_msg_cfg_cfg_m10) == 12);
217
230
237
240 uint16_t mask;
241 uint8_t dyn_model;
242 uint8_t fix_mode;
243 int32_t fixed_alt;
245 int8_t min_elev;
246 uint8_t dr_limit;
247 uint16_t p_dop;
248 uint16_t t_dop;
249 uint16_t p_acc;
250 uint16_t t_acc;
255 uint8_t reserved1[2];
258 uint8_t reserved2[5];
259} __packed;
260BUILD_ASSERT(sizeof(struct ubx_msg_cfg_nav5) == 36);
261
264 uint8_t msg_ver;
269 uint8_t gnss_id;
272 uint8_t reserved1;
273 uint32_t flags;
274 } __packed configs[];
275} __packed;
276BUILD_ASSERT(sizeof(struct ubx_msg_cfg_gnss) == 4);
277
281
284 uint8_t version;
285 uint8_t layers;
286 uint8_t reserved[2];
287 uint8_t cfg_data[];
288} __packed;
289BUILD_ASSERT(sizeof(struct ubx_msg_cfg_valset_v0) == 4);
290
293 uint8_t version;
294 uint8_t layers;
295 uint8_t transaction;
296 uint8_t reserved;
297 uint8_t cfg_data[];
298} __packed;
299BUILD_ASSERT(sizeof(struct ubx_msg_cfg_valset_v1) == 4);
300
306
313
316 uint8_t version;
317 uint8_t layer;
318 uint16_t position;
319 uint32_t cfg_keys[];
320} __packed;
321BUILD_ASSERT(sizeof(struct ubx_msg_cfg_valget_query) == 4);
322
325 uint8_t version;
326 uint8_t layer;
327 uint16_t position;
328 uint8_t cfg_data[];
329} __packed;
330BUILD_ASSERT(sizeof(struct ubx_msg_cfg_valget_response) == 4);
331
338
361
364 uint8_t version;
365 uint8_t n_pins;
366 uint8_t flags;
367 char hw_version[10];
368 uint8_t reserved0[9];
369 struct {
370 uint8_t reserved1;
371 uint8_t pin_id;
372 uint16_t pin_mask;
373 uint8_t vp;
374 uint8_t reserved2;
375 } pins[];
376} __packed;
377BUILD_ASSERT(sizeof(struct ubx_msg_mon_hw3) == 22);
378
384
395
398 uint32_t pin_sel;
399 uint32_t pin_bank;
400 uint32_t pin_dir;
401 uint32_t pin_val;
402 uint16_t noise_per_ms;
403 uint16_t adc_cnt;
404 uint8_t ant_state;
405 uint8_t ant_power;
406 uint8_t flags;
407 uint8_t reserved1;
408 uint32_t used_mask;
409 uint8_t vp[17];
411 uint8_t reserved2[2];
412 uint32_t pin_irq;
413 uint32_t pull_high;
414 uint32_t pull_low;
415} __packed;
416BUILD_ASSERT(sizeof(struct ubx_msg_mon_hw) == 60);
417
420 uint8_t flags;
421} __packed;
422BUILD_ASSERT(sizeof(struct ubx_msg_mon_rxr) == 1);
423
427
431 char sw_version[30];
433 char hw_version[10];
435 struct {
436 char ext_version[30];
438} __packed;
439BUILD_ASSERT(sizeof(struct ubx_msg_mon_ver) == 40);
440
479
483 uint32_t itow;
485 uint16_t g_dop;
487 uint16_t p_dop;
489 uint16_t t_dop;
491 uint16_t v_dop;
493 uint16_t h_dop;
495 uint16_t n_dop;
497 uint16_t e_dop;
498} __packed;
499BUILD_ASSERT(sizeof(struct ubx_msg_nav_dop) == 18);
500
504 uint32_t itow;
506 uint16_t year;
508 uint8_t month;
510 uint8_t day;
512 uint8_t hour;
514 uint8_t min;
516 uint8_t sec;
518 uint8_t valid;
520 uint32_t t_acc;
522 int32_t nano;
524 uint8_t fix_type;
526 uint8_t flags;
528 uint8_t flags2;
530 uint8_t num_sv;
532 int32_t lon;
534 int32_t lat;
536 int32_t height;
538 int32_t height_msl;
540 uint32_t h_acc;
542 uint32_t v_acc;
544 int32_t vel_n;
546 int32_t vel_e;
548 int32_t vel_d;
550 int32_t g_speed;
552 int32_t head_mot;
554 uint32_t s_acc;
556 uint32_t head_acc;
558 uint16_t p_dop;
560 uint16_t flags3;
561 uint8_t reserved0[4];
563 int32_t head_veh;
565 int16_t mag_dec;
567 uint16_t mag_acc;
568} __packed;
569BUILD_ASSERT(sizeof(struct ubx_msg_nav_pvt) == 92);
570
583
592
614
623
645
649 uint32_t itow;
651 uint8_t version;
653 uint8_t num_svs;
654 uint8_t reserved0[2];
657 uint8_t gnss_id;
659 uint8_t sv_id;
661 uint8_t cno;
663 int8_t elev;
665 int16_t azim;
667 int16_t pr_res;
669 uint32_t flags;
670 } __packed svs[];
671} __packed;
672BUILD_ASSERT(sizeof(struct ubx_msg_nav_sat) == 8);
673
732};
733
737 uint32_t itow;
739 int32_t ftow;
741 uint16_t week;
743 int8_t leap_s;
745 uint8_t valid;
747 uint32_t t_acc;
748} __packed;
749
758
779
782 uint8_t version;
783 uint8_t reserved0[3];
784 uint32_t duration_ms;
785 uint32_t flags;
787} __packed;
788BUILD_ASSERT(sizeof(struct ubx_msg_rxm_pmreq) == 16);
789
794
801
814#define UBX_MSG_BUF_DEFINE(name, msg_type) \
815 NET_BUF_SIMPLE_DEFINE(name, \
816 (sizeof(struct ubx_frame) + sizeof(msg_type) + sizeof(uint16_t)))
817
825static inline void ubx_msg_prepare(struct net_buf_simple *buf, uint8_t msg_class, uint8_t msg_id)
826{
827 struct ubx_frame *frame;
828
829 net_buf_simple_reset(buf);
830 frame = net_buf_simple_add(buf, sizeof(*frame));
831
832 /* Start of frame header */
835 frame->message_class = msg_class;
836 frame->message_id = msg_id;
837}
838
846static inline void ubx_msg_finalise(struct net_buf_simple *buf)
847{
848 const unsigned int crc_start_idx = offsetof(struct ubx_frame, message_class);
849 struct ubx_frame *frame;
850 uint16_t payload_size;
851 uint8_t ckA = 0;
852 uint8_t ckB = 0;
853
854 frame = (void *)buf->data;
855 __ASSERT_NO_MSG(frame->preamble_sync_char_1 == UBX_PREAMBLE_SYNC_CHAR_1);
856 __ASSERT_NO_MSG(frame->preamble_sync_char_2 == UBX_PREAMBLE_SYNC_CHAR_2);
857 payload_size = buf->len - sizeof(struct ubx_frame);
858 /* Finish frame header */
859 frame->payload_size_low = payload_size;
860 frame->payload_size_high = payload_size >> 8;
861 /* Calculate frame CRC */
862 for (unsigned int i = crc_start_idx; i < buf->len; i++) {
863 ckA += buf->data[i];
864 ckB += ckA;
865 }
866 /* Append frame CRC */
867 net_buf_simple_add_u8(buf, ckA);
868 net_buf_simple_add_u8(buf, ckB);
869}
870
880static inline void ubx_msg_simple(struct net_buf_simple *buf, uint8_t msg_class, uint8_t msg_id,
881 const void *msg, size_t msg_len)
882{
883 ubx_msg_prepare(buf, msg_class, msg_id);
884 if (msg_len > 0) {
885 net_buf_simple_add_mem(buf, msg, msg_len);
886 }
887 ubx_msg_finalise(buf);
888}
889
894#ifdef __cplusplus
895}
896#endif
897
898#endif /* INFUSE_GNSS_UBX_PROTOCOL_H_ */
ubx_msg_id_ack
Definition protocol.h:65
@ UBX_MSG_ID_ACK_NAK
Definition protocol.h:66
@ UBX_MSG_ID_ACK_ACK
Definition protocol.h:67
ubx_msg_cfg_gnss_flags
Definition protocol.h:278
ubx_msg_cfg_cfg_mask
Definition protocol.h:218
ubx_msg_id_cfg
Definition protocol.h:94
ubx_msg_cfg_prt_spi_mode
Definition protocol.h:143
ubx_msg_cfg_valset_transaction
Definition protocol.h:307
ubx_msg_cfg_rst_mode
Definition protocol.h:197
ubx_msg_cfg_valget_layer
Definition protocol.h:332
ubx_msg_cfg_valset_layers
Definition protocol.h:301
ubx_msg_cfg_prt_tx_ready
Definition protocol.h:135
ubx_msg_cfg_prt_spi_flags
Definition protocol.h:154
ubx_msg_cfg_rate_time_ref
Definition protocol.h:174
ubx_msg_cfg_prt_ports
Definition protocol.h:122
ubx_msg_cfg_cfg_device
Definition protocol.h:231
ubx_msg_cfg_prt_proto_mask
Definition protocol.h:128
ubx_msg_cfg_rst_bbr_mask
Definition protocol.h:191
@ UBX_MSG_CFG_GNSS_FLAGS_ENABLED
Definition protocol.h:279
@ UBX_MSG_CFG_CFG_MASK_SEN_CONF
Definition protocol.h:224
@ UBX_MSG_CFG_CFG_MASK_INF_MSG
Definition protocol.h:221
@ UBX_MSG_CFG_CFG_MASK_LOG_CONF
Definition protocol.h:227
@ UBX_MSG_CFG_CFG_MASK_RXM_CONF
Definition protocol.h:223
@ UBX_MSG_CFG_CFG_MASK_MSG_CONF
Definition protocol.h:220
@ UBX_MSG_CFG_CFG_MASK_ANT_CONF
Definition protocol.h:226
@ UBX_MSG_CFG_CFG_MASK_NAV_CONF
Definition protocol.h:222
@ UBX_MSG_CFG_CFG_MASK_IO_PORT
Definition protocol.h:219
@ UBX_MSG_CFG_CFG_MASK_FTS_CONF
Definition protocol.h:228
@ UBX_MSG_CFG_CFG_MASK_RINV_CONF
Definition protocol.h:225
@ UBX_MSG_ID_CFG_NAV5
Definition protocol.h:100
@ UBX_MSG_ID_CFG_VALGET
Definition protocol.h:104
@ UBX_MSG_ID_CFG_VALDEL
Definition protocol.h:105
@ UBX_MSG_ID_CFG_PRT
Definition protocol.h:95
@ UBX_MSG_ID_CFG_DCDC_BURN
Definition protocol.h:102
@ UBX_MSG_ID_CFG_RATE
Definition protocol.h:98
@ UBX_MSG_ID_CFG_GNSS
Definition protocol.h:101
@ UBX_MSG_ID_CFG_CFG
Definition protocol.h:99
@ UBX_MSG_ID_CFG_MSG
Definition protocol.h:96
@ UBX_MSG_ID_CFG_RST
Definition protocol.h:97
@ UBX_MSG_ID_CFG_VALSET
Definition protocol.h:103
@ UBX_MSG_CFG_PRT_SPI_MODE_3
Definition protocol.h:151
@ UBX_MSG_CFG_PRT_SPI_MODE_2
Definition protocol.h:149
@ UBX_MSG_CFG_PRT_SPI_MODE_0
Definition protocol.h:145
@ UBX_MSG_CFG_PRT_SPI_MODE_1
Definition protocol.h:147
@ UBX_MSG_CFG_VALSET_TRANSACTION_APPLY
Definition protocol.h:311
@ UBX_MSG_CFG_VALSET_TRANSACTION_NONE
Definition protocol.h:308
@ UBX_MSG_CFG_VALSET_TRANSACTION_ONGOING
Definition protocol.h:310
@ UBX_MSG_CFG_VALSET_TRANSACTION_START
Definition protocol.h:309
@ UBX_MSG_CFG_RST_MODE_HARDWARE
Definition protocol.h:198
@ UBX_MSG_CFG_VALGET_LAYER_BBR
Definition protocol.h:334
@ UBX_MSG_CFG_VALGET_LAYER_FLASH
Definition protocol.h:335
@ UBX_MSG_CFG_VALGET_LAYER_RAM
Definition protocol.h:333
@ UBX_MSG_CFG_VALGET_LAYER_DEFAULT
Definition protocol.h:336
@ UBX_MSG_CFG_VALSET_LAYERS_BBR
Definition protocol.h:303
@ UBX_MSG_CFG_VALSET_LAYERS_RAM
Definition protocol.h:302
@ UBX_MSG_CFG_VALSET_LAYERS_FLASH
Definition protocol.h:304
@ UBX_MSG_CFG_PRT_TX_READY_POL_ACTIVE_LOW
Definition protocol.h:138
@ UBX_MSG_CFG_PRT_TX_READY_EN
Definition protocol.h:136
@ UBX_MSG_CFG_PRT_TX_READY_POL_ACTIVE_HIGH
Definition protocol.h:137
@ UBX_MSG_CFG_PRT_SPI_EXTENDED_TIMEOUT
Definition protocol.h:155
@ UBX_MSG_CFG_RATE_TIME_REF_UTC
Definition protocol.h:175
@ UBX_MSG_CFG_RATE_TIME_REF_BEIDOU
Definition protocol.h:178
@ UBX_MSG_CFG_RATE_TIME_REF_NAVIC
Definition protocol.h:180
@ UBX_MSG_CFG_RATE_TIME_REF_GPS
Definition protocol.h:176
@ UBX_MSG_CFG_RATE_TIME_REF_GLONASS
Definition protocol.h:177
@ UBX_MSG_CFG_RATE_TIME_REF_GALILEO
Definition protocol.h:179
@ UBX_MSG_CFG_PRT_PORT_ID_USB
Definition protocol.h:124
@ UBX_MSG_CFG_PRT_PORT_ID_I2C
Definition protocol.h:123
@ UBX_MSG_CFG_PRT_PORT_ID_SPI
Definition protocol.h:125
@ UBX_MSG_CFG_CFG_DEVICE_SPI_FLASH
Definition protocol.h:235
@ UBX_MSG_CFG_CFG_DEVICE_EEPROM
Definition protocol.h:234
@ UBX_MSG_CFG_CFG_DEVICE_FLASH
Definition protocol.h:233
@ UBX_MSG_CFG_CFG_DEVICE_BBR
Definition protocol.h:232
@ UBX_MSG_CFG_PRT_PROTO_MASK_RTCM2
Definition protocol.h:131
@ UBX_MSG_CFG_PRT_PROTO_MASK_RTCM3
Definition protocol.h:132
@ UBX_MSG_CFG_PRT_PROTO_MASK_UBX
Definition protocol.h:129
@ UBX_MSG_CFG_PRT_PROTO_MASK_NMEA
Definition protocol.h:130
@ UBX_MSG_CFG_RST_BBR_COLD_START
Definition protocol.h:194
@ UBX_MSG_CFG_RST_BBR_HOT_START
Definition protocol.h:192
@ UBX_MSG_CFG_RST_BBR_WARM_START
Definition protocol.h:193
ubx_msg_id_mon
Definition protocol.h:349
ubx_msg_mon_rxr_flags
Definition protocol.h:424
ubx_msg_mon_hw3_flags
Definition protocol.h:379
ubx_msg_mon_hw3_pin_mask
Definition protocol.h:385
@ UBX_MSG_ID_MON_COMMS
Definition protocol.h:351
@ UBX_MSG_ID_MON_HW3
Definition protocol.h:353
@ UBX_MSG_ID_MON_VER
Definition protocol.h:359
@ UBX_MSG_ID_MON_RXR
Definition protocol.h:357
@ UBX_MSG_ID_MON_PATCH
Definition protocol.h:355
@ UBX_MSG_ID_MON_GNSS
Definition protocol.h:352
@ UBX_MSG_ID_MON_SPAN
Definition protocol.h:358
@ UBX_MSG_ID_MON_BATCH
Definition protocol.h:350
@ UBX_MSG_ID_MON_HW
Definition protocol.h:354
@ UBX_MSG_ID_MON_RF
Definition protocol.h:356
@ UBX_MSG_MON_RXR_AWAKE
Definition protocol.h:425
@ UBX_MSG_MON_HW3_FLAGS_SAFE_BOOT
Definition protocol.h:381
@ UBX_MSG_MON_HW3_FLAGS_RTC_CALIB
Definition protocol.h:380
@ UBX_MSG_MON_HW3_FLAGS_XTAL_ABSENT
Definition protocol.h:382
@ UBX_MSG_MON_HW3_PIN_MASK_PIO
Definition protocol.h:386
@ UBX_MSG_MON_HW3_PIN_MASK_PULL_UP
Definition protocol.h:392
@ UBX_MSG_MON_HW3_PIN_MASK_VIRTUAL
Definition protocol.h:390
@ UBX_MSG_MON_HW3_PIN_MASK_BANK_MASK
Definition protocol.h:387
@ UBX_MSG_MON_HW3_PIN_MASK_VALUE
Definition protocol.h:389
@ UBX_MSG_MON_HW3_PIN_MASK_DIR_OUT
Definition protocol.h:388
@ UBX_MSG_MON_HW3_PIN_MASK_PULL_DOWN
Definition protocol.h:393
@ UBX_MSG_MON_HW3_PIN_MASK_INT_EN
Definition protocol.h:391
ubx_msg_nav_pvt_flags2
Definition protocol.h:615
ubx_msg_nav_pvt_fix_type
Definition protocol.h:584
ubx_msg_nav_pvt_flags
Definition protocol.h:593
ubx_msg_id_nav
Definition protocol.h:451
ubx_msg_nav_timegps_valid
Definition protocol.h:750
ubx_msg_nav_sat_sv_flags
Definition protocol.h:674
ubx_msg_nav_pvt_valid
Definition protocol.h:571
ubx_msg_nav_pvt_flags3
Definition protocol.h:624
@ UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_DATE
UTC Date validity could be confirmed.
Definition protocol.h:619
@ UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_AVAI
Information about UTC Date and Time of Day validity confirmation is available.
Definition protocol.h:617
@ UBX_MSG_NAV_PVT_FLAGS2_CONFIRMED_TIME
UTC Time of Day could be confirmed.
Definition protocol.h:621
@ UBX_MSG_NAV_PVT_FIX_TYPE_GNSS_DEAD_RECKONING
Definition protocol.h:589
@ UBX_MSG_NAV_PVT_FIX_TYPE_2D
Definition protocol.h:587
@ UBX_MSG_NAV_PVT_FIX_TYPE_NO_FIX
Definition protocol.h:585
@ UBX_MSG_NAV_PVT_FIX_TYPE_TIME_ONLY
Definition protocol.h:590
@ UBX_MSG_NAV_PVT_FIX_TYPE_3D
Definition protocol.h:588
@ UBX_MSG_NAV_PVT_FIX_TYPE_DEAD_RECKONING
Definition protocol.h:586
@ UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_FIXED_ABIGUITIES
Definition protocol.h:612
@ UBX_MSG_NAV_PVT_FLAGS_PSM_TRACKING
Definition protocol.h:603
@ UBX_MSG_NAV_PVT_FLAGS_HEAD_VEH_VALID
Heading of vehicle is valid, only set if the receiver is in sensor fusion mode.
Definition protocol.h:607
@ UBX_MSG_NAV_PVT_FLAGS_PSM_ENABLED
Definition protocol.h:601
@ UBX_MSG_NAV_PVT_FLAGS_DIFF_SOLN
Differential corrections were applied.
Definition protocol.h:597
@ UBX_MSG_NAV_PVT_FLAGS_PSM_ACQUISITION
Definition protocol.h:602
@ UBX_MSG_NAV_PVT_FLAGS_PSM_INACTIVE
Definition protocol.h:605
@ UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_NO_SOLN
Definition protocol.h:610
@ UBX_MSG_NAV_PVT_FLAGS_GNSS_FIX_OK
Valid fix (i.e within DOP & accuracy masks)
Definition protocol.h:595
@ UBX_MSG_NAV_PVT_FLAGS_PSM_DISABLED
Definition protocol.h:600
@ UBX_MSG_NAV_PVT_FLAGS_PSM_POWER_OPTIMIZED_TRACKING
Definition protocol.h:604
@ UBX_MSG_NAV_PVT_FLAGS_PSM_MASK
Power save mode state.
Definition protocol.h:599
@ UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_FLOATING_ABIGUITIES
Definition protocol.h:611
@ UBX_MSG_NAV_PVT_FLAGS_CARR_SOLN_MASK
Carrier phase range solution status.
Definition protocol.h:609
@ UBX_MSG_ID_NAV_RESETODO
Definition protocol.h:463
@ UBX_MSG_ID_NAV_COV
Definition protocol.h:454
@ UBX_MSG_ID_NAV_DOP
Definition protocol.h:455
@ UBX_MSG_ID_NAV_STATUS
Definition protocol.h:468
@ UBX_MSG_ID_NAV_ODO
Definition protocol.h:457
@ UBX_MSG_ID_NAV_TIMEGLO
Definition protocol.h:471
@ UBX_MSG_ID_NAV_VELNED
Definition protocol.h:477
@ UBX_MSG_ID_NAV_EOE
Definition protocol.h:456
@ UBX_MSG_ID_NAV_PL
Definition protocol.h:459
@ UBX_MSG_ID_NAV_POSECEF
Definition protocol.h:460
@ UBX_MSG_ID_NAV_TIMEGAL
Definition protocol.h:470
@ UBX_MSG_ID_NAV_TIMEBDS
Definition protocol.h:469
@ UBX_MSG_ID_NAV_TIMEQZSS
Definition protocol.h:474
@ UBX_MSG_ID_NAV_SLAS
Definition protocol.h:467
@ UBX_MSG_ID_NAV_PVT
Definition protocol.h:462
@ UBX_MSG_ID_NAV_TIMEGPS
Definition protocol.h:472
@ UBX_MSG_ID_NAV_SIG
Definition protocol.h:466
@ UBX_MSG_ID_NAV_TIMEUTC
Definition protocol.h:475
@ UBX_MSG_ID_NAV_VELECEF
Definition protocol.h:476
@ UBX_MSG_ID_NAV_AOPSTATUS
Definition protocol.h:452
@ UBX_MSG_ID_NAV_CLOCK
Definition protocol.h:453
@ UBX_MSG_ID_NAV_SAT
Definition protocol.h:464
@ UBX_MSG_ID_NAV_ORB
Definition protocol.h:458
@ UBX_MSG_ID_NAV_TIMELS
Definition protocol.h:473
@ UBX_MSG_ID_NAV_SBAS
Definition protocol.h:465
@ UBX_MSG_ID_NAV_POSLLH
Definition protocol.h:461
@ UBX_MSG_NAV_TIMEGPS_VALID_TOW_VALID
Valid GPS time of week (iTOW & fTOW)
Definition protocol.h:752
@ UBX_MSG_NAV_TIMEGPS_VALID_WEEK_VALID
Valid GPS week number.
Definition protocol.h:754
@ UBX_MSG_NAV_TIMEGPS_VALID_LEAP_S_VALID
Valid GPS leap seconds.
Definition protocol.h:756
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED2
Definition protocol.h:683
@ UBX_MSG_NAV_SAT_FLAGS_CLAS_CORR_USED
CLAS corrections have been used for this SV.
Definition protocol.h:731
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER2
Definition protocol.h:706
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_UNUSABLE
Definition protocol.h:680
@ UBX_MSG_NAV_SAT_FLAGS_SBAS_CORR_USED
SBAS corrections have been used for this SV.
Definition protocol.h:717
@ UBX_MSG_NAV_SAT_FLAGS_RTCM_CORR_USED
RTCM corrections have been used for this SV.
Definition protocol.h:719
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_NO_SIGNAL
Definition protocol.h:677
@ UBX_MSG_NAV_SAT_FLAGS_HEALTH_UNKNOWN
Definition protocol.h:691
@ UBX_MSG_NAV_SAT_FLAGS_SV_USED
Signal in the subset specified in Signal Identifiers is currently being used for navigation.
Definition protocol.h:688
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ALMANAC
Definition protocol.h:702
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER1
Definition protocol.h:705
@ UBX_MSG_NAV_SAT_FLAGS_HEALTH_UNHEALTHY
Definition protocol.h:693
@ UBX_MSG_NAV_SAT_FLAGS_SPARTN_CORR_USED
SPARTN corrections have been used for this SV.
Definition protocol.h:723
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_NONE
Definition protocol.h:700
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_OTHER3
Definition protocol.h:707
@ UBX_MSG_NAV_SAT_FLAGS_SLAS_CORR_USED
QZSS SLAS corrections have been used for this SV.
Definition protocol.h:721
@ UBX_MSG_NAV_SAT_FLAGS_DO_CORR_USED
Range rate (Doppler) corrections have been used for this SV.
Definition protocol.h:729
@ UBX_MSG_NAV_SAT_FLAGS_PR_CORR_USED
Pseudorange corrections have been used for this SV.
Definition protocol.h:725
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ASSIST_NOW_OFFLINE
Definition protocol.h:703
@ UBX_MSG_NAV_SAT_FLAGS_HEALTH_HEALTHY
Definition protocol.h:692
@ UBX_MSG_NAV_SAT_FLAGS_ANO_AVAIL
AssistNow Offline data is available for this SV.
Definition protocol.h:713
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED3
Definition protocol.h:684
@ UBX_MSG_NAV_SAT_FLAGS_CR_CORR_USED
Carrier range corrections have been used for this SV.
Definition protocol.h:727
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_ASSIST_NOW_AUTONOMOUS
Definition protocol.h:704
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_CARRIER_LOCKED1
Definition protocol.h:682
@ UBX_MSG_NAV_SAT_FLAGS_SMOOTHED
Carrier smoothed pseudorange used.
Definition protocol.h:697
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_ACQUIRED
Definition protocol.h:679
@ UBX_MSG_NAV_SAT_FLAGS_DIFF_CORR
Differential correction data is available for this SV.
Definition protocol.h:695
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_SEARCHING
Definition protocol.h:678
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_CODE_LOCKED
Definition protocol.h:681
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_MASK
Orbit source.
Definition protocol.h:699
@ UBX_MSG_NAV_SAT_FLAGS_ALM_AVAIL
Almanac is available for this SV.
Definition protocol.h:711
@ UBX_MSG_NAV_SAT_FLAGS_QUALITY_IND_MASK
Signal quality indicator.
Definition protocol.h:676
@ UBX_MSG_NAV_SAT_FLAGS_EPH_AVAIL
Ephemeris is available for this SV.
Definition protocol.h:709
@ UBX_MSG_NAV_SAT_FLAGS_HEALTH_MASK
Signal health flag.
Definition protocol.h:690
@ UBX_MSG_NAV_SAT_FLAGS_AOP_AVAIL
AssistNow Autonomous data is available for this SV.
Definition protocol.h:715
@ UBX_MSG_NAV_SAT_FLAGS_ORBIT_SOURCE_EPHEMERIS
Definition protocol.h:701
@ UBX_MSG_NAV_PVT_VALID_MAG
Valid magnetic declination.
Definition protocol.h:581
@ UBX_MSG_NAV_PVT_VALID_FULLY_RESOLVED
UTC time of day has been fully resolved (no seconds uncertainty).
Definition protocol.h:579
@ UBX_MSG_NAV_PVT_VALID_TIME
Valid UTC time of day.
Definition protocol.h:575
@ UBX_MSG_NAV_PVT_VALID_DATE
Valid UTC Date.
Definition protocol.h:573
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_120_N
Definition protocol.h:641
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_5_10
Definition protocol.h:633
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_1_2
Definition protocol.h:631
@ UBX_MSG_NAV_PVT_FLAGS3_AUTH_TIME
Output time has been validated against an external trusted time source.
Definition protocol.h:643
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_60_90
Definition protocol.h:639
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_2_5
Definition protocol.h:632
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_20_30
Definition protocol.h:636
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_45_60
Definition protocol.h:638
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_0_1
Definition protocol.h:630
@ UBX_MSG_NAV_PVT_FLAGS3_INVALID_LLH
Invalid lon, lat, height and hMS.
Definition protocol.h:626
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_10_15
Definition protocol.h:634
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_MASK
Age of the most recently received differential correction (seconds)
Definition protocol.h:628
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_NA
Definition protocol.h:629
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_90_120
Definition protocol.h:640
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_30_45
Definition protocol.h:637
@ UBX_MSG_NAV_PVT_FLAGS3_CORRECTION_AGE_15_20
Definition protocol.h:635
ubx_msg_rxm_pmreq_flags
Definition protocol.h:790
ubx_msg_id_rxm
Definition protocol.h:769
ubx_msg_rxm_pmreq_wakeup
Definition protocol.h:795
@ UBX_MSG_RXM_PMREQ_FLAGS_FORCE
Definition protocol.h:792
@ UBX_MSG_RXM_PMREQ_FLAGS_BACKUP
Definition protocol.h:791
@ UBX_MSG_ID_RXM_PMREQ
Definition protocol.h:775
@ UBX_MSG_ID_RXM_SFRBX
Definition protocol.h:777
@ UBX_MSG_ID_RXM_MEASX
Definition protocol.h:774
@ UBX_MSG_ID_RXM_MEASC12
Definition protocol.h:772
@ UBX_MSG_ID_RXM_MEAS20
Definition protocol.h:770
@ UBX_MSG_ID_RXM_RLM
Definition protocol.h:776
@ UBX_MSG_ID_RXM_MEAS50
Definition protocol.h:771
@ UBX_MSG_ID_RXM_MEASD12
Definition protocol.h:773
@ UBX_MSG_RXM_PMREQ_WAKEUP_EXTINT1
Definition protocol.h:798
@ UBX_MSG_RXM_PMREQ_WAKEUP_SPICS
Definition protocol.h:799
@ UBX_MSG_RXM_PMREQ_WAKEUP_UARTRX
Definition protocol.h:796
@ UBX_MSG_RXM_PMREQ_WAKEUP_EXTINT0
Definition protocol.h:797
#define UBX_PREAMBLE_SYNC_CHAR_1
Definition protocol.h:26
ubx_msg_class
UBX Message Classes.
Definition protocol.h:45
static void ubx_msg_finalise(struct net_buf_simple *buf)
Finalise a net_buf_simple to be used as a UBX protocol message.
Definition protocol.h:846
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.
Definition protocol.h:825
#define UBX_PREAMBLE_SYNC_CHAR_2
Definition protocol.h:27
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.
Definition protocol.h:880
@ UBX_MSG_CLASS_ACK
Definition protocol.h:46
@ UBX_MSG_CLASS_LOG
Definition protocol.h:49
@ UBX_MSG_CLASS_UPD
Definition protocol.h:56
@ UBX_MSG_CLASS_MGA
Definition protocol.h:50
@ UBX_MSG_CLASS_TIM
Definition protocol.h:55
@ UBX_MSG_CLASS_INF
Definition protocol.h:48
@ UBX_MSG_CLASS_CFG
Definition protocol.h:47
@ UBX_MSG_CLASS_NAV
Definition protocol.h:52
@ UBX_MSG_CLASS_MON
Definition protocol.h:51
@ UBX_MSG_CLASS_SEC
Definition protocol.h:54
@ UBX_MSG_CLASS_RXM
Definition protocol.h:53
UBX Message Frame.
Definition protocol.h:32
uint8_t payload_size_high
Definition protocol.h:38
uint8_t payload_and_checksum[]
Definition protocol.h:39
uint8_t payload_size_low
Definition protocol.h:37
uint8_t message_class
Definition protocol.h:35
uint8_t preamble_sync_char_2
Definition protocol.h:34
uint8_t message_id
Definition protocol.h:36
uint8_t preamble_sync_char_1
Definition protocol.h:33
UBX_MSG_ID_CFG_CFG
Definition protocol.h:211
uint32_t save_mask
Definition protocol.h:213
uint32_t clear_mask
Definition protocol.h:212
uint32_t load_mask
Definition protocol.h:214
UBX_MSG_ID_CFG_CFG
Definition protocol.h:202
uint32_t clear_mask
Definition protocol.h:203
uint32_t save_mask
Definition protocol.h:204
uint8_t device_mask
Definition protocol.h:206
uint32_t load_mask
Definition protocol.h:205
uint32_t flags
Definition protocol.h:273
uint8_t gnss_id
Definition protocol.h:269
uint8_t res_trk_chan
Definition protocol.h:270
uint8_t max_trk_chan
Definition protocol.h:271
uint8_t reserved1
Definition protocol.h:272
UBX_MSG_ID_CFG_GNSS
Definition protocol.h:263
uint8_t num_trk_ch_hw
Definition protocol.h:265
uint8_t num_cfg_blocks
Definition protocol.h:267
uint8_t msg_ver
Definition protocol.h:264
uint8_t num_trk_ch_use
Definition protocol.h:266
struct ubx_msg_cfg_gnss::ubx_msg_cfg_gnss_cfg configs[]
UBX_MSG_ID_CFG_MSG
Definition protocol.h:159
uint8_t rate
Definition protocol.h:162
uint8_t msg_id
Definition protocol.h:161
uint8_t msg_class
Definition protocol.h:160
UBX_MSG_ID_CFG_NAV5
Definition protocol.h:239
uint16_t static_hold_max_dist
Definition protocol.h:256
uint8_t d_gnss_timeout
Definition protocol.h:252
uint16_t t_dop
Definition protocol.h:248
uint8_t cno_threshold
Definition protocol.h:254
uint8_t dyn_model
Definition protocol.h:241
uint8_t static_hold_threshold
Definition protocol.h:251
uint8_t cno_threshold_num_svs
Definition protocol.h:253
uint8_t fix_mode
Definition protocol.h:242
uint8_t reserved2[5]
Definition protocol.h:258
uint8_t dr_limit
Definition protocol.h:246
uint8_t reserved1[2]
Definition protocol.h:255
uint32_t fixed_alt_var
Definition protocol.h:244
int32_t fixed_alt
Definition protocol.h:243
uint16_t p_dop
Definition protocol.h:247
uint8_t utc_standard
Definition protocol.h:257
uint16_t t_acc
Definition protocol.h:250
uint16_t p_acc
Definition protocol.h:249
int8_t min_elev
Definition protocol.h:245
uint16_t mask
Definition protocol.h:240
UBX_MSG_ID_CFG_PRT (SPI)
Definition protocol.h:109
uint8_t port_id
Definition protocol.h:110
uint8_t reserved3[2]
Definition protocol.h:118
uint8_t reserved2[4]
Definition protocol.h:114
uint8_t reserved1
Definition protocol.h:111
uint16_t out_proto_mask
Definition protocol.h:116
uint16_t tx_ready
Definition protocol.h:112
uint16_t flags
Definition protocol.h:117
uint32_t mode
Definition protocol.h:113
uint16_t in_proto_mask
Definition protocol.h:115
UBX_MSG_ID_CFG_RATE
Definition protocol.h:167
uint16_t meas_rate
Definition protocol.h:168
uint16_t nav_rate
Definition protocol.h:169
uint16_t time_ref
Definition protocol.h:170
UBX_MSG_ID_CFG_RST
Definition protocol.h:184
uint8_t reserved1
Definition protocol.h:187
uint8_t reset_mode
Definition protocol.h:186
uint16_t nav_bbr_mask
Definition protocol.h:185
Query for UBX_MSG_ID_CFG_VALGET.
Definition protocol.h:315
uint16_t position
Definition protocol.h:318
uint8_t layer
Definition protocol.h:317
uint32_t cfg_keys[]
Definition protocol.h:319
uint8_t version
Definition protocol.h:316
Response to UBX_MSG_ID_CFG_VALGET.
Definition protocol.h:324
uint8_t cfg_data[]
Definition protocol.h:328
uint16_t position
Definition protocol.h:327
uint8_t version
Definition protocol.h:325
uint8_t layer
Definition protocol.h:326
UBX_MSG_ID_CFG_VALSET
Definition protocol.h:283
uint8_t layers
Definition protocol.h:285
uint8_t version
Definition protocol.h:284
uint8_t reserved[2]
Definition protocol.h:286
uint8_t cfg_data[]
Definition protocol.h:287
UBX_MSG_ID_CFG_VALSET
Definition protocol.h:292
uint8_t reserved
Definition protocol.h:296
uint8_t layers
Definition protocol.h:294
uint8_t transaction
Definition protocol.h:295
uint8_t version
Definition protocol.h:293
uint8_t cfg_data[]
Definition protocol.h:297
UBX_MSG_ID_ACK_ACK
Definition protocol.h:71
uint8_t message_id
Definition protocol.h:73
uint8_t message_class
Definition protocol.h:72
UBX_MSG_ID_ACK_NAK
Definition protocol.h:78
uint8_t message_class
Definition protocol.h:79
uint8_t message_id
Definition protocol.h:80
UBX_MSG_ID_MON_HW3
Definition protocol.h:363
uint8_t pin_id
Definition protocol.h:371
uint8_t flags
Definition protocol.h:366
uint16_t pin_mask
Definition protocol.h:372
uint8_t version
Definition protocol.h:364
uint8_t n_pins
Definition protocol.h:365
struct ubx_msg_mon_hw3::@29 pins[]
uint8_t vp
Definition protocol.h:373
char hw_version[10]
Definition protocol.h:367
uint8_t reserved1
Definition protocol.h:370
uint8_t reserved0[9]
Definition protocol.h:368
uint8_t reserved2
Definition protocol.h:374
UBX_MSG_ID_MON_HW
Definition protocol.h:397
uint8_t ant_power
Definition protocol.h:405
uint32_t pin_bank
Definition protocol.h:399
uint8_t vp[17]
Definition protocol.h:409
uint8_t flags
Definition protocol.h:406
uint8_t reserved1
Definition protocol.h:407
uint8_t cw_supression
Definition protocol.h:410
uint32_t pin_dir
Definition protocol.h:400
uint32_t pin_sel
Definition protocol.h:398
uint32_t pull_high
Definition protocol.h:413
uint16_t noise_per_ms
Definition protocol.h:402
uint8_t ant_state
Definition protocol.h:404
uint32_t used_mask
Definition protocol.h:408
uint8_t reserved2[2]
Definition protocol.h:411
uint32_t pin_irq
Definition protocol.h:412
uint32_t pull_low
Definition protocol.h:414
uint32_t pin_val
Definition protocol.h:401
uint16_t adc_cnt
Definition protocol.h:403
UBX_MSG_ID_MON_RXR
Definition protocol.h:419
uint8_t flags
Definition protocol.h:420
UBX_MSG_ID_MON_VER
Definition protocol.h:429
char ext_version[30]
Definition protocol.h:436
char sw_version[30]
Null-terminated software version string.
Definition protocol.h:431
char hw_version[10]
Null-terminated hardware version string.
Definition protocol.h:433
struct ubx_msg_mon_ver::@30 extension[]
Extended software information strings.
UBX_MSG_ID_NAV_DOP
Definition protocol.h:481
uint16_t e_dop
Easting DOP.
Definition protocol.h:497
uint16_t v_dop
Vertical DOP.
Definition protocol.h:491
uint16_t t_dop
Time DOP.
Definition protocol.h:489
uint16_t n_dop
Northing DOP.
Definition protocol.h:495
uint16_t h_dop
Horizontal DOP.
Definition protocol.h:493
uint16_t g_dop
Geometric DOP.
Definition protocol.h:485
uint32_t itow
GPS time of week of the navigation epoch.
Definition protocol.h:483
uint16_t p_dop
Position DOP.
Definition protocol.h:487
UBX_MSG_ID_NAV_PVT
Definition protocol.h:502
uint16_t p_dop
Position DOP (0.01)
Definition protocol.h:558
int16_t mag_dec
Magnetic declination.
Definition protocol.h:565
uint8_t flags2
Additional flags.
Definition protocol.h:528
int32_t vel_n
NED north velocity (mm/s)
Definition protocol.h:544
uint32_t head_acc
Heading accuracy estimate (both motion and vehicle) (1e-5 deg)
Definition protocol.h:556
uint32_t h_acc
Horizontal accuracy estimate (mm)
Definition protocol.h:540
uint32_t s_acc
Speed accuracy estimate (mm/s)
Definition protocol.h:554
int32_t height_msl
Height above mean sea level (mm)
Definition protocol.h:538
uint8_t fix_type
GNSSfix Type.
Definition protocol.h:524
uint8_t flags
Fix status flags.
Definition protocol.h:526
int32_t lat
Latitude (1e-7)
Definition protocol.h:534
int32_t nano
Fraction of second, range -1e9 .
Definition protocol.h:522
uint8_t sec
Seconds of minute, range 0..60 (UTC)
Definition protocol.h:516
uint8_t month
Month, range 1..12 (UTC.
Definition protocol.h:508
int32_t g_speed
2D Ground Speed (mm/s)
Definition protocol.h:550
uint8_t min
Minute of hour, range 0..59 (UTC)
Definition protocol.h:514
uint32_t itow
GPS time of week of the navigation epoch.
Definition protocol.h:504
uint32_t t_acc
Time accuracy estimate (UTC)
Definition protocol.h:520
int32_t head_mot
2D Heading of motion (1e-5 deg)
Definition protocol.h:552
int32_t height
Height above ellipsoid (mm)
Definition protocol.h:536
uint8_t num_sv
Number of satellites used in Nav Solution.
Definition protocol.h:530
uint16_t year
Year (UTC)
Definition protocol.h:506
int32_t vel_d
NED down velocity (mm/s)
Definition protocol.h:548
uint8_t valid
Validity flags.
Definition protocol.h:518
uint8_t hour
Hour of day, range 0..23 (UTC)
Definition protocol.h:512
uint16_t flags3
Additional flags.
Definition protocol.h:560
uint8_t day
Day of month, range 1..31 (UTC)
Definition protocol.h:510
uint32_t v_acc
Vertical accuracy estimate (mm)
Definition protocol.h:542
int32_t lon
Longitude (1e-7)
Definition protocol.h:532
int32_t vel_e
NED east velocity (mm/s)
Definition protocol.h:546
uint8_t reserved0[4]
Definition protocol.h:561
uint16_t mag_acc
Magnetic declination accuracy.
Definition protocol.h:567
int32_t head_veh
2D Heading of vehicle, this is only valid when headVehValid is set (1e-5 deg)
Definition protocol.h:563
Definition protocol.h:655
uint8_t sv_id
Satellite identifier.
Definition protocol.h:659
uint32_t flags
Bitmask.
Definition protocol.h:669
uint8_t cno
Carrier to noise ratio (signal strength) (dBHz)
Definition protocol.h:661
int8_t elev
Elevation (range: +/-90), unknown if out of range (deg)
Definition protocol.h:663
uint8_t gnss_id
GNSS identifier.
Definition protocol.h:657
int16_t pr_res
Pseudorange residual.
Definition protocol.h:667
int16_t azim
Azimuth (range 0-360), unknown if elevation is out of range (deg)
Definition protocol.h:665
UBX_MSG_ID_NAV_SAT
Definition protocol.h:647
struct ubx_msg_nav_sat::ubx_msg_nav_sat_sv svs[]
uint8_t version
Message version (0x01 for this version)
Definition protocol.h:651
uint8_t num_svs
Number of satellites.
Definition protocol.h:653
uint32_t itow
GPS time of week of the navigation epoch.
Definition protocol.h:649
uint8_t reserved0[2]
Definition protocol.h:654
UBX_MSG_ID_NAV_TIMEGPS
Definition protocol.h:735
uint32_t t_acc
Time Accuracy Estimate.
Definition protocol.h:747
uint8_t valid
Validity Flags.
Definition protocol.h:745
uint32_t itow
GPS time of week of the navigation epoch.
Definition protocol.h:737
int32_t ftow
Fractional part of iTOW (range: +/-500000)
Definition protocol.h:739
int8_t leap_s
GPS leap seconds (GPS-UTC)
Definition protocol.h:743
uint16_t week
GPS week number of the navigation epoch.
Definition protocol.h:741
UBX_MSG_ID_RXM_PMREQ
Definition protocol.h:781
uint32_t duration_ms
Definition protocol.h:784
uint8_t version
Definition protocol.h:782
uint8_t reserved0[3]
Definition protocol.h:783
uint32_t flags
Definition protocol.h:785
uint32_t wakeup_sources
Definition protocol.h:786