6 #ifndef SICK_SCAN_MESSAGE_SICKLOCCOLATELEGRAMMSG_H
7 #define SICK_SCAN_MESSAGE_SICKLOCCOLATELEGRAMMSG_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>
50 typedef std::basic_string<char, std::char_traits<char>,
typename ContainerAllocator::template rebind<char>::other >
_command_name_type;
53 typedef std::vector<std::basic_string<char, std::char_traits<char>,
typename ContainerAllocator::template rebind<char>::other > ,
typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>,
typename ContainerAllocator::template rebind<char>::other > >::other >
_parameter_type;
60 typedef std::shared_ptr< ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator> >
Ptr;
61 typedef std::shared_ptr< ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator>
const>
ConstPtr;
74 template<
typename ContainerAllocator>
75 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator> & v)
82 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
83 bool operator==(const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator2> & rhs)
85 return lhs.header == rhs.header &&
86 lhs.command_type == rhs.command_type &&
87 lhs.command_name == rhs.command_name &&
88 lhs.parameter == rhs.parameter;
91 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
92 bool operator!=(const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator2> & rhs)
102 namespace message_traits
109 template <
class ContainerAllocator>
114 template <
class ContainerAllocator>
119 template <
class ContainerAllocator>
124 template <
class ContainerAllocator>
129 template <
class ContainerAllocator>
134 template <
class ContainerAllocator>
140 template<
class ContainerAllocator>
145 return "fda058e73f190c37b2ae74d5f8aa66d7";
148 static const char*
value(const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator>&) {
return value(); }
149 static const uint64_t static_value1 = 0xfda058e73f190c37ULL;
150 static const uint64_t static_value2 = 0xb2ae74d5f8aa66d7ULL;
153 template<
class ContainerAllocator>
158 return "sick_scan/SickLocColaTelegramMsg";
161 static const char*
value(const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator>&) {
return value(); }
164 template<
class ContainerAllocator>
169 return "# Definition of ros message SickLocColaTelegramMsg.\n"
170 "# SickLocColaTelegramMsg publishes Cola-ASCII telegrams for sick localization.\n"
171 "# See Technical_information_Telegram_Listing_NAV_LOC_en_IM0076556.PDF for further details\n"
172 "# about Cola telgrams\n"
174 "std_msgs/Header header # ROS Header with sequence id, timestamp and frame id\n"
176 "int32 command_type # One of the SOPAS Commands sRN (1, Read by name request) or sRA (2, Read by name response) or sMN (3, Method by name request) or sMA (4, Method by name response) or sWN (5, Write by name request)\n"
178 "string command_name # Name of command like \"SetAccessMode\", \"LocSetResultPoseEnabled\", \"LocRequestTimestamp\", etc.\n"
180 "string[] parameter # Optional parameter, type and number parameter depend on the command, f.e. \"sMN SetAccessMode 3 F4724744\" with 2 parameter\n"
182 "================================================================================\n"
183 "MSG: std_msgs/Header\n"
184 "# Standard metadata for higher-level stamped data types.\n"
185 "# This is generally used to communicate timestamped data \n"
186 "# in a particular coordinate frame.\n"
188 "# sequence ID: consecutively increasing ID \n"
190 "#Two-integer timestamp that is expressed as:\n"
191 "# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n"
192 "# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n"
193 "# time-handling sugar is provided by the client library\n"
195 "#Frame this data is associated with\n"
200 static const char*
value(const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator>&) {
return value(); }
208 namespace serialization
213 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
215 stream.next(m.header);
216 stream.next(m.command_type);
217 stream.next(m.command_name);
218 stream.next(m.parameter);
229 namespace message_operations
232 template<
class ContainerAllocator>
235 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::SickLocColaTelegramMsg_<ContainerAllocator>& v)
240 s <<
indent <<
"command_type: ";
242 s <<
indent <<
"command_name: ";
244 s <<
indent <<
"parameter[]" << std::endl;
245 for (
size_t i = 0; i < v.parameter.size(); ++i)
247 s <<
indent <<
" parameter[" << i <<
"]: ";
256 #endif // SICK_SCAN_MESSAGE_SICKLOCCOLATELEGRAMMSG_H