Go to the documentation of this file.00001
00002 #ifndef UBLOX_MSGS_MESSAGE_NAVTIMEGPS_H
00003 #define UBLOX_MSGS_MESSAGE_NAVTIMEGPS_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 NavTIMEGPS_ {
00022 typedef NavTIMEGPS_<ContainerAllocator> Type;
00023
00024 NavTIMEGPS_()
00025 : iTOW(0)
00026 , fTOW(0)
00027 , week(0)
00028 , leapS(0)
00029 , valid(0)
00030 , tAcc(0)
00031 {
00032 }
00033
00034 NavTIMEGPS_(const ContainerAllocator& _alloc)
00035 : iTOW(0)
00036 , fTOW(0)
00037 , week(0)
00038 , leapS(0)
00039 , valid(0)
00040 , tAcc(0)
00041 {
00042 }
00043
00044 typedef uint32_t _iTOW_type;
00045 uint32_t iTOW;
00046
00047 typedef int32_t _fTOW_type;
00048 int32_t fTOW;
00049
00050 typedef int16_t _week_type;
00051 int16_t week;
00052
00053 typedef int8_t _leapS_type;
00054 int8_t leapS;
00055
00056 typedef uint8_t _valid_type;
00057 uint8_t valid;
00058
00059 typedef uint32_t _tAcc_type;
00060 uint32_t tAcc;
00061
00062 enum { CLASS_ID = 1 };
00063 enum { MESSAGE_ID = 32 };
00064 enum { VALID_TOW = 1 };
00065 enum { VALID_WEEK = 2 };
00066 enum { VALID_UTC = 4 };
00067
00068 typedef boost::shared_ptr< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > Ptr;
00069 typedef boost::shared_ptr< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> const> ConstPtr;
00070 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00071 };
00072 typedef ::ublox_msgs::NavTIMEGPS_<std::allocator<void> > NavTIMEGPS;
00073
00074 typedef boost::shared_ptr< ::ublox_msgs::NavTIMEGPS> NavTIMEGPSPtr;
00075 typedef boost::shared_ptr< ::ublox_msgs::NavTIMEGPS const> NavTIMEGPSConstPtr;
00076
00077
00078 template<typename ContainerAllocator>
00079 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> & v)
00080 {
00081 ros::message_operations::Printer< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> >::stream(s, "", v);
00082 return s;}
00083
00084 }
00085
00086 namespace ros
00087 {
00088 namespace message_traits
00089 {
00090 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > : public TrueType {};
00091 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> const> : public TrueType {};
00092 template<class ContainerAllocator>
00093 struct MD5Sum< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > {
00094 static const char* value()
00095 {
00096 return "4b13e924e2a4818785c01a54ff86bd76";
00097 }
00098
00099 static const char* value(const ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> &) { return value(); }
00100 static const uint64_t static_value1 = 0x4b13e924e2a48187ULL;
00101 static const uint64_t static_value2 = 0x85c01a54ff86bd76ULL;
00102 };
00103
00104 template<class ContainerAllocator>
00105 struct DataType< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > {
00106 static const char* value()
00107 {
00108 return "ublox_msgs/NavTIMEGPS";
00109 }
00110
00111 static const char* value(const ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> &) { return value(); }
00112 };
00113
00114 template<class ContainerAllocator>
00115 struct Definition< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > {
00116 static const char* value()
00117 {
00118 return "# NAV-TIMEGPS (0x01 0x20)\n\
00119 # GPS Time Solution\n\
00120 #\n\
00121 \n\
00122 uint8 CLASS_ID = 1\n\
00123 uint8 MESSAGE_ID = 32\n\
00124 \n\
00125 uint32 iTOW # GPS Millisecond time of week [ms]\n\
00126 int32 fTOW # Fractional Nanoseconds remainder of rounded\n\
00127 # ms above, range -500000 .. 500000 [ns]\n\
00128 int16 week # GPS week (GPS time)\n\
00129 \n\
00130 int8 leapS # Leap Seconds (GPS-UTC) [s]\n\
00131 \n\
00132 uint8 valid # Validity Flags\n\
00133 uint8 VALID_TOW = 1 # Valid Time of Week\n\
00134 uint8 VALID_WEEK = 2 # Valid Week Number\n\
00135 uint8 VALID_UTC = 4 # Valid Leap Seconds, i.e. Leap Seconds already known\n\
00136 \n\
00137 uint32 tAcc # Time Accuracy Estimate [ns]\n\
00138 \n\
00139 ";
00140 }
00141
00142 static const char* value(const ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> &) { return value(); }
00143 };
00144
00145 template<class ContainerAllocator> struct IsFixedSize< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> > : public TrueType {};
00146 }
00147 }
00148
00149 namespace ros
00150 {
00151 namespace serialization
00152 {
00153
00154 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> >
00155 {
00156 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00157 {
00158 stream.next(m.iTOW);
00159 stream.next(m.fTOW);
00160 stream.next(m.week);
00161 stream.next(m.leapS);
00162 stream.next(m.valid);
00163 stream.next(m.tAcc);
00164 }
00165
00166 ROS_DECLARE_ALLINONE_SERIALIZER;
00167 };
00168 }
00169 }
00170
00171 namespace ros
00172 {
00173 namespace message_operations
00174 {
00175
00176 template<class ContainerAllocator>
00177 struct Printer< ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> >
00178 {
00179 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::NavTIMEGPS_<ContainerAllocator> & v)
00180 {
00181 s << indent << "iTOW: ";
00182 Printer<uint32_t>::stream(s, indent + " ", v.iTOW);
00183 s << indent << "fTOW: ";
00184 Printer<int32_t>::stream(s, indent + " ", v.fTOW);
00185 s << indent << "week: ";
00186 Printer<int16_t>::stream(s, indent + " ", v.week);
00187 s << indent << "leapS: ";
00188 Printer<int8_t>::stream(s, indent + " ", v.leapS);
00189 s << indent << "valid: ";
00190 Printer<uint8_t>::stream(s, indent + " ", v.valid);
00191 s << indent << "tAcc: ";
00192 Printer<uint32_t>::stream(s, indent + " ", v.tAcc);
00193 }
00194 };
00195
00196
00197 }
00198 }
00199
00200 #endif // UBLOX_MSGS_MESSAGE_NAVTIMEGPS_H
00201