Go to the documentation of this file.
6 #ifndef SICK_SCAN_MESSAGE_SICKLOCRESULTPORTTELEGRAMMSG_H
7 #define SICK_SCAN_MESSAGE_SICKLOCRESULTPORTTELEGRAMMSG_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
26 template <
class ContainerAllocator>
78 typedef std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator> >
Ptr;
79 typedef std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator>
const>
ConstPtr;
92 template<
typename ContainerAllocator>
93 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator> & v)
100 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
101 bool operator==(const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator2> & rhs)
103 return lhs.header == rhs.header &&
104 lhs.telegram_header == rhs.telegram_header &&
105 lhs.telegram_payload == rhs.telegram_payload &&
106 lhs.telegram_trailer == rhs.telegram_trailer &&
107 lhs.vehicle_time_valid == rhs.vehicle_time_valid &&
108 lhs.vehicle_time_sec == rhs.vehicle_time_sec &&
109 lhs.vehicle_time_nsec == rhs.vehicle_time_nsec;
112 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
113 bool operator!=(const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator2> & rhs)
115 return !(lhs == rhs);
123 namespace message_traits
130 template <
class ContainerAllocator>
135 template <
class ContainerAllocator>
140 template <
class ContainerAllocator>
145 template <
class ContainerAllocator>
150 template <
class ContainerAllocator>
155 template <
class ContainerAllocator>
161 template<
class ContainerAllocator>
166 return "491c7d2167f9158df5febcf9e822aba3";
169 static const char*
value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator>&) {
return value(); }
170 static const uint64_t static_value1 = 0x491c7d2167f9158dULL;
171 static const uint64_t static_value2 = 0xf5febcf9e822aba3ULL;
174 template<
class ContainerAllocator>
179 return "sick_scan/SickLocResultPortTelegramMsg";
182 static const char*
value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator>&) {
return value(); }
185 template<
class ContainerAllocator>
190 return "# Definition of ros message SickLocResultPortTelegramMsg.\n"
191 "# SickLocResultPortTelegramMsg publishes result port telegrams\n"
192 "# for sick localization. See chapter 5.9 (\"About result port telegrams\")\n"
193 "# of the operation manual for further details.\n"
199 "std_msgs/Header header # ROS Header with sequence id, timestamp and frame id\n"
202 "# Result port telegram\n"
205 "SickLocResultPortHeaderMsg telegram_header # 52 byte header of a result port telegram\n"
206 "SickLocResultPortPayloadMsg telegram_payload # 52 byte payload of a result port telegram\n"
207 "SickLocResultPortCrcMsg telegram_trailer # 2 byte CRC trailer of a result port telegram\n"
210 "# System time of vehicles pose calculated by ros service \"SickLocTimeSync\" using a software pll\n"
213 "bool vehicle_time_valid # true: vehicle_time_sec and vehicle_time_nsec valid, false: software pll still in initial phase\n"
214 "uint32 vehicle_time_sec # Time of vehicles pose calculated by software pll (seconds part of the system time)\n"
215 "uint32 vehicle_time_nsec # Time of vehicles pose calculated by software pll (nano seconds part of the system time)\n"
217 "================================================================================\n"
218 "MSG: std_msgs/Header\n"
219 "# Standard metadata for higher-level stamped data types.\n"
220 "# This is generally used to communicate timestamped data \n"
221 "# in a particular coordinate frame.\n"
223 "# sequence ID: consecutively increasing ID \n"
225 "#Two-integer timestamp that is expressed as:\n"
226 "# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n"
227 "# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n"
228 "# time-handling sugar is provided by the client library\n"
230 "#Frame this data is associated with\n"
233 "================================================================================\n"
234 "MSG: sick_scan/SickLocResultPortHeaderMsg\n"
235 "# Definition of ros message SickLocResultPortHeaderMsg.\n"
236 "# SickLocResultPortHeaderMsg publishes the header of a result port telegram\n"
237 "# for sick localization (52 byte). See chapter 5.9 (\"About result port telegrams\")\n"
238 "# of the operation manual for further details.\n"
240 "uint32 magicword # Magic word SICK (0x53 0x49 0x43 0x4B). Size: 4 × UInt8 = 4 byte\n"
241 "uint32 length # Length of telegram incl. header, payload, and trailer. Size: UInt32 = 4 byte\n"
242 "uint16 payloadtype # Payload type: 0x06c2 = Little Endian, 0x0642 = Big Endian. Size: UInt16 = 2 byte\n"
243 "uint16 payloadversion # Version of PayloadType structure. Size: UInt16 = 2 byte\n"
244 "uint32 ordernumber # Order number of the localization controller. Size: UInt32 = 4 byte\n"
245 "uint32 serialnumber # Serial number of the localization controller. Size: UInt32 = 4 byte\n"
246 "uint8[] fw_version # Software version of the localization controller. Size: 20 × UInt8 = 20 byte\n"
247 "uint32 telegramcounter # Telegram counter since last start-up. Size: UInt32 = 4 byte\n"
248 "uint64 systemtime # Not used. Size: NTP = 8 byte\n"
251 "================================================================================\n"
252 "MSG: sick_scan/SickLocResultPortPayloadMsg\n"
253 "# Definition of ros message SickLocResultPortPayloadMsg.\n"
254 "# SickLocResultPortPayloadMsg publishes the payload of a result port telegram\n"
255 "# for sick localization (52 byte). See chapter 5.9 (\"About result port telegrams\")\n"
256 "# of the operation manual for further details.\n"
258 "uint16 errorcode # ErrorCode 0: OK, ErrorCode 1: UNKNOWNERROR. Size: UInt16 = 2 byte\n"
259 "uint32 scancounter # Counter of related scan data. Size: UInt32 = 4 byte\n"
260 "uint32 timestamp # Time stamp of the pose [ms]. The time stamp indicates the time at which the pose is calculated. Size: UInt32 = 4 byte\n"
261 "int32 posex # Position X of the vehicle on the map in cartesian global coordinates [mm]. Size: Int32 = 4 byte\n"
262 "int32 posey # Position Y of the vehicle on the map in cartesian global coordinates [mm]. Size: Int32 = 4 byte\n"
263 "int32 poseyaw # Orientation (yaw) of the vehicle on the map [mdeg] Size: Int32 = 4 byte\n"
264 "uint32 reserved1 # Reserved. Size: UInt32 = 4 byte\n"
265 "int32 reserved2 # Reserved. Size: Int32 = 4 byte\n"
266 "uint8 quality # Quality of pose [0 ... 100], 1 = bad pose quality, 100 = good pose quality. Size: UInt8 = 1 byte\n"
267 "uint8 outliersratio # Ratio of beams that cannot be assigned to the current reference map [%]. Size: UInt8 = 1 byte\n"
268 "int32 covariancex # Covariance c1 of the pose X [mm^2]. Size: Int32 = 4 byte\n"
269 "int32 covariancey # Covariance c5 of the pose Y [mm^2]. Size: Int32 = 4 byte\n"
270 "int32 covarianceyaw # Covariance c9 of the pose Yaw [mdeg^2]. Size: Int32 = 4 byte\n"
271 "uint64 reserved3 # Reserved. Size: UInt64 = 8 byte\n"
274 "================================================================================\n"
275 "MSG: sick_scan/SickLocResultPortCrcMsg\n"
276 "# Definition of ros message SickLocResultPortCrcMsg.\n"
277 "# SickLocResultPortCrcMsg publishes the CRC trailer of a result port telegram\n"
278 "# for sick localization (2 byte). \n"
279 "# Checksum details:\n"
280 "# * Width: 16 bits\n"
281 "# * Truncated polynomial: 0x1021 CRC polynomials with orders of x16 + x12 + x5 + 1 (counted without the leading '1' bit)\n"
282 "# * Initial value = 0xFFFF\n"
283 "# See chapter 5.9 (\"About result port telegrams\") of the operation manual for further details.\n"
285 "uint16 checksum # CRC16-CCITT over length of header (52 bytes) and payload (52 bytes) without 2 bytes of this trailer. Size: UInt16 = 2 byte\n"
290 static const char*
value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator>&) {
return value(); }
298 namespace serialization
303 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
305 stream.next(m.header);
306 stream.next(m.telegram_header);
307 stream.next(m.telegram_payload);
308 stream.next(m.telegram_trailer);
309 stream.next(m.vehicle_time_valid);
310 stream.next(m.vehicle_time_sec);
311 stream.next(m.vehicle_time_nsec);
322 namespace message_operations
325 template<
class ContainerAllocator>
328 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::SickLocResultPortTelegramMsg_<ContainerAllocator>& v)
333 s <<
indent <<
"telegram_header: ";
336 s <<
indent <<
"telegram_payload: ";
339 s <<
indent <<
"telegram_trailer: ";
342 s <<
indent <<
"vehicle_time_valid: ";
344 s <<
indent <<
"vehicle_time_sec: ";
346 s <<
indent <<
"vehicle_time_nsec: ";
354 #endif // SICK_SCAN_MESSAGE_SICKLOCRESULTPORTTELEGRAMMSG_H
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
std::ostream & operator<<(std::ostream &s, const ::sick_scan_xd::ColaMsgSrvRequest_< ContainerAllocator > &v)
bool operator!=(const ::sick_scan_xd::ColaMsgSrvRequest_< ContainerAllocator1 > &lhs, const ::sick_scan_xd::ColaMsgSrvRequest_< ContainerAllocator2 > &rhs)
Templated serialization class. Default implementation provides backwards compatibility with old messa...
uint8_t _vehicle_time_valid_type
::sick_scan_xd::SickLocResultPortHeaderMsg_< ContainerAllocator > _telegram_header_type
static const char * value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > &)
std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg > SickLocResultPortTelegramMsgPtr
static const char * value()
SickLocResultPortTelegramMsg_< ContainerAllocator > Type
static const char * value()
static void stream(Stream &s, const std::string &indent, const M &value)
_vehicle_time_sec_type vehicle_time_sec
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
static void allInOne(Stream &stream, T m)
uint32_t _vehicle_time_nsec_type
_telegram_trailer_type telegram_trailer
#define ROS_DECLARE_ALLINONE_SERIALIZER
Declare your serializer to use an allInOne member instead of requiring 3 different serialization func...
_vehicle_time_valid_type vehicle_time_valid
Specialize to provide the datatype for a message.
static const char * value()
Specialize to provide the definition for a message.
static void stream(Stream &s, const std::string &indent, const ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > &v)
_vehicle_time_nsec_type vehicle_time_nsec
std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > const > ConstPtr
static const char * value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > &)
static const char * value(const ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > &)
SickLocResultPortTelegramMsg_()
::std_msgs::Header_< ContainerAllocator > _header_type
std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg_< ContainerAllocator > > Ptr
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
Specialize to provide the md5sum for a message.
_telegram_payload_type telegram_payload
std::shared_ptr< ::sick_scan_xd::SickLocResultPortTelegramMsg const > SickLocResultPortTelegramMsgConstPtr
bool operator==(const ::sick_scan_xd::ColaMsgSrvRequest_< ContainerAllocator1 > &lhs, const ::sick_scan_xd::ColaMsgSrvRequest_< ContainerAllocator2 > &rhs)
::sick_scan_xd::SickLocResultPortCrcMsg_< ContainerAllocator > _telegram_trailer_type
Stream base-class, provides common functionality for IStream and OStream.
SickLocResultPortTelegramMsg_(const ContainerAllocator &_alloc)
::sick_scan_xd::SickLocResultPortTelegramMsg_< std::allocator< void > > SickLocResultPortTelegramMsg
::sick_scan_xd::SickLocResultPortPayloadMsg_< ContainerAllocator > _telegram_payload_type
uint32_t _vehicle_time_sec_type
_telegram_header_type telegram_header
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:11