Go to the documentation of this file.00001
00002 #ifndef UBLOX_MSGS_MESSAGE_NAVSTATUS_H
00003 #define UBLOX_MSGS_MESSAGE_NAVSTATUS_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 NavSTATUS_ {
00022 typedef NavSTATUS_<ContainerAllocator> Type;
00023
00024 NavSTATUS_()
00025 : iTOW(0)
00026 , gpsFix(0)
00027 , flags(0)
00028 , fixStat(0)
00029 , flags2(0)
00030 , ttff(0)
00031 , msss(0)
00032 {
00033 }
00034
00035 NavSTATUS_(const ContainerAllocator& _alloc)
00036 : iTOW(0)
00037 , gpsFix(0)
00038 , flags(0)
00039 , fixStat(0)
00040 , flags2(0)
00041 , ttff(0)
00042 , msss(0)
00043 {
00044 }
00045
00046 typedef uint32_t _iTOW_type;
00047 uint32_t iTOW;
00048
00049 typedef uint8_t _gpsFix_type;
00050 uint8_t gpsFix;
00051
00052 typedef uint8_t _flags_type;
00053 uint8_t flags;
00054
00055 typedef uint8_t _fixStat_type;
00056 uint8_t fixStat;
00057
00058 typedef uint8_t _flags2_type;
00059 uint8_t flags2;
00060
00061 typedef uint32_t _ttff_type;
00062 uint32_t ttff;
00063
00064 typedef uint32_t _msss_type;
00065 uint32_t msss;
00066
00067 enum { CLASS_ID = 1 };
00068 enum { MESSAGE_ID = 3 };
00069 enum { GPS_NO_FIX = 0 };
00070 enum { GPS_DEAD_RECKONING_ONLY = 1 };
00071 enum { GPS_2D_FIX = 2 };
00072 enum { GPS_3D_FIX = 3 };
00073 enum { GPS_GPS_DEAD_RECKONING_COMBINED = 4 };
00074 enum { GPS_TIME_ONLY_FIX = 6 };
00075 enum { FLAGS_GPSFIXOK = 1 };
00076 enum { FLAGS_DIFFSOLN = 2 };
00077 enum { FLAGS_WKNSET = 4 };
00078 enum { FLAGS_TOWSET = 8 };
00079 enum { DGPSISTAT_MASK = 1 };
00080 enum { DGPSISTAT_NONE = 0 };
00081 enum { DGPSISTAT_PR_PRR = 1 };
00082 enum { MAPMATCHING_MASK = 192 };
00083 enum { MAPMATCHING_NONE = 0 };
00084 enum { MAPMATCHING_VALID = 64 };
00085 enum { MAPMATCHING_USED = 128 };
00086 enum { MAPMATCHING_DR = 192 };
00087 enum { PSMSTATE_ACQUISITION = 0 };
00088 enum { PSMSTATE_TRACKING = 1 };
00089 enum { PSMSTATE_POWER_OPTIMIZED_TRACKING = 2 };
00090 enum { PSMSTATE_INACTIVE = 3 };
00091
00092 typedef boost::shared_ptr< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > Ptr;
00093 typedef boost::shared_ptr< ::ublox_msgs::NavSTATUS_<ContainerAllocator> const> ConstPtr;
00094 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00095 };
00096 typedef ::ublox_msgs::NavSTATUS_<std::allocator<void> > NavSTATUS;
00097
00098 typedef boost::shared_ptr< ::ublox_msgs::NavSTATUS> NavSTATUSPtr;
00099 typedef boost::shared_ptr< ::ublox_msgs::NavSTATUS const> NavSTATUSConstPtr;
00100
00101
00102 template<typename ContainerAllocator>
00103 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::NavSTATUS_<ContainerAllocator> & v)
00104 {
00105 ros::message_operations::Printer< ::ublox_msgs::NavSTATUS_<ContainerAllocator> >::stream(s, "", v);
00106 return s;}
00107
00108 }
00109
00110 namespace ros
00111 {
00112 namespace message_traits
00113 {
00114 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > : public TrueType {};
00115 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavSTATUS_<ContainerAllocator> const> : public TrueType {};
00116 template<class ContainerAllocator>
00117 struct MD5Sum< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "c59712aa2e07ac37df60d9b92f97d104";
00121 }
00122
00123 static const char* value(const ::ublox_msgs::NavSTATUS_<ContainerAllocator> &) { return value(); }
00124 static const uint64_t static_value1 = 0xc59712aa2e07ac37ULL;
00125 static const uint64_t static_value2 = 0xdf60d9b92f97d104ULL;
00126 };
00127
00128 template<class ContainerAllocator>
00129 struct DataType< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > {
00130 static const char* value()
00131 {
00132 return "ublox_msgs/NavSTATUS";
00133 }
00134
00135 static const char* value(const ::ublox_msgs::NavSTATUS_<ContainerAllocator> &) { return value(); }
00136 };
00137
00138 template<class ContainerAllocator>
00139 struct Definition< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > {
00140 static const char* value()
00141 {
00142 return "# NAV-STATUS (0x01 0x03)\n\
00143 # Receiver Navigation Status\n\
00144 #\n\
00145 # See important comments concerning validity of position and velocity given in\n\
00146 # section Navigation Output Filters.\n\
00147 #\n\
00148 \n\
00149 uint8 CLASS_ID = 1\n\
00150 uint8 MESSAGE_ID = 3\n\
00151 \n\
00152 uint32 iTOW # GPS Millisecond time of week [ms]\n\
00153 \n\
00154 uint8 gpsFix # GPSfix Type, range 0..5\n\
00155 uint8 GPS_NO_FIX = 0\n\
00156 uint8 GPS_DEAD_RECKONING_ONLY = 1\n\
00157 uint8 GPS_2D_FIX = 2\n\
00158 uint8 GPS_3D_FIX = 3\n\
00159 uint8 GPS_GPS_DEAD_RECKONING_COMBINED = 4\n\
00160 uint8 GPS_TIME_ONLY_FIX = 6\n\
00161 \n\
00162 uint8 flags # Navigation Status Flags\n\
00163 uint8 FLAGS_GPSFIXOK = 1 # i.e. within DOP & ACC Masks\n\
00164 uint8 FLAGS_DIFFSOLN = 2 # DGPS used\n\
00165 uint8 FLAGS_WKNSET = 4 # Week Number valid\n\
00166 uint8 FLAGS_TOWSET = 8 # Time of Week valid\n\
00167 \n\
00168 uint8 fixStat # Fix Status Information\n\
00169 # DGPS Input Status:\n\
00170 uint8 DGPSISTAT_MASK = 1\n\
00171 uint8 DGPSISTAT_NONE = 0 # none\n\
00172 uint8 DGPSISTAT_PR_PRR = 1 # PR+PRR Correction\n\
00173 # map matching status:\n\
00174 uint8 MAPMATCHING_MASK = 192\n\
00175 uint8 MAPMATCHING_NONE = 0 # none\n\
00176 uint8 MAPMATCHING_VALID = 64 # valid, i.e. map matching data was received, but was too old\n\
00177 uint8 MAPMATCHING_USED = 128 # used, map matching data was applied\n\
00178 uint8 MAPMATCHING_DR = 192 # DR, map matching was the reason to enable the dead reckoning gpsFix type instead of publishing no fix\n\
00179 \n\
00180 uint8 flags2 # further information about navigation output\n\
00181 # power safe mode state (Only for FW version >= 7.01; undefined otherwise)\n\
00182 uint8 PSMSTATE_ACQUISITION = 0 # ACQUISITION [or when psm disabled]\n\
00183 uint8 PSMSTATE_TRACKING = 1 # TRACKING\n\
00184 uint8 PSMSTATE_POWER_OPTIMIZED_TRACKING = 2 # POWER OPTIMIZED TRACKING\n\
00185 uint8 PSMSTATE_INACTIVE = 3 # INACTIVE\n\
00186 \n\
00187 uint32 ttff # Time to first fix (millisecond time tag)\n\
00188 uint32 msss # Milliseconds since Startup / Reset\n\
00189 \n\
00190 ";
00191 }
00192
00193 static const char* value(const ::ublox_msgs::NavSTATUS_<ContainerAllocator> &) { return value(); }
00194 };
00195
00196 template<class ContainerAllocator> struct IsFixedSize< ::ublox_msgs::NavSTATUS_<ContainerAllocator> > : public TrueType {};
00197 }
00198 }
00199
00200 namespace ros
00201 {
00202 namespace serialization
00203 {
00204
00205 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::NavSTATUS_<ContainerAllocator> >
00206 {
00207 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00208 {
00209 stream.next(m.iTOW);
00210 stream.next(m.gpsFix);
00211 stream.next(m.flags);
00212 stream.next(m.fixStat);
00213 stream.next(m.flags2);
00214 stream.next(m.ttff);
00215 stream.next(m.msss);
00216 }
00217
00218 ROS_DECLARE_ALLINONE_SERIALIZER;
00219 };
00220 }
00221 }
00222
00223 namespace ros
00224 {
00225 namespace message_operations
00226 {
00227
00228 template<class ContainerAllocator>
00229 struct Printer< ::ublox_msgs::NavSTATUS_<ContainerAllocator> >
00230 {
00231 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::NavSTATUS_<ContainerAllocator> & v)
00232 {
00233 s << indent << "iTOW: ";
00234 Printer<uint32_t>::stream(s, indent + " ", v.iTOW);
00235 s << indent << "gpsFix: ";
00236 Printer<uint8_t>::stream(s, indent + " ", v.gpsFix);
00237 s << indent << "flags: ";
00238 Printer<uint8_t>::stream(s, indent + " ", v.flags);
00239 s << indent << "fixStat: ";
00240 Printer<uint8_t>::stream(s, indent + " ", v.fixStat);
00241 s << indent << "flags2: ";
00242 Printer<uint8_t>::stream(s, indent + " ", v.flags2);
00243 s << indent << "ttff: ";
00244 Printer<uint32_t>::stream(s, indent + " ", v.ttff);
00245 s << indent << "msss: ";
00246 Printer<uint32_t>::stream(s, indent + " ", v.msss);
00247 }
00248 };
00249
00250
00251 }
00252 }
00253
00254 #endif // UBLOX_MSGS_MESSAGE_NAVSTATUS_H
00255