LibMultiSense
LibMultiSense Documentation
SecondaryAppDataMessage.hh
Go to the documentation of this file.
1
37
#ifndef LibMultiSense_SecondaryAppData
38
#define LibMultiSense_SecondaryAppData
39
40
#include <typeinfo>
41
#include <cmath>
42
43
#include "MultiSense/details/utility/Portability.hh"
44
45
namespace
crl
{
46
namespace
multisense
{
47
namespace
details {
48
namespace
wire {
49
50
class
WIRE_HEADER_ATTRIBS_
SecondaryAppHeader
{
51
public
:
52
53
static
CRL_CONSTEXPR
IdType
ID =
ID_DATA_SECONDARY_APP
;
54
static
CRL_CONSTEXPR
VersionType
VERSION = 1;
55
56
#ifdef SENSORPOD_FIRMWARE
57
IdType
id;
58
VersionType
version;
59
#endif // SENSORPOD_FIRMWARE
60
61
uint32_t
source
;
62
uint32_t
length
;
63
int64_t
frameId
;
64
uint32_t
timeSeconds
;
65
uint32_t
timeMicroSeconds
;
66
uint32_t
sourceExtended
;
67
68
SecondaryAppHeader
()
69
:
70
#ifdef SENSORDPOD_FIRMWARE
71
id(ID),
72
version(VERSION),
73
#endif
// SENSORPOD_FIRMWARE
74
source(0),
75
length(0),
76
frameId(0),
77
timeSeconds(0),
78
timeMicroSeconds(0)
79
{};
80
};
81
82
#ifndef SENSORPOD_FIRMWARE
83
84
class
SecondaryAppData
:
public
SecondaryAppHeader
{
85
public
:
86
87
void
*
dataP
;
88
89
//
90
// Constructors
91
92
SecondaryAppData
(
utility::BufferStreamReader
&r,
VersionType
v) {
serialize
(r,v);};
93
SecondaryAppData
() :
dataP
(NULL) {};
94
95
//
96
// Serialization routine
97
98
template
<
class
Archive>
99
void
serialize
(Archive& message,
100
const
VersionType
version)
101
{
102
(void) version;
103
message &
source
;
104
message &
length
;
105
message &
frameId
;
106
message &
timeSeconds
;
107
message &
timeMicroSeconds
;
108
message &
sourceExtended
;
109
110
if
(
typeid
(Archive) ==
typeid
(
utility::BufferStreamWriter
)) {
111
112
message.write(
dataP
,
length
);
113
114
}
else
{
115
116
dataP
= message.peek();
117
message.seek(message.tell() +
length
);
118
}
119
120
}
121
};
122
123
#endif // !SENSORPOD_FIRMWARE
124
125
}}}}
// namespaces
126
127
#endif
crl::multisense::details::wire::SecondaryAppHeader::timeMicroSeconds
uint32_t timeMicroSeconds
Definition:
SecondaryAppDataMessage.hh:65
crl::multisense::details::wire::SecondaryAppHeader::source
uint32_t source
Definition:
SecondaryAppDataMessage.hh:61
crl::multisense::details::wire::SecondaryAppData
Definition:
SecondaryAppDataMessage.hh:84
WIRE_HEADER_ATTRIBS_
#define WIRE_HEADER_ATTRIBS_
Definition:
Protocol.hh:65
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition:
Portability.hh:49
crl::multisense::details::wire::SecondaryAppData::dataP
void * dataP
Definition:
SecondaryAppDataMessage.hh:87
crl::multisense::details::wire::SecondaryAppData::SecondaryAppData
SecondaryAppData()
Definition:
SecondaryAppDataMessage.hh:93
crl
Definition:
BufferStream.hh:51
crl::multisense::details::wire::SecondaryAppHeader::length
uint32_t length
Definition:
SecondaryAppDataMessage.hh:62
crl::multisense::details::wire::SecondaryAppData::SecondaryAppData
SecondaryAppData(utility::BufferStreamReader &r, VersionType v)
Definition:
SecondaryAppDataMessage.hh:92
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition:
Protocol.hh:137
crl::multisense::details::utility::BufferStreamWriter
Definition:
BufferStream.hh:259
crl::multisense::details::wire::ID_DATA_SECONDARY_APP
static CRL_CONSTEXPR IdType ID_DATA_SECONDARY_APP
Definition:
Protocol.hh:242
crl::multisense::details::wire::SecondaryAppHeader::SecondaryAppHeader
SecondaryAppHeader()
Definition:
SecondaryAppDataMessage.hh:68
crl::multisense::details::wire::SecondaryAppHeader::frameId
int64_t frameId
Definition:
SecondaryAppDataMessage.hh:63
crl::multisense::details::utility::BufferStreamReader
Definition:
BufferStream.hh:192
multisense
Definition:
MultiSenseChannel.hh:44
crl::multisense::details::wire::SecondaryAppData::serialize
void serialize(Archive &message, const VersionType version)
Definition:
SecondaryAppDataMessage.hh:99
crl::multisense::details::wire::SecondaryAppHeader::timeSeconds
uint32_t timeSeconds
Definition:
SecondaryAppDataMessage.hh:64
crl::multisense::details::wire::SecondaryAppHeader::sourceExtended
uint32_t sourceExtended
Definition:
SecondaryAppDataMessage.hh:66
crl::multisense::details::wire::IdType
uint16_t IdType
Definition:
Protocol.hh:136
crl::multisense::details::wire::SecondaryAppHeader
Definition:
SecondaryAppDataMessage.hh:50
source
Wire
include
wire
SecondaryAppDataMessage.hh
Generated on Tue Mar 18 2025 14:54:04 for LibMultiSense by
1.8.17