00001
00002 #ifndef APM_MESSAGE_APM_IMU_H
00003 #define APM_MESSAGE_APM_IMU_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
00018 namespace apm
00019 {
00020 template <class ContainerAllocator>
00021 struct apm_imu_ {
00022 typedef apm_imu_<ContainerAllocator> Type;
00023
00024 apm_imu_()
00025 : ax(0.0)
00026 , ay(0.0)
00027 , az(0.0)
00028 , gx(0.0)
00029 , gy(0.0)
00030 , gz(0.0)
00031 , roll(0.0)
00032 , pitch(0.0)
00033 , yaw(0.0)
00034 , heading(0.0)
00035 , mx(0.0)
00036 , my(0.0)
00037 , mz(0.0)
00038 {
00039 }
00040
00041 apm_imu_(const ContainerAllocator& _alloc)
00042 : ax(0.0)
00043 , ay(0.0)
00044 , az(0.0)
00045 , gx(0.0)
00046 , gy(0.0)
00047 , gz(0.0)
00048 , roll(0.0)
00049 , pitch(0.0)
00050 , yaw(0.0)
00051 , heading(0.0)
00052 , mx(0.0)
00053 , my(0.0)
00054 , mz(0.0)
00055 {
00056 }
00057
00058 typedef float _ax_type;
00059 float ax;
00060
00061 typedef float _ay_type;
00062 float ay;
00063
00064 typedef float _az_type;
00065 float az;
00066
00067 typedef float _gx_type;
00068 float gx;
00069
00070 typedef float _gy_type;
00071 float gy;
00072
00073 typedef float _gz_type;
00074 float gz;
00075
00076 typedef float _roll_type;
00077 float roll;
00078
00079 typedef float _pitch_type;
00080 float pitch;
00081
00082 typedef float _yaw_type;
00083 float yaw;
00084
00085 typedef float _heading_type;
00086 float heading;
00087
00088 typedef float _mx_type;
00089 float mx;
00090
00091 typedef float _my_type;
00092 float my;
00093
00094 typedef float _mz_type;
00095 float mz;
00096
00097
00098 typedef boost::shared_ptr< ::apm::apm_imu_<ContainerAllocator> > Ptr;
00099 typedef boost::shared_ptr< ::apm::apm_imu_<ContainerAllocator> const> ConstPtr;
00100 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00101 };
00102 typedef ::apm::apm_imu_<std::allocator<void> > apm_imu;
00103
00104 typedef boost::shared_ptr< ::apm::apm_imu> apm_imuPtr;
00105 typedef boost::shared_ptr< ::apm::apm_imu const> apm_imuConstPtr;
00106
00107
00108 template<typename ContainerAllocator>
00109 std::ostream& operator<<(std::ostream& s, const ::apm::apm_imu_<ContainerAllocator> & v)
00110 {
00111 ros::message_operations::Printer< ::apm::apm_imu_<ContainerAllocator> >::stream(s, "", v);
00112 return s;}
00113
00114 }
00115
00116 namespace ros
00117 {
00118 namespace message_traits
00119 {
00120 template<class ContainerAllocator> struct IsMessage< ::apm::apm_imu_<ContainerAllocator> > : public TrueType {};
00121 template<class ContainerAllocator> struct IsMessage< ::apm::apm_imu_<ContainerAllocator> const> : public TrueType {};
00122 template<class ContainerAllocator>
00123 struct MD5Sum< ::apm::apm_imu_<ContainerAllocator> > {
00124 static const char* value()
00125 {
00126 return "13f07ef07721826d5bb32ddaf22559ad";
00127 }
00128
00129 static const char* value(const ::apm::apm_imu_<ContainerAllocator> &) { return value(); }
00130 static const uint64_t static_value1 = 0x13f07ef07721826dULL;
00131 static const uint64_t static_value2 = 0x5bb32ddaf22559adULL;
00132 };
00133
00134 template<class ContainerAllocator>
00135 struct DataType< ::apm::apm_imu_<ContainerAllocator> > {
00136 static const char* value()
00137 {
00138 return "apm/apm_imu";
00139 }
00140
00141 static const char* value(const ::apm::apm_imu_<ContainerAllocator> &) { return value(); }
00142 };
00143
00144 template<class ContainerAllocator>
00145 struct Definition< ::apm::apm_imu_<ContainerAllocator> > {
00146 static const char* value()
00147 {
00148 return "float32 ax\n\
00149 float32 ay\n\
00150 float32 az\n\
00151 float32 gx\n\
00152 float32 gy\n\
00153 float32 gz\n\
00154 float32 roll\n\
00155 float32 pitch\n\
00156 float32 yaw\n\
00157 float32 heading\n\
00158 float32 mx\n\
00159 float32 my\n\
00160 float32 mz\n\
00161 \n\
00162 ";
00163 }
00164
00165 static const char* value(const ::apm::apm_imu_<ContainerAllocator> &) { return value(); }
00166 };
00167
00168 template<class ContainerAllocator> struct IsFixedSize< ::apm::apm_imu_<ContainerAllocator> > : public TrueType {};
00169 }
00170 }
00171
00172 namespace ros
00173 {
00174 namespace serialization
00175 {
00176
00177 template<class ContainerAllocator> struct Serializer< ::apm::apm_imu_<ContainerAllocator> >
00178 {
00179 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00180 {
00181 stream.next(m.ax);
00182 stream.next(m.ay);
00183 stream.next(m.az);
00184 stream.next(m.gx);
00185 stream.next(m.gy);
00186 stream.next(m.gz);
00187 stream.next(m.roll);
00188 stream.next(m.pitch);
00189 stream.next(m.yaw);
00190 stream.next(m.heading);
00191 stream.next(m.mx);
00192 stream.next(m.my);
00193 stream.next(m.mz);
00194 }
00195
00196 ROS_DECLARE_ALLINONE_SERIALIZER;
00197 };
00198 }
00199 }
00200
00201 namespace ros
00202 {
00203 namespace message_operations
00204 {
00205
00206 template<class ContainerAllocator>
00207 struct Printer< ::apm::apm_imu_<ContainerAllocator> >
00208 {
00209 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::apm::apm_imu_<ContainerAllocator> & v)
00210 {
00211 s << indent << "ax: ";
00212 Printer<float>::stream(s, indent + " ", v.ax);
00213 s << indent << "ay: ";
00214 Printer<float>::stream(s, indent + " ", v.ay);
00215 s << indent << "az: ";
00216 Printer<float>::stream(s, indent + " ", v.az);
00217 s << indent << "gx: ";
00218 Printer<float>::stream(s, indent + " ", v.gx);
00219 s << indent << "gy: ";
00220 Printer<float>::stream(s, indent + " ", v.gy);
00221 s << indent << "gz: ";
00222 Printer<float>::stream(s, indent + " ", v.gz);
00223 s << indent << "roll: ";
00224 Printer<float>::stream(s, indent + " ", v.roll);
00225 s << indent << "pitch: ";
00226 Printer<float>::stream(s, indent + " ", v.pitch);
00227 s << indent << "yaw: ";
00228 Printer<float>::stream(s, indent + " ", v.yaw);
00229 s << indent << "heading: ";
00230 Printer<float>::stream(s, indent + " ", v.heading);
00231 s << indent << "mx: ";
00232 Printer<float>::stream(s, indent + " ", v.mx);
00233 s << indent << "my: ";
00234 Printer<float>::stream(s, indent + " ", v.my);
00235 s << indent << "mz: ";
00236 Printer<float>::stream(s, indent + " ", v.mz);
00237 }
00238 };
00239
00240
00241 }
00242 }
00243
00244 #endif // APM_MESSAGE_APM_IMU_H
00245