00001
00002 #ifndef APM_MESSAGE_APM25_H
00003 #define APM_MESSAGE_APM25_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 apm25_ {
00022 typedef apm25_<ContainerAllocator> Type;
00023
00024 apm25_()
00025 : roll(0)
00026 , pitch(0)
00027 , yaw(0)
00028 , compass(0)
00029 , lat(0)
00030 , lon(0)
00031 , alt(0)
00032 , sats(0)
00033 , status(0)
00034 , A0(0)
00035 , A1(0)
00036 , A2(0)
00037 , A3(0)
00038 , A4(0)
00039 , A5(0)
00040 , A6(0)
00041 , A7(0)
00042 {
00043 }
00044
00045 apm25_(const ContainerAllocator& _alloc)
00046 : roll(0)
00047 , pitch(0)
00048 , yaw(0)
00049 , compass(0)
00050 , lat(0)
00051 , lon(0)
00052 , alt(0)
00053 , sats(0)
00054 , status(0)
00055 , A0(0)
00056 , A1(0)
00057 , A2(0)
00058 , A3(0)
00059 , A4(0)
00060 , A5(0)
00061 , A6(0)
00062 , A7(0)
00063 {
00064 }
00065
00066 typedef int16_t _roll_type;
00067 int16_t roll;
00068
00069 typedef int16_t _pitch_type;
00070 int16_t pitch;
00071
00072 typedef int16_t _yaw_type;
00073 int16_t yaw;
00074
00075 typedef int16_t _compass_type;
00076 int16_t compass;
00077
00078 typedef int32_t _lat_type;
00079 int32_t lat;
00080
00081 typedef int32_t _lon_type;
00082 int32_t lon;
00083
00084 typedef int16_t _alt_type;
00085 int16_t alt;
00086
00087 typedef int16_t _sats_type;
00088 int16_t sats;
00089
00090 typedef int16_t _status_type;
00091 int16_t status;
00092
00093 typedef int16_t _A0_type;
00094 int16_t A0;
00095
00096 typedef int16_t _A1_type;
00097 int16_t A1;
00098
00099 typedef int16_t _A2_type;
00100 int16_t A2;
00101
00102 typedef int16_t _A3_type;
00103 int16_t A3;
00104
00105 typedef int16_t _A4_type;
00106 int16_t A4;
00107
00108 typedef int16_t _A5_type;
00109 int16_t A5;
00110
00111 typedef int16_t _A6_type;
00112 int16_t A6;
00113
00114 typedef int16_t _A7_type;
00115 int16_t A7;
00116
00117
00118 typedef boost::shared_ptr< ::apm::apm25_<ContainerAllocator> > Ptr;
00119 typedef boost::shared_ptr< ::apm::apm25_<ContainerAllocator> const> ConstPtr;
00120 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00121 };
00122 typedef ::apm::apm25_<std::allocator<void> > apm25;
00123
00124 typedef boost::shared_ptr< ::apm::apm25> apm25Ptr;
00125 typedef boost::shared_ptr< ::apm::apm25 const> apm25ConstPtr;
00126
00127
00128 template<typename ContainerAllocator>
00129 std::ostream& operator<<(std::ostream& s, const ::apm::apm25_<ContainerAllocator> & v)
00130 {
00131 ros::message_operations::Printer< ::apm::apm25_<ContainerAllocator> >::stream(s, "", v);
00132 return s;}
00133
00134 }
00135
00136 namespace ros
00137 {
00138 namespace message_traits
00139 {
00140 template<class ContainerAllocator> struct IsMessage< ::apm::apm25_<ContainerAllocator> > : public TrueType {};
00141 template<class ContainerAllocator> struct IsMessage< ::apm::apm25_<ContainerAllocator> const> : public TrueType {};
00142 template<class ContainerAllocator>
00143 struct MD5Sum< ::apm::apm25_<ContainerAllocator> > {
00144 static const char* value()
00145 {
00146 return "7c9a7f618e4ad1aa80fdcfa3e47d8cda";
00147 }
00148
00149 static const char* value(const ::apm::apm25_<ContainerAllocator> &) { return value(); }
00150 static const uint64_t static_value1 = 0x7c9a7f618e4ad1aaULL;
00151 static const uint64_t static_value2 = 0x80fdcfa3e47d8cdaULL;
00152 };
00153
00154 template<class ContainerAllocator>
00155 struct DataType< ::apm::apm25_<ContainerAllocator> > {
00156 static const char* value()
00157 {
00158 return "apm/apm25";
00159 }
00160
00161 static const char* value(const ::apm::apm25_<ContainerAllocator> &) { return value(); }
00162 };
00163
00164 template<class ContainerAllocator>
00165 struct Definition< ::apm::apm25_<ContainerAllocator> > {
00166 static const char* value()
00167 {
00168 return "int16 roll\n\
00169 int16 pitch\n\
00170 int16 yaw\n\
00171 int16 compass\n\
00172 int32 lat\n\
00173 int32 lon\n\
00174 int16 alt\n\
00175 int16 sats\n\
00176 int16 status\n\
00177 int16 A0\n\
00178 int16 A1\n\
00179 int16 A2\n\
00180 int16 A3\n\
00181 int16 A4\n\
00182 int16 A5\n\
00183 int16 A6\n\
00184 int16 A7\n\
00185 \n\
00186 ";
00187 }
00188
00189 static const char* value(const ::apm::apm25_<ContainerAllocator> &) { return value(); }
00190 };
00191
00192 template<class ContainerAllocator> struct IsFixedSize< ::apm::apm25_<ContainerAllocator> > : public TrueType {};
00193 }
00194 }
00195
00196 namespace ros
00197 {
00198 namespace serialization
00199 {
00200
00201 template<class ContainerAllocator> struct Serializer< ::apm::apm25_<ContainerAllocator> >
00202 {
00203 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00204 {
00205 stream.next(m.roll);
00206 stream.next(m.pitch);
00207 stream.next(m.yaw);
00208 stream.next(m.compass);
00209 stream.next(m.lat);
00210 stream.next(m.lon);
00211 stream.next(m.alt);
00212 stream.next(m.sats);
00213 stream.next(m.status);
00214 stream.next(m.A0);
00215 stream.next(m.A1);
00216 stream.next(m.A2);
00217 stream.next(m.A3);
00218 stream.next(m.A4);
00219 stream.next(m.A5);
00220 stream.next(m.A6);
00221 stream.next(m.A7);
00222 }
00223
00224 ROS_DECLARE_ALLINONE_SERIALIZER;
00225 };
00226 }
00227 }
00228
00229 namespace ros
00230 {
00231 namespace message_operations
00232 {
00233
00234 template<class ContainerAllocator>
00235 struct Printer< ::apm::apm25_<ContainerAllocator> >
00236 {
00237 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::apm::apm25_<ContainerAllocator> & v)
00238 {
00239 s << indent << "roll: ";
00240 Printer<int16_t>::stream(s, indent + " ", v.roll);
00241 s << indent << "pitch: ";
00242 Printer<int16_t>::stream(s, indent + " ", v.pitch);
00243 s << indent << "yaw: ";
00244 Printer<int16_t>::stream(s, indent + " ", v.yaw);
00245 s << indent << "compass: ";
00246 Printer<int16_t>::stream(s, indent + " ", v.compass);
00247 s << indent << "lat: ";
00248 Printer<int32_t>::stream(s, indent + " ", v.lat);
00249 s << indent << "lon: ";
00250 Printer<int32_t>::stream(s, indent + " ", v.lon);
00251 s << indent << "alt: ";
00252 Printer<int16_t>::stream(s, indent + " ", v.alt);
00253 s << indent << "sats: ";
00254 Printer<int16_t>::stream(s, indent + " ", v.sats);
00255 s << indent << "status: ";
00256 Printer<int16_t>::stream(s, indent + " ", v.status);
00257 s << indent << "A0: ";
00258 Printer<int16_t>::stream(s, indent + " ", v.A0);
00259 s << indent << "A1: ";
00260 Printer<int16_t>::stream(s, indent + " ", v.A1);
00261 s << indent << "A2: ";
00262 Printer<int16_t>::stream(s, indent + " ", v.A2);
00263 s << indent << "A3: ";
00264 Printer<int16_t>::stream(s, indent + " ", v.A3);
00265 s << indent << "A4: ";
00266 Printer<int16_t>::stream(s, indent + " ", v.A4);
00267 s << indent << "A5: ";
00268 Printer<int16_t>::stream(s, indent + " ", v.A5);
00269 s << indent << "A6: ";
00270 Printer<int16_t>::stream(s, indent + " ", v.A6);
00271 s << indent << "A7: ";
00272 Printer<int16_t>::stream(s, indent + " ", v.A7);
00273 }
00274 };
00275
00276
00277 }
00278 }
00279
00280 #endif // APM_MESSAGE_APM25_H
00281