$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-tu-darmstadt-ros-pkg/doc_stacks/2013-03-05_12-22-58.304137/ublox/ublox_msgs/msg/NavSOL.msg */ 00002 #ifndef UBLOX_MSGS_MESSAGE_NAVSOL_H 00003 #define UBLOX_MSGS_MESSAGE_NAVSOL_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 ublox_msgs 00019 { 00020 template <class ContainerAllocator> 00021 struct NavSOL_ { 00022 typedef NavSOL_<ContainerAllocator> Type; 00023 00024 NavSOL_() 00025 : iTOW(0) 00026 , fTOW(0) 00027 , week(0) 00028 , gpsFix(0) 00029 , flags(0) 00030 , ecefX(0) 00031 , ecefY(0) 00032 , ecefZ(0) 00033 , pAcc(0) 00034 , ecefVX(0) 00035 , ecefVY(0) 00036 , ecefVZ(0) 00037 , sAcc(0) 00038 , pDOP(0) 00039 , reserved1(0) 00040 , numSV(0) 00041 , reserved2(0) 00042 { 00043 } 00044 00045 NavSOL_(const ContainerAllocator& _alloc) 00046 : iTOW(0) 00047 , fTOW(0) 00048 , week(0) 00049 , gpsFix(0) 00050 , flags(0) 00051 , ecefX(0) 00052 , ecefY(0) 00053 , ecefZ(0) 00054 , pAcc(0) 00055 , ecefVX(0) 00056 , ecefVY(0) 00057 , ecefVZ(0) 00058 , sAcc(0) 00059 , pDOP(0) 00060 , reserved1(0) 00061 , numSV(0) 00062 , reserved2(0) 00063 { 00064 } 00065 00066 typedef uint32_t _iTOW_type; 00067 uint32_t iTOW; 00068 00069 typedef int32_t _fTOW_type; 00070 int32_t fTOW; 00071 00072 typedef int16_t _week_type; 00073 int16_t week; 00074 00075 typedef uint8_t _gpsFix_type; 00076 uint8_t gpsFix; 00077 00078 typedef uint8_t _flags_type; 00079 uint8_t flags; 00080 00081 typedef int32_t _ecefX_type; 00082 int32_t ecefX; 00083 00084 typedef int32_t _ecefY_type; 00085 int32_t ecefY; 00086 00087 typedef int32_t _ecefZ_type; 00088 int32_t ecefZ; 00089 00090 typedef uint32_t _pAcc_type; 00091 uint32_t pAcc; 00092 00093 typedef int32_t _ecefVX_type; 00094 int32_t ecefVX; 00095 00096 typedef int32_t _ecefVY_type; 00097 int32_t ecefVY; 00098 00099 typedef int32_t _ecefVZ_type; 00100 int32_t ecefVZ; 00101 00102 typedef uint32_t _sAcc_type; 00103 uint32_t sAcc; 00104 00105 typedef uint16_t _pDOP_type; 00106 uint16_t pDOP; 00107 00108 typedef uint8_t _reserved1_type; 00109 uint8_t reserved1; 00110 00111 typedef uint8_t _numSV_type; 00112 uint8_t numSV; 00113 00114 typedef uint32_t _reserved2_type; 00115 uint32_t reserved2; 00116 00117 enum { CLASS_ID = 1 }; 00118 enum { MESSAGE_ID = 6 }; 00119 enum { GPS_NO_FIX = 0 }; 00120 enum { GPS_DEAD_RECKONING_ONLY = 1 }; 00121 enum { GPS_2D_FIX = 2 }; 00122 enum { GPS_3D_FIX = 3 }; 00123 enum { GPS_GPS_DEAD_RECKONING_COMBINED = 4 }; 00124 enum { GPS_TIME_ONLY_FIX = 6 }; 00125 enum { FLAGS_GPSFIXOK = 1 }; 00126 enum { FLAGS_DIFFSOLN = 2 }; 00127 enum { FLAGS_WKNSET = 4 }; 00128 enum { FLAGS_TOWSET = 8 }; 00129 00130 private: 00131 static const char* __s_getDataType_() { return "ublox_msgs/NavSOL"; } 00132 public: 00133 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00134 00135 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00136 00137 private: 00138 static const char* __s_getMD5Sum_() { return "1cf640142041f69c0d0e9f5d8a03729e"; } 00139 public: 00140 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00141 00142 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00143 00144 private: 00145 static const char* __s_getMessageDefinition_() { return "# NAV-SOL (0x01 0x06)\n\ 00146 # Navigation Solution Information\n\ 00147 #\n\ 00148 # This message combines Position, velocity and time solution in ECEF, including accuracy\n\ 00149 # figures\n\ 00150 #\n\ 00151 \n\ 00152 uint8 CLASS_ID = 1\n\ 00153 uint8 MESSAGE_ID = 6\n\ 00154 \n\ 00155 uint32 iTOW # GPS Millisecond time of week [ms]\n\ 00156 int32 fTOW # Fractional Nanoseconds remainder of rounded\n\ 00157 # ms above, range -500000 .. 500000 [ns]\n\ 00158 int16 week # GPS week (GPS time)\n\ 00159 \n\ 00160 uint8 gpsFix # GPSfix Type, range 0..5\n\ 00161 uint8 GPS_NO_FIX = 0\n\ 00162 uint8 GPS_DEAD_RECKONING_ONLY = 1\n\ 00163 uint8 GPS_2D_FIX = 2\n\ 00164 uint8 GPS_3D_FIX = 3\n\ 00165 uint8 GPS_GPS_DEAD_RECKONING_COMBINED = 4\n\ 00166 uint8 GPS_TIME_ONLY_FIX = 6\n\ 00167 \n\ 00168 uint8 flags # Fix Status Flags\n\ 00169 uint8 FLAGS_GPSFIXOK = 1 # i.e. within DOP & ACC Masks\n\ 00170 uint8 FLAGS_DIFFSOLN = 2 # DGPS used\n\ 00171 uint8 FLAGS_WKNSET = 4 # Week Number valid\n\ 00172 uint8 FLAGS_TOWSET = 8 # Time of Week valid\n\ 00173 \n\ 00174 int32 ecefX # ECEF X coordinate [cm]\n\ 00175 int32 ecefY # ECEF Y coordinate [cm]\n\ 00176 int32 ecefZ # ECEF Z coordinate [cm]\n\ 00177 uint32 pAcc # 3D Position Accuracy Estimate [cm]\n\ 00178 int32 ecefVX # ECEF X velocity [cm/s]\n\ 00179 int32 ecefVY # ECEF Y velocity [cm/s]\n\ 00180 int32 ecefVZ # ECEF Z velocity [cm/s]\n\ 00181 uint32 sAcc # Speed Accuracy Estimate [cm/s]\n\ 00182 uint16 pDOP # Position DOP [cm]\n\ 00183 uint8 reserved1 # Reserved\n\ 00184 uint8 numSV # Number of SVs used in Nav Solution\n\ 00185 uint32 reserved2 # Reserved\n\ 00186 \n\ 00187 "; } 00188 public: 00189 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00190 00191 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00192 00193 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00194 { 00195 ros::serialization::OStream stream(write_ptr, 1000000000); 00196 ros::serialization::serialize(stream, iTOW); 00197 ros::serialization::serialize(stream, fTOW); 00198 ros::serialization::serialize(stream, week); 00199 ros::serialization::serialize(stream, gpsFix); 00200 ros::serialization::serialize(stream, flags); 00201 ros::serialization::serialize(stream, ecefX); 00202 ros::serialization::serialize(stream, ecefY); 00203 ros::serialization::serialize(stream, ecefZ); 00204 ros::serialization::serialize(stream, pAcc); 00205 ros::serialization::serialize(stream, ecefVX); 00206 ros::serialization::serialize(stream, ecefVY); 00207 ros::serialization::serialize(stream, ecefVZ); 00208 ros::serialization::serialize(stream, sAcc); 00209 ros::serialization::serialize(stream, pDOP); 00210 ros::serialization::serialize(stream, reserved1); 00211 ros::serialization::serialize(stream, numSV); 00212 ros::serialization::serialize(stream, reserved2); 00213 return stream.getData(); 00214 } 00215 00216 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00217 { 00218 ros::serialization::IStream stream(read_ptr, 1000000000); 00219 ros::serialization::deserialize(stream, iTOW); 00220 ros::serialization::deserialize(stream, fTOW); 00221 ros::serialization::deserialize(stream, week); 00222 ros::serialization::deserialize(stream, gpsFix); 00223 ros::serialization::deserialize(stream, flags); 00224 ros::serialization::deserialize(stream, ecefX); 00225 ros::serialization::deserialize(stream, ecefY); 00226 ros::serialization::deserialize(stream, ecefZ); 00227 ros::serialization::deserialize(stream, pAcc); 00228 ros::serialization::deserialize(stream, ecefVX); 00229 ros::serialization::deserialize(stream, ecefVY); 00230 ros::serialization::deserialize(stream, ecefVZ); 00231 ros::serialization::deserialize(stream, sAcc); 00232 ros::serialization::deserialize(stream, pDOP); 00233 ros::serialization::deserialize(stream, reserved1); 00234 ros::serialization::deserialize(stream, numSV); 00235 ros::serialization::deserialize(stream, reserved2); 00236 return stream.getData(); 00237 } 00238 00239 ROS_DEPRECATED virtual uint32_t serializationLength() const 00240 { 00241 uint32_t size = 0; 00242 size += ros::serialization::serializationLength(iTOW); 00243 size += ros::serialization::serializationLength(fTOW); 00244 size += ros::serialization::serializationLength(week); 00245 size += ros::serialization::serializationLength(gpsFix); 00246 size += ros::serialization::serializationLength(flags); 00247 size += ros::serialization::serializationLength(ecefX); 00248 size += ros::serialization::serializationLength(ecefY); 00249 size += ros::serialization::serializationLength(ecefZ); 00250 size += ros::serialization::serializationLength(pAcc); 00251 size += ros::serialization::serializationLength(ecefVX); 00252 size += ros::serialization::serializationLength(ecefVY); 00253 size += ros::serialization::serializationLength(ecefVZ); 00254 size += ros::serialization::serializationLength(sAcc); 00255 size += ros::serialization::serializationLength(pDOP); 00256 size += ros::serialization::serializationLength(reserved1); 00257 size += ros::serialization::serializationLength(numSV); 00258 size += ros::serialization::serializationLength(reserved2); 00259 return size; 00260 } 00261 00262 typedef boost::shared_ptr< ::ublox_msgs::NavSOL_<ContainerAllocator> > Ptr; 00263 typedef boost::shared_ptr< ::ublox_msgs::NavSOL_<ContainerAllocator> const> ConstPtr; 00264 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00265 }; // struct NavSOL 00266 typedef ::ublox_msgs::NavSOL_<std::allocator<void> > NavSOL; 00267 00268 typedef boost::shared_ptr< ::ublox_msgs::NavSOL> NavSOLPtr; 00269 typedef boost::shared_ptr< ::ublox_msgs::NavSOL const> NavSOLConstPtr; 00270 00271 00272 template<typename ContainerAllocator> 00273 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::NavSOL_<ContainerAllocator> & v) 00274 { 00275 ros::message_operations::Printer< ::ublox_msgs::NavSOL_<ContainerAllocator> >::stream(s, "", v); 00276 return s;} 00277 00278 } // namespace ublox_msgs 00279 00280 namespace ros 00281 { 00282 namespace message_traits 00283 { 00284 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavSOL_<ContainerAllocator> > : public TrueType {}; 00285 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavSOL_<ContainerAllocator> const> : public TrueType {}; 00286 template<class ContainerAllocator> 00287 struct MD5Sum< ::ublox_msgs::NavSOL_<ContainerAllocator> > { 00288 static const char* value() 00289 { 00290 return "1cf640142041f69c0d0e9f5d8a03729e"; 00291 } 00292 00293 static const char* value(const ::ublox_msgs::NavSOL_<ContainerAllocator> &) { return value(); } 00294 static const uint64_t static_value1 = 0x1cf640142041f69cULL; 00295 static const uint64_t static_value2 = 0x0d0e9f5d8a03729eULL; 00296 }; 00297 00298 template<class ContainerAllocator> 00299 struct DataType< ::ublox_msgs::NavSOL_<ContainerAllocator> > { 00300 static const char* value() 00301 { 00302 return "ublox_msgs/NavSOL"; 00303 } 00304 00305 static const char* value(const ::ublox_msgs::NavSOL_<ContainerAllocator> &) { return value(); } 00306 }; 00307 00308 template<class ContainerAllocator> 00309 struct Definition< ::ublox_msgs::NavSOL_<ContainerAllocator> > { 00310 static const char* value() 00311 { 00312 return "# NAV-SOL (0x01 0x06)\n\ 00313 # Navigation Solution Information\n\ 00314 #\n\ 00315 # This message combines Position, velocity and time solution in ECEF, including accuracy\n\ 00316 # figures\n\ 00317 #\n\ 00318 \n\ 00319 uint8 CLASS_ID = 1\n\ 00320 uint8 MESSAGE_ID = 6\n\ 00321 \n\ 00322 uint32 iTOW # GPS Millisecond time of week [ms]\n\ 00323 int32 fTOW # Fractional Nanoseconds remainder of rounded\n\ 00324 # ms above, range -500000 .. 500000 [ns]\n\ 00325 int16 week # GPS week (GPS time)\n\ 00326 \n\ 00327 uint8 gpsFix # GPSfix Type, range 0..5\n\ 00328 uint8 GPS_NO_FIX = 0\n\ 00329 uint8 GPS_DEAD_RECKONING_ONLY = 1\n\ 00330 uint8 GPS_2D_FIX = 2\n\ 00331 uint8 GPS_3D_FIX = 3\n\ 00332 uint8 GPS_GPS_DEAD_RECKONING_COMBINED = 4\n\ 00333 uint8 GPS_TIME_ONLY_FIX = 6\n\ 00334 \n\ 00335 uint8 flags # Fix Status Flags\n\ 00336 uint8 FLAGS_GPSFIXOK = 1 # i.e. within DOP & ACC Masks\n\ 00337 uint8 FLAGS_DIFFSOLN = 2 # DGPS used\n\ 00338 uint8 FLAGS_WKNSET = 4 # Week Number valid\n\ 00339 uint8 FLAGS_TOWSET = 8 # Time of Week valid\n\ 00340 \n\ 00341 int32 ecefX # ECEF X coordinate [cm]\n\ 00342 int32 ecefY # ECEF Y coordinate [cm]\n\ 00343 int32 ecefZ # ECEF Z coordinate [cm]\n\ 00344 uint32 pAcc # 3D Position Accuracy Estimate [cm]\n\ 00345 int32 ecefVX # ECEF X velocity [cm/s]\n\ 00346 int32 ecefVY # ECEF Y velocity [cm/s]\n\ 00347 int32 ecefVZ # ECEF Z velocity [cm/s]\n\ 00348 uint32 sAcc # Speed Accuracy Estimate [cm/s]\n\ 00349 uint16 pDOP # Position DOP [cm]\n\ 00350 uint8 reserved1 # Reserved\n\ 00351 uint8 numSV # Number of SVs used in Nav Solution\n\ 00352 uint32 reserved2 # Reserved\n\ 00353 \n\ 00354 "; 00355 } 00356 00357 static const char* value(const ::ublox_msgs::NavSOL_<ContainerAllocator> &) { return value(); } 00358 }; 00359 00360 template<class ContainerAllocator> struct IsFixedSize< ::ublox_msgs::NavSOL_<ContainerAllocator> > : public TrueType {}; 00361 } // namespace message_traits 00362 } // namespace ros 00363 00364 namespace ros 00365 { 00366 namespace serialization 00367 { 00368 00369 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::NavSOL_<ContainerAllocator> > 00370 { 00371 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00372 { 00373 stream.next(m.iTOW); 00374 stream.next(m.fTOW); 00375 stream.next(m.week); 00376 stream.next(m.gpsFix); 00377 stream.next(m.flags); 00378 stream.next(m.ecefX); 00379 stream.next(m.ecefY); 00380 stream.next(m.ecefZ); 00381 stream.next(m.pAcc); 00382 stream.next(m.ecefVX); 00383 stream.next(m.ecefVY); 00384 stream.next(m.ecefVZ); 00385 stream.next(m.sAcc); 00386 stream.next(m.pDOP); 00387 stream.next(m.reserved1); 00388 stream.next(m.numSV); 00389 stream.next(m.reserved2); 00390 } 00391 00392 ROS_DECLARE_ALLINONE_SERIALIZER; 00393 }; // struct NavSOL_ 00394 } // namespace serialization 00395 } // namespace ros 00396 00397 namespace ros 00398 { 00399 namespace message_operations 00400 { 00401 00402 template<class ContainerAllocator> 00403 struct Printer< ::ublox_msgs::NavSOL_<ContainerAllocator> > 00404 { 00405 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::NavSOL_<ContainerAllocator> & v) 00406 { 00407 s << indent << "iTOW: "; 00408 Printer<uint32_t>::stream(s, indent + " ", v.iTOW); 00409 s << indent << "fTOW: "; 00410 Printer<int32_t>::stream(s, indent + " ", v.fTOW); 00411 s << indent << "week: "; 00412 Printer<int16_t>::stream(s, indent + " ", v.week); 00413 s << indent << "gpsFix: "; 00414 Printer<uint8_t>::stream(s, indent + " ", v.gpsFix); 00415 s << indent << "flags: "; 00416 Printer<uint8_t>::stream(s, indent + " ", v.flags); 00417 s << indent << "ecefX: "; 00418 Printer<int32_t>::stream(s, indent + " ", v.ecefX); 00419 s << indent << "ecefY: "; 00420 Printer<int32_t>::stream(s, indent + " ", v.ecefY); 00421 s << indent << "ecefZ: "; 00422 Printer<int32_t>::stream(s, indent + " ", v.ecefZ); 00423 s << indent << "pAcc: "; 00424 Printer<uint32_t>::stream(s, indent + " ", v.pAcc); 00425 s << indent << "ecefVX: "; 00426 Printer<int32_t>::stream(s, indent + " ", v.ecefVX); 00427 s << indent << "ecefVY: "; 00428 Printer<int32_t>::stream(s, indent + " ", v.ecefVY); 00429 s << indent << "ecefVZ: "; 00430 Printer<int32_t>::stream(s, indent + " ", v.ecefVZ); 00431 s << indent << "sAcc: "; 00432 Printer<uint32_t>::stream(s, indent + " ", v.sAcc); 00433 s << indent << "pDOP: "; 00434 Printer<uint16_t>::stream(s, indent + " ", v.pDOP); 00435 s << indent << "reserved1: "; 00436 Printer<uint8_t>::stream(s, indent + " ", v.reserved1); 00437 s << indent << "numSV: "; 00438 Printer<uint8_t>::stream(s, indent + " ", v.numSV); 00439 s << indent << "reserved2: "; 00440 Printer<uint32_t>::stream(s, indent + " ", v.reserved2); 00441 } 00442 }; 00443 00444 00445 } // namespace message_operations 00446 } // namespace ros 00447 00448 #endif // UBLOX_MSGS_MESSAGE_NAVSOL_H 00449