src
point_one
fusion_engine
messages
gnss_corrections.h
Go to the documentation of this file.
1
/**************************************************************************/
/**
2
* @brief GNSS corrections messages.
3
* @file
4
******************************************************************************/
5
6
#pragma once
7
8
#include "
point_one/fusion_engine/messages/defs.h
"
9
10
namespace
point_one
{
11
namespace
fusion_engine {
12
namespace
messages {
13
14
// Enforce 4-byte alignment and packing of all data structures and values.
15
// Floating point values are aligned on platforms that require it. This is done
16
// with a combination of setting struct attributes, and manual alignment
17
// within the definitions. See the "Message Packing" section of the README.
18
#pragma pack(push, 1)
19
20
/**
21
* @defgroup gnss_corrections GNSS Corrections Message Definitions
22
* @brief Messages containing GNSS corrections.
23
* @ingroup messages
24
*
25
* See also @ref messages.
26
*/
27
28
/**
29
* @brief L-band frame contents (@ref MessageType::LBAND_FRAME, version 1.0).
30
* @ingroup gnss_corrections
31
*/
32
struct
P1_ALIGNAS
(4)
LBandFrameMessage
:
public
MessagePayload
{
33
static
constexpr
MessageType
MESSAGE_TYPE =
MessageType::LBAND_FRAME
;
34
static
constexpr uint8_t MESSAGE_VERSION = 0;
35
36
/**
37
* The system time when the frame was received (in nanoseconds). Note that
38
* this is not synchronized to other P1 systems or GNSS.
39
*/
40
int64_t system_time_ns = 0;
41
42
/** Number of bytes in this data payload. */
43
uint16_t user_data_size_bytes = 0;
44
45
/** Count of bit errors found in the data frame. */
46
uint16_t bit_error_count = 0;
47
48
/** Power of the signal (dB). */
49
uint8_t signal_power_db = 0;
50
51
uint8_t reserved[3] = {0};
52
53
/**
54
* The offset from the center frequency (Hz). This includes effects from user
55
* motion, receiver clock, and satellite clock errors.
56
*/
57
float
doppler_hz = 0;
58
59
/**
60
* The beginning of the demodulated L-band frame data.
61
*/
62
// uint8_t data_payload[0];
63
};
64
65
#pragma pack(pop)
66
67
}
// namespace messages
68
}
// namespace fusion_engine
69
}
// namespace point_one
point_one::fusion_engine::messages::MessageType
MessageType
Identifiers for the defined output message types.
Definition:
defs.h:34
P1_ALIGNAS
#define P1_ALIGNAS(N)
Definition:
portability.h:57
point_one::fusion_engine::messages::MessageType::LBAND_FRAME
@ LBAND_FRAME
LBandFrameMessage
point_one::fusion_engine::messages::MessagePayload
The base class for all message payloads.
Definition:
defs.h:687
point_one
GNSS signal and frequency type definitions.
Definition:
logging.h:38
point_one::fusion_engine::messages::LBandFrameMessage
L-band frame contents (MessageType::LBAND_FRAME, version 1.0).
Definition:
gnss_corrections.h:32
defs.h
Point One FusionEngine output message common definitions.
Generated by
1.8.18