6 #ifndef SICK_SCAN_MESSAGE_SICKLOCRESULTPORTHEADERMSG_H
7 #define SICK_SCAN_MESSAGE_SICKLOCRESULTPORTHEADERMSG_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
22 template <
class ContainerAllocator>
71 typedef std::vector<uint8_t, typename ContainerAllocator::template rebind<uint8_t>::other >
_fw_version_type;
84 typedef std::shared_ptr< ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator> >
Ptr;
85 typedef std::shared_ptr< ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator>
const>
ConstPtr;
98 template<
typename ContainerAllocator>
99 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator> & v)
106 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
107 bool operator==(const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator2> & rhs)
109 return lhs.magicword == rhs.magicword &&
110 lhs.length == rhs.length &&
111 lhs.payloadtype == rhs.payloadtype &&
112 lhs.payloadversion == rhs.payloadversion &&
113 lhs.ordernumber == rhs.ordernumber &&
114 lhs.serialnumber == rhs.serialnumber &&
115 lhs.fw_version == rhs.fw_version &&
116 lhs.telegramcounter == rhs.telegramcounter &&
117 lhs.systemtime == rhs.systemtime;
120 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
121 bool operator!=(const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator2> & rhs)
123 return !(lhs == rhs);
131 namespace message_traits
138 template <
class ContainerAllocator>
143 template <
class ContainerAllocator>
148 template <
class ContainerAllocator>
153 template <
class ContainerAllocator>
158 template <
class ContainerAllocator>
163 template <
class ContainerAllocator>
169 template<
class ContainerAllocator>
174 return "974a1ebc4ebbc21c0773fa36aa0f0469";
177 static const char*
value(const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator>&) {
return value(); }
178 static const uint64_t static_value1 = 0x974a1ebc4ebbc21cULL;
179 static const uint64_t static_value2 = 0x0773fa36aa0f0469ULL;
182 template<
class ContainerAllocator>
187 return "sick_scan/SickLocResultPortHeaderMsg";
190 static const char*
value(const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator>&) {
return value(); }
193 template<
class ContainerAllocator>
198 return "# Definition of ros message SickLocResultPortHeaderMsg.\n"
199 "# SickLocResultPortHeaderMsg publishes the header of a result port telegram\n"
200 "# for sick localization (52 byte). See chapter 5.9 (\"About result port telegrams\")\n"
201 "# of the operation manual for further details.\n"
203 "uint32 magicword # Magic word SICK (0x53 0x49 0x43 0x4B). Size: 4 × UInt8 = 4 byte\n"
204 "uint32 length # Length of telegram incl. header, payload, and trailer. Size: UInt32 = 4 byte\n"
205 "uint16 payloadtype # Payload type: 0x06c2 = Little Endian, 0x0642 = Big Endian. Size: UInt16 = 2 byte\n"
206 "uint16 payloadversion # Version of PayloadType structure. Size: UInt16 = 2 byte\n"
207 "uint32 ordernumber # Order number of the localization controller. Size: UInt32 = 4 byte\n"
208 "uint32 serialnumber # Serial number of the localization controller. Size: UInt32 = 4 byte\n"
209 "uint8[] fw_version # Software version of the localization controller. Size: 20 × UInt8 = 20 byte\n"
210 "uint32 telegramcounter # Telegram counter since last start-up. Size: UInt32 = 4 byte\n"
211 "uint64 systemtime # Not used. Size: NTP = 8 byte\n"
216 static const char*
value(const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator>&) {
return value(); }
224 namespace serialization
229 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
231 stream.next(m.magicword);
232 stream.next(m.length);
233 stream.next(m.payloadtype);
234 stream.next(m.payloadversion);
235 stream.next(m.ordernumber);
236 stream.next(m.serialnumber);
237 stream.next(m.fw_version);
238 stream.next(m.telegramcounter);
239 stream.next(m.systemtime);
250 namespace message_operations
253 template<
class ContainerAllocator>
256 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::SickLocResultPortHeaderMsg_<ContainerAllocator>& v)
262 s <<
indent <<
"payloadtype: ";
264 s <<
indent <<
"payloadversion: ";
266 s <<
indent <<
"ordernumber: ";
268 s <<
indent <<
"serialnumber: ";
270 s <<
indent <<
"fw_version[]" << std::endl;
271 for (
size_t i = 0; i < v.fw_version.size(); ++i)
273 s <<
indent <<
" fw_version[" << i <<
"]: ";
276 s <<
indent <<
"telegramcounter: ";
286 #endif // SICK_SCAN_MESSAGE_SICKLOCRESULTPORTHEADERMSG_H