00001
00002 #ifndef BMC050_DRIVER_MESSAGE_BMC050_MEASUREMENT_H
00003 #define BMC050_DRIVER_MESSAGE_BMC050_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 bmc050_driver
00020 {
00021 template <class ContainerAllocator>
00022 struct bmc050_measurement_ {
00023 typedef bmc050_measurement_<ContainerAllocator> Type;
00024
00025 bmc050_measurement_()
00026 : header()
00027 , AccelerationX()
00028 , AccelerationY()
00029 , AccelerationZ()
00030 , Temperature()
00031 , MagneticFieldIntensityX()
00032 , MagneticFieldIntensityY()
00033 , MagneticFieldIntensityZ()
00034 , HallResistance()
00035 {
00036 }
00037
00038 bmc050_measurement_(const ContainerAllocator& _alloc)
00039 : header(_alloc)
00040 , AccelerationX(_alloc)
00041 , AccelerationY(_alloc)
00042 , AccelerationZ(_alloc)
00043 , Temperature(_alloc)
00044 , MagneticFieldIntensityX(_alloc)
00045 , MagneticFieldIntensityY(_alloc)
00046 , MagneticFieldIntensityZ(_alloc)
00047 , HallResistance(_alloc)
00048 {
00049 }
00050
00051 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00052 ::std_msgs::Header_<ContainerAllocator> header;
00053
00054 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _AccelerationX_type;
00055 std::vector<double, typename ContainerAllocator::template rebind<double>::other > AccelerationX;
00056
00057 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _AccelerationY_type;
00058 std::vector<double, typename ContainerAllocator::template rebind<double>::other > AccelerationY;
00059
00060 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _AccelerationZ_type;
00061 std::vector<double, typename ContainerAllocator::template rebind<double>::other > AccelerationZ;
00062
00063 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _Temperature_type;
00064 std::vector<double, typename ContainerAllocator::template rebind<double>::other > Temperature;
00065
00066 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _MagneticFieldIntensityX_type;
00067 std::vector<double, typename ContainerAllocator::template rebind<double>::other > MagneticFieldIntensityX;
00068
00069 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _MagneticFieldIntensityY_type;
00070 std::vector<double, typename ContainerAllocator::template rebind<double>::other > MagneticFieldIntensityY;
00071
00072 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _MagneticFieldIntensityZ_type;
00073 std::vector<double, typename ContainerAllocator::template rebind<double>::other > MagneticFieldIntensityZ;
00074
00075 typedef std::vector<uint16_t, typename ContainerAllocator::template rebind<uint16_t>::other > _HallResistance_type;
00076 std::vector<uint16_t, typename ContainerAllocator::template rebind<uint16_t>::other > HallResistance;
00077
00078
00079 typedef boost::shared_ptr< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > Ptr;
00080 typedef boost::shared_ptr< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> const> ConstPtr;
00081 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00082 };
00083 typedef ::bmc050_driver::bmc050_measurement_<std::allocator<void> > bmc050_measurement;
00084
00085 typedef boost::shared_ptr< ::bmc050_driver::bmc050_measurement> bmc050_measurementPtr;
00086 typedef boost::shared_ptr< ::bmc050_driver::bmc050_measurement const> bmc050_measurementConstPtr;
00087
00088
00089 template<typename ContainerAllocator>
00090 std::ostream& operator<<(std::ostream& s, const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> & v)
00091 {
00092 ros::message_operations::Printer< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> >::stream(s, "", v);
00093 return s;}
00094
00095 }
00096
00097 namespace ros
00098 {
00099 namespace message_traits
00100 {
00101 template<class ContainerAllocator> struct IsMessage< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > : public TrueType {};
00102 template<class ContainerAllocator> struct IsMessage< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> const> : public TrueType {};
00103 template<class ContainerAllocator>
00104 struct MD5Sum< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > {
00105 static const char* value()
00106 {
00107 return "018c77a7bfb5d925516f29f71a5163ed";
00108 }
00109
00110 static const char* value(const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> &) { return value(); }
00111 static const uint64_t static_value1 = 0x018c77a7bfb5d925ULL;
00112 static const uint64_t static_value2 = 0x516f29f71a5163edULL;
00113 };
00114
00115 template<class ContainerAllocator>
00116 struct DataType< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > {
00117 static const char* value()
00118 {
00119 return "bmc050_driver/bmc050_measurement";
00120 }
00121
00122 static const char* value(const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> &) { return value(); }
00123 };
00124
00125 template<class ContainerAllocator>
00126 struct Definition< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "Header header\n\
00130 float64[] AccelerationX #[g]\n\
00131 float64[] AccelerationY #[g]\n\
00132 float64[] AccelerationZ #[g]\n\
00133 float64[] Temperature #[C]\n\
00134 float64[] MagneticFieldIntensityX #[uT]\n\
00135 float64[] MagneticFieldIntensityY #[uT]\n\
00136 float64[] MagneticFieldIntensityZ #[uT]\n\
00137 uint16[] HallResistance #[ohms]\n\
00138 \n\
00139 ================================================================================\n\
00140 MSG: std_msgs/Header\n\
00141 # Standard metadata for higher-level stamped data types.\n\
00142 # This is generally used to communicate timestamped data \n\
00143 # in a particular coordinate frame.\n\
00144 # \n\
00145 # sequence ID: consecutively increasing ID \n\
00146 uint32 seq\n\
00147 #Two-integer timestamp that is expressed as:\n\
00148 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00149 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00150 # time-handling sugar is provided by the client library\n\
00151 time stamp\n\
00152 #Frame this data is associated with\n\
00153 # 0: no frame\n\
00154 # 1: global frame\n\
00155 string frame_id\n\
00156 \n\
00157 ";
00158 }
00159
00160 static const char* value(const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> &) { return value(); }
00161 };
00162
00163 template<class ContainerAllocator> struct HasHeader< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > : public TrueType {};
00164 template<class ContainerAllocator> struct HasHeader< const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> > : public TrueType {};
00165 }
00166 }
00167
00168 namespace ros
00169 {
00170 namespace serialization
00171 {
00172
00173 template<class ContainerAllocator> struct Serializer< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> >
00174 {
00175 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00176 {
00177 stream.next(m.header);
00178 stream.next(m.AccelerationX);
00179 stream.next(m.AccelerationY);
00180 stream.next(m.AccelerationZ);
00181 stream.next(m.Temperature);
00182 stream.next(m.MagneticFieldIntensityX);
00183 stream.next(m.MagneticFieldIntensityY);
00184 stream.next(m.MagneticFieldIntensityZ);
00185 stream.next(m.HallResistance);
00186 }
00187
00188 ROS_DECLARE_ALLINONE_SERIALIZER;
00189 };
00190 }
00191 }
00192
00193 namespace ros
00194 {
00195 namespace message_operations
00196 {
00197
00198 template<class ContainerAllocator>
00199 struct Printer< ::bmc050_driver::bmc050_measurement_<ContainerAllocator> >
00200 {
00201 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::bmc050_driver::bmc050_measurement_<ContainerAllocator> & v)
00202 {
00203 s << indent << "header: ";
00204 s << std::endl;
00205 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00206 s << indent << "AccelerationX[]" << std::endl;
00207 for (size_t i = 0; i < v.AccelerationX.size(); ++i)
00208 {
00209 s << indent << " AccelerationX[" << i << "]: ";
00210 Printer<double>::stream(s, indent + " ", v.AccelerationX[i]);
00211 }
00212 s << indent << "AccelerationY[]" << std::endl;
00213 for (size_t i = 0; i < v.AccelerationY.size(); ++i)
00214 {
00215 s << indent << " AccelerationY[" << i << "]: ";
00216 Printer<double>::stream(s, indent + " ", v.AccelerationY[i]);
00217 }
00218 s << indent << "AccelerationZ[]" << std::endl;
00219 for (size_t i = 0; i < v.AccelerationZ.size(); ++i)
00220 {
00221 s << indent << " AccelerationZ[" << i << "]: ";
00222 Printer<double>::stream(s, indent + " ", v.AccelerationZ[i]);
00223 }
00224 s << indent << "Temperature[]" << std::endl;
00225 for (size_t i = 0; i < v.Temperature.size(); ++i)
00226 {
00227 s << indent << " Temperature[" << i << "]: ";
00228 Printer<double>::stream(s, indent + " ", v.Temperature[i]);
00229 }
00230 s << indent << "MagneticFieldIntensityX[]" << std::endl;
00231 for (size_t i = 0; i < v.MagneticFieldIntensityX.size(); ++i)
00232 {
00233 s << indent << " MagneticFieldIntensityX[" << i << "]: ";
00234 Printer<double>::stream(s, indent + " ", v.MagneticFieldIntensityX[i]);
00235 }
00236 s << indent << "MagneticFieldIntensityY[]" << std::endl;
00237 for (size_t i = 0; i < v.MagneticFieldIntensityY.size(); ++i)
00238 {
00239 s << indent << " MagneticFieldIntensityY[" << i << "]: ";
00240 Printer<double>::stream(s, indent + " ", v.MagneticFieldIntensityY[i]);
00241 }
00242 s << indent << "MagneticFieldIntensityZ[]" << std::endl;
00243 for (size_t i = 0; i < v.MagneticFieldIntensityZ.size(); ++i)
00244 {
00245 s << indent << " MagneticFieldIntensityZ[" << i << "]: ";
00246 Printer<double>::stream(s, indent + " ", v.MagneticFieldIntensityZ[i]);
00247 }
00248 s << indent << "HallResistance[]" << std::endl;
00249 for (size_t i = 0; i < v.HallResistance.size(); ++i)
00250 {
00251 s << indent << " HallResistance[" << i << "]: ";
00252 Printer<uint16_t>::stream(s, indent + " ", v.HallResistance[i]);
00253 }
00254 }
00255 };
00256
00257
00258 }
00259 }
00260
00261 #endif // BMC050_DRIVER_MESSAGE_BMC050_MEASUREMENT_H
00262