00001
00002 #ifndef PROXIMITY_SENSOR_DRIVER_MESSAGE_PROX_SENSOR_MEASUREMENT_H
00003 #define PROXIMITY_SENSOR_DRIVER_MESSAGE_PROX_SENSOR_MEASUREMENT_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "std_msgs/Header.h"
00018
00019 namespace proximity_sensor_driver
00020 {
00021 template <class ContainerAllocator>
00022 struct prox_sensor_measurement_ {
00023 typedef prox_sensor_measurement_<ContainerAllocator> Type;
00024
00025 prox_sensor_measurement_()
00026 : header()
00027 , is_connected(false)
00028 , cell_count(0)
00029 , value()
00030 , offset()
00031 , limit()
00032 , status_go(false)
00033 , status_err(false)
00034 , debug_voltage1()
00035 , debug_voltage2()
00036 , debug_voltage3()
00037 {
00038 value.assign(0);
00039 offset.assign(0);
00040 limit.assign(0);
00041 debug_voltage1.assign(0);
00042 debug_voltage2.assign(0);
00043 debug_voltage3.assign(0);
00044 }
00045
00046 prox_sensor_measurement_(const ContainerAllocator& _alloc)
00047 : header(_alloc)
00048 , is_connected(false)
00049 , cell_count(0)
00050 , value()
00051 , offset()
00052 , limit()
00053 , status_go(false)
00054 , status_err(false)
00055 , debug_voltage1()
00056 , debug_voltage2()
00057 , debug_voltage3()
00058 {
00059 value.assign(0);
00060 offset.assign(0);
00061 limit.assign(0);
00062 debug_voltage1.assign(0);
00063 debug_voltage2.assign(0);
00064 debug_voltage3.assign(0);
00065 }
00066
00067 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00068 ::std_msgs::Header_<ContainerAllocator> header;
00069
00070 typedef uint8_t _is_connected_type;
00071 uint8_t is_connected;
00072
00073 typedef uint16_t _cell_count_type;
00074 uint16_t cell_count;
00075
00076 typedef boost::array<uint8_t, 192> _value_type;
00077 boost::array<uint8_t, 192> value;
00078
00079 typedef boost::array<uint8_t, 192> _offset_type;
00080 boost::array<uint8_t, 192> offset;
00081
00082 typedef boost::array<uint8_t, 192> _limit_type;
00083 boost::array<uint8_t, 192> limit;
00084
00085 typedef uint8_t _status_go_type;
00086 uint8_t status_go;
00087
00088 typedef uint8_t _status_err_type;
00089 uint8_t status_err;
00090
00091 typedef boost::array<uint8_t, 192> _debug_voltage1_type;
00092 boost::array<uint8_t, 192> debug_voltage1;
00093
00094 typedef boost::array<uint8_t, 192> _debug_voltage2_type;
00095 boost::array<uint8_t, 192> debug_voltage2;
00096
00097 typedef boost::array<uint8_t, 192> _debug_voltage3_type;
00098 boost::array<uint8_t, 192> debug_voltage3;
00099
00100
00101 typedef boost::shared_ptr< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > Ptr;
00102 typedef boost::shared_ptr< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> const> ConstPtr;
00103 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00104 };
00105 typedef ::proximity_sensor_driver::prox_sensor_measurement_<std::allocator<void> > prox_sensor_measurement;
00106
00107 typedef boost::shared_ptr< ::proximity_sensor_driver::prox_sensor_measurement> prox_sensor_measurementPtr;
00108 typedef boost::shared_ptr< ::proximity_sensor_driver::prox_sensor_measurement const> prox_sensor_measurementConstPtr;
00109
00110
00111 template<typename ContainerAllocator>
00112 std::ostream& operator<<(std::ostream& s, const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> & v)
00113 {
00114 ros::message_operations::Printer< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> >::stream(s, "", v);
00115 return s;}
00116
00117 }
00118
00119 namespace ros
00120 {
00121 namespace message_traits
00122 {
00123 template<class ContainerAllocator> struct IsMessage< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > : public TrueType {};
00124 template<class ContainerAllocator> struct IsMessage< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> const> : public TrueType {};
00125 template<class ContainerAllocator>
00126 struct MD5Sum< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "b51a49f699fc5b08c3caeb73925f08dd";
00130 }
00131
00132 static const char* value(const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> &) { return value(); }
00133 static const uint64_t static_value1 = 0xb51a49f699fc5b08ULL;
00134 static const uint64_t static_value2 = 0xc3caeb73925f08ddULL;
00135 };
00136
00137 template<class ContainerAllocator>
00138 struct DataType< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > {
00139 static const char* value()
00140 {
00141 return "proximity_sensor_driver/prox_sensor_measurement";
00142 }
00143
00144 static const char* value(const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> &) { return value(); }
00145 };
00146
00147 template<class ContainerAllocator>
00148 struct Definition< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > {
00149 static const char* value()
00150 {
00151 return "Header header\n\
00152 bool is_connected\n\
00153 uint16 cell_count\n\
00154 uint8[192] value\n\
00155 uint8[192] offset\n\
00156 uint8[192] limit\n\
00157 bool status_go\n\
00158 bool status_err\n\
00159 uint8[192] debug_voltage1\n\
00160 uint8[192] debug_voltage2\n\
00161 uint8[192] debug_voltage3\n\
00162 \n\
00163 ================================================================================\n\
00164 MSG: std_msgs/Header\n\
00165 # Standard metadata for higher-level stamped data types.\n\
00166 # This is generally used to communicate timestamped data \n\
00167 # in a particular coordinate frame.\n\
00168 # \n\
00169 # sequence ID: consecutively increasing ID \n\
00170 uint32 seq\n\
00171 #Two-integer timestamp that is expressed as:\n\
00172 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00173 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00174 # time-handling sugar is provided by the client library\n\
00175 time stamp\n\
00176 #Frame this data is associated with\n\
00177 # 0: no frame\n\
00178 # 1: global frame\n\
00179 string frame_id\n\
00180 \n\
00181 ";
00182 }
00183
00184 static const char* value(const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> &) { return value(); }
00185 };
00186
00187 template<class ContainerAllocator> struct HasHeader< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > : public TrueType {};
00188 template<class ContainerAllocator> struct HasHeader< const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> > : public TrueType {};
00189 }
00190 }
00191
00192 namespace ros
00193 {
00194 namespace serialization
00195 {
00196
00197 template<class ContainerAllocator> struct Serializer< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> >
00198 {
00199 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00200 {
00201 stream.next(m.header);
00202 stream.next(m.is_connected);
00203 stream.next(m.cell_count);
00204 stream.next(m.value);
00205 stream.next(m.offset);
00206 stream.next(m.limit);
00207 stream.next(m.status_go);
00208 stream.next(m.status_err);
00209 stream.next(m.debug_voltage1);
00210 stream.next(m.debug_voltage2);
00211 stream.next(m.debug_voltage3);
00212 }
00213
00214 ROS_DECLARE_ALLINONE_SERIALIZER;
00215 };
00216 }
00217 }
00218
00219 namespace ros
00220 {
00221 namespace message_operations
00222 {
00223
00224 template<class ContainerAllocator>
00225 struct Printer< ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> >
00226 {
00227 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::proximity_sensor_driver::prox_sensor_measurement_<ContainerAllocator> & v)
00228 {
00229 s << indent << "header: ";
00230 s << std::endl;
00231 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00232 s << indent << "is_connected: ";
00233 Printer<uint8_t>::stream(s, indent + " ", v.is_connected);
00234 s << indent << "cell_count: ";
00235 Printer<uint16_t>::stream(s, indent + " ", v.cell_count);
00236 s << indent << "value[]" << std::endl;
00237 for (size_t i = 0; i < v.value.size(); ++i)
00238 {
00239 s << indent << " value[" << i << "]: ";
00240 Printer<uint8_t>::stream(s, indent + " ", v.value[i]);
00241 }
00242 s << indent << "offset[]" << std::endl;
00243 for (size_t i = 0; i < v.offset.size(); ++i)
00244 {
00245 s << indent << " offset[" << i << "]: ";
00246 Printer<uint8_t>::stream(s, indent + " ", v.offset[i]);
00247 }
00248 s << indent << "limit[]" << std::endl;
00249 for (size_t i = 0; i < v.limit.size(); ++i)
00250 {
00251 s << indent << " limit[" << i << "]: ";
00252 Printer<uint8_t>::stream(s, indent + " ", v.limit[i]);
00253 }
00254 s << indent << "status_go: ";
00255 Printer<uint8_t>::stream(s, indent + " ", v.status_go);
00256 s << indent << "status_err: ";
00257 Printer<uint8_t>::stream(s, indent + " ", v.status_err);
00258 s << indent << "debug_voltage1[]" << std::endl;
00259 for (size_t i = 0; i < v.debug_voltage1.size(); ++i)
00260 {
00261 s << indent << " debug_voltage1[" << i << "]: ";
00262 Printer<uint8_t>::stream(s, indent + " ", v.debug_voltage1[i]);
00263 }
00264 s << indent << "debug_voltage2[]" << std::endl;
00265 for (size_t i = 0; i < v.debug_voltage2.size(); ++i)
00266 {
00267 s << indent << " debug_voltage2[" << i << "]: ";
00268 Printer<uint8_t>::stream(s, indent + " ", v.debug_voltage2[i]);
00269 }
00270 s << indent << "debug_voltage3[]" << std::endl;
00271 for (size_t i = 0; i < v.debug_voltage3.size(); ++i)
00272 {
00273 s << indent << " debug_voltage3[" << i << "]: ";
00274 Printer<uint8_t>::stream(s, indent + " ", v.debug_voltage3[i]);
00275 }
00276 }
00277 };
00278
00279
00280 }
00281 }
00282
00283 #endif // PROXIMITY_SENSOR_DRIVER_MESSAGE_PROX_SENSOR_MEASUREMENT_H
00284