LibMultiSense
LibMultiSense Documentation
ImuInfoMessage.hh
Go to the documentation of this file.
1 
37 #ifndef LibMultiSense_ImuInfoMessage
38 #define LibMultiSense_ImuInfoMessage
39 
40 #include <typeinfo>
41 
42 #include "utility/Portability.hh"
43 
44 namespace crl {
45 namespace multisense {
46 namespace details {
47 namespace wire {
48 namespace imu {
49 
50 class RateType {
51 public:
53 
54  float sampleRate;
56 
57  template<class Archive>
58  void serialize(Archive& message,
59  const VersionType version)
60  {
61  (void) version;
62  message & sampleRate;
63  message & bandwidthCutoff;
64  }
65 };
66 
67 class RangeType {
68 public:
70 
71  float range;
72  float resolution;
73 
74  template<class Archive>
75  void serialize(Archive& message,
76  const VersionType version)
77  {
78  (void) version;
79  message & range;
80  message & resolution;
81  }
82 };
83 
84 class Details {
85 public:
87 
88  std::string name;
89  std::string device;
90  std::string units;
91  std::vector<RateType> rates;
92  std::vector<RangeType> ranges;
93 
94  template<class Archive>
95  void serialize(Archive& message,
96  const VersionType version)
97  {
98  (void) version;
99  message & name;
100  message & device;
101  message & units;
102  message & rates;
103  message & ranges;
104  }
105 };
106 
107 } // namespace imu
108 
109 class ImuInfo {
110 public:
113 
114  //
115  // IMU details per sensor
116 
118  std::vector<imu::Details> details;
119 
120  //
121  // Constructors
122 
124  ImuInfo() {};
125 
126  //
127  // Serialization routine
128 
129  template<class Archive>
130  void serialize(Archive& message,
131  const VersionType version)
132  {
133  (void) version;
134  message & maxSamplesPerMessage;
135  message & details;
136  }
137 };
138 
139 }}}} // namespaces
140 
141 #endif
crl::multisense::details::wire::imu::RangeType::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: ImuInfoMessage.hh:69
crl::multisense::details::wire::ImuInfo::serialize
void serialize(Archive &message, const VersionType version)
Definition: ImuInfoMessage.hh:130
crl::multisense::details::wire::imu::Details::serialize
void serialize(Archive &message, const VersionType version)
Definition: ImuInfoMessage.hh:95
crl::multisense::details::wire::imu::RateType::serialize
void serialize(Archive &message, const VersionType version)
Definition: ImuInfoMessage.hh:58
crl::multisense::details::wire::imu::RateType
Definition: ImuInfoMessage.hh:50
crl::multisense::details::wire::imu::RateType::sampleRate
float sampleRate
Definition: ImuInfoMessage.hh:54
Portability.hh
crl::multisense::details::wire::imu::RateType::bandwidthCutoff
float bandwidthCutoff
Definition: ImuInfoMessage.hh:55
crl::multisense::details::wire::imu::Details::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: ImuInfoMessage.hh:86
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Portability.hh:49
crl::multisense::details::wire::imu::RangeType::range
float range
Definition: ImuInfoMessage.hh:71
crl::multisense::details::wire::imu::RangeType::resolution
float resolution
Definition: ImuInfoMessage.hh:72
crl::multisense::details::wire::imu::RangeType::serialize
void serialize(Archive &message, const VersionType version)
Definition: ImuInfoMessage.hh:75
crl::multisense::details::wire::ImuInfo::ImuInfo
ImuInfo()
Definition: ImuInfoMessage.hh:124
crl::multisense::details::wire::ImuInfo::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: ImuInfoMessage.hh:112
crl
Definition: BufferStream.hh:51
crl::multisense::details::wire::ImuInfo::details
std::vector< imu::Details > details
Definition: ImuInfoMessage.hh:118
crl::multisense::details::wire::ID_DATA_IMU_INFO
static CRL_CONSTEXPR IdType ID_DATA_IMU_INFO
Definition: Protocol.hh:222
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition: Protocol.hh:137
crl::multisense::details::wire::imu::Details::units
std::string units
Definition: ImuInfoMessage.hh:90
crl::multisense::details::wire::ImuInfo
Definition: ImuInfoMessage.hh:109
crl::multisense::details::wire::imu::RangeType
Definition: ImuInfoMessage.hh:67
crl::multisense::details::wire::imu::RateType::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: ImuInfoMessage.hh:52
crl::multisense::details::wire::imu::Details::rates
std::vector< RateType > rates
Definition: ImuInfoMessage.hh:91
crl::multisense::details::wire::imu::Details
Definition: ImuInfoMessage.hh:84
crl::multisense::details::utility::BufferStreamReader
Definition: BufferStream.hh:192
multisense
Definition: MultiSenseChannel.hh:44
crl::multisense::details::wire::imu::Details::ranges
std::vector< RangeType > ranges
Definition: ImuInfoMessage.hh:92
crl::multisense::details::wire::ImuInfo::maxSamplesPerMessage
uint32_t maxSamplesPerMessage
Definition: ImuInfoMessage.hh:117
crl::multisense::details::wire::ImuInfo::ID
static CRL_CONSTEXPR IdType ID
Definition: ImuInfoMessage.hh:111
crl::multisense::details::wire::imu::Details::device
std::string device
Definition: ImuInfoMessage.hh:89
crl::multisense::details::wire::imu::Details::name
std::string name
Definition: ImuInfoMessage.hh:88
crl::multisense::details::wire::IdType
uint16_t IdType
Definition: Protocol.hh:136
crl::multisense::details::wire::ImuInfo::ImuInfo
ImuInfo(utility::BufferStreamReader &r, VersionType v)
Definition: ImuInfoMessage.hh:123