PER Firmware
Loading...
Searching...
No Matches
nav_relposned.h
Go to the documentation of this file.
1#ifndef NAV_RELPOSNED_H
2#define NAV_RELPOSNED_H
3
11#include <stdint.h>
12#include <stddef.h>
13
14// UBX NAV-RELPOSNED message header
15static constexpr uint8_t NAV_RELPOSNED_HEADER_B0 = 0xB5; // UBX message header sync byte 0
16static constexpr uint8_t NAV_RELPOSNED_HEADER_B1 = 0x62; // UBX message header sync byte 1
17static constexpr uint8_t NAV_RELPOSNED_CLASS = 0x01; // UBX message class for NAV-RELPOSNED
18static constexpr uint8_t NAV_RELPOSNED_MSG_ID = 0x3C; // UBX message ID for NAV-RELPOSNED
19
20static constexpr size_t NAV_RELPOSNED_TOTAL_LENGTH = 48;
21
36
37typedef struct {
38 uint8_t version;
39 uint8_t reserved0;
40 uint16_t refStationId;
41 uint32_t iTOW;
42
43 int32_t relPosN;
44 int32_t relPosE;
45 int32_t relPosD;
46
47 int8_t relPosHPN;
48 int8_t relPosHPE;
49 int8_t relPosHPD;
50 uint8_t reserved1;
51
52 uint32_t accN;
53 uint32_t accE;
54 uint32_t accD;
55
58
59static_assert(sizeof(NAV_RELPOSNED_data_t) == 40, "NAV_RELPOSNED_data_t size must be 40 bytes");
60static_assert(offsetof(NAV_RELPOSNED_data_t, version) == 0);
61static_assert(offsetof(NAV_RELPOSNED_data_t, refStationId) == 2);
62static_assert(offsetof(NAV_RELPOSNED_data_t, iTOW) == 4);
63static_assert(offsetof(NAV_RELPOSNED_data_t, relPosN) == 8);
64static_assert(offsetof(NAV_RELPOSNED_data_t, relPosE) == 12);
65static_assert(offsetof(NAV_RELPOSNED_data_t, relPosD) == 16);
66static_assert(offsetof(NAV_RELPOSNED_data_t, relPosHPN) == 20);
67static_assert(offsetof(NAV_RELPOSNED_data_t, accN) == 24);
68static_assert(offsetof(NAV_RELPOSNED_data_t, accE) == 28);
69static_assert(offsetof(NAV_RELPOSNED_data_t, accD) == 32);
70static_assert(offsetof(NAV_RELPOSNED_data_t, flags) == 36);
71
72void NAV_RELPOSNED_decode(NAV_RELPOSNED_data_t *relposned, const volatile uint8_t *rx_buffer);
73
74#endif // NAV_RELPOSNED_H
static constexpr uint8_t NAV_RELPOSNED_HEADER_B0
Definition nav_relposned.h:15
static constexpr uint8_t NAV_RELPOSNED_HEADER_B1
Definition nav_relposned.h:16
static constexpr size_t NAV_RELPOSNED_TOTAL_LENGTH
Definition nav_relposned.h:20
static constexpr uint8_t NAV_RELPOSNED_CLASS
Definition nav_relposned.h:17
void NAV_RELPOSNED_decode(NAV_RELPOSNED_data_t *relposned, const volatile uint8_t *rx_buffer)
Definition nav_relposned.c:11
static constexpr uint8_t NAV_RELPOSNED_MSG_ID
Definition nav_relposned.h:18
NAV_RELPOSNED_flags_t
Definition nav_relposned.h:22
@ NAV_RELPOSNED_FLAGS_CARR_SOLN_FLOAT
Definition nav_relposned.h:29
@ NAV_RELPOSNED_FLAGS_CARR_SOLN_NONE
Definition nav_relposned.h:28
@ NAV_RELPOSNED_FLAGS_CARR_SOLN_FIXED
Definition nav_relposned.h:30
@ NAV_RELPOSNED_FLAGS_IS_MOVING
Definition nav_relposned.h:32
@ NAV_RELPOSNED_FLAGS_GNSS_FIX_OK
Definition nav_relposned.h:23
@ NAV_RELPOSNED_FLAGS_DIFF_SOLN
Definition nav_relposned.h:24
@ NAV_RELPOSNED_FLAGS_REL_POS_VALID
Definition nav_relposned.h:25
@ NAV_RELPOSNED_FLAGS_REF_POS_MISS
Definition nav_relposned.h:33
@ NAV_RELPOSNED_FLAGS_REF_OBS_MISS
Definition nav_relposned.h:34
@ NAV_RELPOSNED_FLAGS_CARR_SOLN_MASK
Definition nav_relposned.h:27
Definition nav_relposned.h:37
uint8_t reserved0
Definition nav_relposned.h:39
uint16_t refStationId
Definition nav_relposned.h:40
int32_t relPosE
Definition nav_relposned.h:44
int32_t relPosN
Definition nav_relposned.h:43
NAV_RELPOSNED_flags_t flags
Definition nav_relposned.h:56
uint32_t accE
Definition nav_relposned.h:53
uint32_t accD
Definition nav_relposned.h:54
uint8_t version
Definition nav_relposned.h:38
int8_t relPosHPN
Definition nav_relposned.h:47
uint8_t reserved1
Definition nav_relposned.h:50
int32_t relPosD
Definition nav_relposned.h:45
int8_t relPosHPD
Definition nav_relposned.h:49
uint32_t iTOW
Definition nav_relposned.h:41
int8_t relPosHPE
Definition nav_relposned.h:48
uint32_t accN
Definition nav_relposned.h:52