LibMultiSense
LibMultiSense Documentation
ImuDataMessage.hh
Go to the documentation of this file.
1
39
#ifndef LibMultiSense_ImuDataMessage
40
#define LibMultiSense_ImuDataMessage
41
42
#include "
utility/Portability.hh
"
43
44
namespace
crl
{
45
namespace
multisense
{
46
namespace
details {
47
namespace
wire {
48
49
class
WIRE_HEADER_ATTRIBS_
ImuSample
{
50
public
:
51
static
CRL_CONSTEXPR
VersionType
VERSION = 2;
52
static
CRL_CONSTEXPR
uint16_t TYPE_ACCEL = 1;
53
static
CRL_CONSTEXPR
uint16_t TYPE_GYRO = 2;
54
static
CRL_CONSTEXPR
uint16_t TYPE_MAG = 3;
55
56
uint16_t
type
;
57
int64_t
timeNanoSeconds
;
58
float
x, y,
z
;
59
uint64_t
ptpNanoSeconds
;
60
61
#ifndef SENSORPOD_FIRMWARE
62
template
<
class
Archive>
63
void
serialize
(Archive& message,
64
const
VersionType
version)
65
{
66
(void) version;
67
message & type;
68
message & timeNanoSeconds;
69
message & x;
70
message & y;
71
message & z;
72
73
if
(version >= 2)
74
{
75
message & ptpNanoSeconds;
76
}
77
}
78
#endif // !SENSORPOD_FIRMWARE
79
};
80
81
class
ImuData
{
82
public
:
83
static
CRL_CONSTEXPR
IdType
ID
=
ID_DATA_IMU
;
84
static
CRL_CONSTEXPR
VersionType
VERSION
= 1;
85
86
uint32_t
sequence
;
87
std::vector<ImuSample>
samples
;
88
89
#ifndef SENSORPOD_FIRMWARE
90
91
//
92
// Constructors
93
94
ImuData
(
utility::BufferStreamReader
&r,
VersionType
v) {
serialize
(r,v);};
95
ImuData
() {};
96
97
//
98
// Serialization routine
99
100
template
<
class
Archive>
101
void
serialize
(Archive& message,
102
const
VersionType
version)
103
{
104
(void) version;
105
message &
sequence
;
106
message &
samples
;
107
}
108
#endif // !SENSORPOD_FIRMWARE
109
110
};
111
112
}}}}
// namespaces
113
114
#endif
crl::multisense::details::wire::ImuSample
Definition:
ImuDataMessage.hh:49
crl::multisense::details::wire::ImuData::serialize
void serialize(Archive &message, const VersionType version)
Definition:
ImuDataMessage.hh:101
crl::multisense::details::wire::ImuSample::timeNanoSeconds
int64_t timeNanoSeconds
Definition:
ImuDataMessage.hh:57
crl::multisense::details::wire::ImuSample::z
float z
Definition:
ImuDataMessage.hh:58
crl::multisense::details::wire::ImuSample::type
uint16_t type
Definition:
ImuDataMessage.hh:56
crl::multisense::details::wire::ID_DATA_IMU
static CRL_CONSTEXPR IdType ID_DATA_IMU
Definition:
Protocol.hh:221
crl::multisense::details::wire::ImuSample::ptpNanoSeconds
uint64_t ptpNanoSeconds
Definition:
ImuDataMessage.hh:59
Portability.hh
WIRE_HEADER_ATTRIBS_
#define WIRE_HEADER_ATTRIBS_
Definition:
Protocol.hh:65
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition:
Portability.hh:49
crl
Definition:
BufferStream.hh:51
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition:
Protocol.hh:137
crl::multisense::details::wire::ImuData::sequence
uint32_t sequence
Definition:
ImuDataMessage.hh:86
crl::multisense::details::wire::ImuData
Definition:
ImuDataMessage.hh:81
crl::multisense::details::wire::ImuData::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition:
ImuDataMessage.hh:84
crl::multisense::details::wire::ImuData::ImuData
ImuData(utility::BufferStreamReader &r, VersionType v)
Definition:
ImuDataMessage.hh:94
crl::multisense::details::utility::BufferStreamReader
Definition:
BufferStream.hh:192
crl::multisense::details::wire::ImuData::ImuData
ImuData()
Definition:
ImuDataMessage.hh:95
multisense
Definition:
MultiSenseChannel.hh:44
crl::multisense::details::wire::ImuData::samples
std::vector< ImuSample > samples
Definition:
ImuDataMessage.hh:87
crl::multisense::details::wire::ImuData::ID
static CRL_CONSTEXPR IdType ID
Definition:
ImuDataMessage.hh:83
crl::multisense::details::wire::IdType
uint16_t IdType
Definition:
Protocol.hh:136
crl::multisense::details::wire::ImuSample::serialize
void serialize(Archive &message, const VersionType version)
Definition:
ImuDataMessage.hh:63
source
Wire
include
wire
ImuDataMessage.hh
Generated on Tue Mar 18 2025 14:54:04 for LibMultiSense by
1.8.17