6 #ifndef SICK_SCAN_MESSAGE_LIDOUTPUTSTATEMSG_H
7 #define SICK_SCAN_MESSAGE_LIDOUTPUTSTATEMSG_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
23 template <
class ContainerAllocator>
71 typedef std::vector<uint8_t, typename ContainerAllocator::template rebind<uint8_t>::other >
_output_state_type;
74 typedef std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other >
_output_count_type;
105 typedef std::shared_ptr< ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator> >
Ptr;
106 typedef std::shared_ptr< ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator>
const>
ConstPtr;
119 template<
typename ContainerAllocator>
120 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator> & v)
127 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
128 bool operator==(const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator2> & rhs)
130 return lhs.header == rhs.header &&
131 lhs.version_number == rhs.version_number &&
132 lhs.system_counter == rhs.system_counter &&
133 lhs.output_state == rhs.output_state &&
134 lhs.output_count == rhs.output_count &&
135 lhs.time_state == rhs.time_state &&
136 lhs.year == rhs.year &&
137 lhs.month == rhs.month &&
138 lhs.day == rhs.day &&
139 lhs.hour == rhs.hour &&
140 lhs.minute == rhs.minute &&
141 lhs.second == rhs.second &&
142 lhs.microsecond == rhs.microsecond;
145 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
146 bool operator!=(const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator2> & rhs)
148 return !(lhs == rhs);
156 namespace message_traits
163 template <
class ContainerAllocator>
168 template <
class ContainerAllocator>
173 template <
class ContainerAllocator>
178 template <
class ContainerAllocator>
183 template <
class ContainerAllocator>
188 template <
class ContainerAllocator>
194 template<
class ContainerAllocator>
199 return "e31d4eb61fa1d840e24cb97a0ef71ace";
202 static const char*
value(const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator>&) {
return value(); }
203 static const uint64_t static_value1 = 0xe31d4eb61fa1d840ULL;
204 static const uint64_t static_value2 = 0xe24cb97a0ef71aceULL;
207 template<
class ContainerAllocator>
212 return "sick_scan/LIDoutputstateMsg";
215 static const char*
value(const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator>&) {
return value(); }
218 template<
class ContainerAllocator>
223 return "# This message contains the \"sSN LIDoutputstate\" message of a Sick laser scanner as an ros message.\n"
229 "uint16 version_number # Status code version number\n"
230 "uint32 system_counter # Status code system counter (time in microsec since power up, max. 71 min then starting from 0 again)\n"
232 "# Array of output states (state and count)\n"
233 "uint8[] output_state # output states, each state with value 0 (not active), 1 (active) or 2 (not used)\n"
234 "uint32[] output_count # output counter\n"
236 "# Time block (sensortime from the last change of min. one of the outputs)\n"
237 "uint16 time_state # No time data: 0, Time data: 1\n"
238 "uint16 year # f.e. 2021\n"
239 "uint8 month # 1 ... 12\n"
240 "uint8 day # 1 ... 31\n"
241 "uint8 hour # 0 ... 23\n"
242 "uint8 minute # 0 ... 59\n"
243 "uint8 second # 0 ... 59\n"
244 "uint32 microsecond # 0 ... 999999\n"
246 "================================================================================\n"
247 "MSG: std_msgs/Header\n"
248 "# Standard metadata for higher-level stamped data types.\n"
249 "# This is generally used to communicate timestamped data \n"
250 "# in a particular coordinate frame.\n"
252 "# sequence ID: consecutively increasing ID \n"
254 "#Two-integer timestamp that is expressed as:\n"
255 "# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n"
256 "# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n"
257 "# time-handling sugar is provided by the client library\n"
259 "#Frame this data is associated with\n"
264 static const char*
value(const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator>&) {
return value(); }
272 namespace serialization
277 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
279 stream.next(m.header);
280 stream.next(m.version_number);
281 stream.next(m.system_counter);
282 stream.next(m.output_state);
283 stream.next(m.output_count);
284 stream.next(m.time_state);
286 stream.next(m.month);
289 stream.next(m.minute);
290 stream.next(m.second);
291 stream.next(m.microsecond);
302 namespace message_operations
305 template<
class ContainerAllocator>
308 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::LIDoutputstateMsg_<ContainerAllocator>& v)
313 s <<
indent <<
"version_number: ";
315 s <<
indent <<
"system_counter: ";
317 s <<
indent <<
"output_state[]" << std::endl;
318 for (
size_t i = 0; i < v.output_state.size(); ++i)
320 s <<
indent <<
" output_state[" << i <<
"]: ";
323 s <<
indent <<
"output_count[]" << std::endl;
324 for (
size_t i = 0; i < v.output_count.size(); ++i)
326 s <<
indent <<
" output_count[" << i <<
"]: ";
343 s <<
indent <<
"microsecond: ";
351 #endif // SICK_SCAN_MESSAGE_LIDOUTPUTSTATEMSG_H