Go to the documentation of this file.00001
00002 #ifndef UBLOX_MSGS_MESSAGE_NAVDGPS_H
00003 #define UBLOX_MSGS_MESSAGE_NAVDGPS_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 #include "ublox_msgs/NavDGPS_SV.h"
00018
00019 namespace ublox_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct NavDGPS_ {
00023 typedef NavDGPS_<ContainerAllocator> Type;
00024
00025 NavDGPS_()
00026 : iTOW(0)
00027 , age(0)
00028 , baseId(0)
00029 , baseHealth(0)
00030 , numCh(0)
00031 , status(0)
00032 , reserved1(0)
00033 , sv()
00034 {
00035 }
00036
00037 NavDGPS_(const ContainerAllocator& _alloc)
00038 : iTOW(0)
00039 , age(0)
00040 , baseId(0)
00041 , baseHealth(0)
00042 , numCh(0)
00043 , status(0)
00044 , reserved1(0)
00045 , sv(_alloc)
00046 {
00047 }
00048
00049 typedef uint32_t _iTOW_type;
00050 uint32_t iTOW;
00051
00052 typedef int32_t _age_type;
00053 int32_t age;
00054
00055 typedef int16_t _baseId_type;
00056 int16_t baseId;
00057
00058 typedef int16_t _baseHealth_type;
00059 int16_t baseHealth;
00060
00061 typedef int8_t _numCh_type;
00062 int8_t numCh;
00063
00064 typedef uint8_t _status_type;
00065 uint8_t status;
00066
00067 typedef uint16_t _reserved1_type;
00068 uint16_t reserved1;
00069
00070 typedef std::vector< ::ublox_msgs::NavDGPS_SV_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ublox_msgs::NavDGPS_SV_<ContainerAllocator> >::other > _sv_type;
00071 std::vector< ::ublox_msgs::NavDGPS_SV_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ublox_msgs::NavDGPS_SV_<ContainerAllocator> >::other > sv;
00072
00073 enum { CLASS_ID = 1 };
00074 enum { MESSAGE_ID = 31 };
00075 enum { DGPS_CORRECTION_NONE = 0 };
00076 enum { DGPS_CORRECTION_PR_PRR = 1 };
00077
00078 typedef boost::shared_ptr< ::ublox_msgs::NavDGPS_<ContainerAllocator> > Ptr;
00079 typedef boost::shared_ptr< ::ublox_msgs::NavDGPS_<ContainerAllocator> const> ConstPtr;
00080 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00081 };
00082 typedef ::ublox_msgs::NavDGPS_<std::allocator<void> > NavDGPS;
00083
00084 typedef boost::shared_ptr< ::ublox_msgs::NavDGPS> NavDGPSPtr;
00085 typedef boost::shared_ptr< ::ublox_msgs::NavDGPS const> NavDGPSConstPtr;
00086
00087
00088 template<typename ContainerAllocator>
00089 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::NavDGPS_<ContainerAllocator> & v)
00090 {
00091 ros::message_operations::Printer< ::ublox_msgs::NavDGPS_<ContainerAllocator> >::stream(s, "", v);
00092 return s;}
00093
00094 }
00095
00096 namespace ros
00097 {
00098 namespace message_traits
00099 {
00100 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavDGPS_<ContainerAllocator> > : public TrueType {};
00101 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::NavDGPS_<ContainerAllocator> const> : public TrueType {};
00102 template<class ContainerAllocator>
00103 struct MD5Sum< ::ublox_msgs::NavDGPS_<ContainerAllocator> > {
00104 static const char* value()
00105 {
00106 return "b0aba8454084620f2a8eb7ff6445368c";
00107 }
00108
00109 static const char* value(const ::ublox_msgs::NavDGPS_<ContainerAllocator> &) { return value(); }
00110 static const uint64_t static_value1 = 0xb0aba8454084620fULL;
00111 static const uint64_t static_value2 = 0x2a8eb7ff6445368cULL;
00112 };
00113
00114 template<class ContainerAllocator>
00115 struct DataType< ::ublox_msgs::NavDGPS_<ContainerAllocator> > {
00116 static const char* value()
00117 {
00118 return "ublox_msgs/NavDGPS";
00119 }
00120
00121 static const char* value(const ::ublox_msgs::NavDGPS_<ContainerAllocator> &) { return value(); }
00122 };
00123
00124 template<class ContainerAllocator>
00125 struct Definition< ::ublox_msgs::NavDGPS_<ContainerAllocator> > {
00126 static const char* value()
00127 {
00128 return "# NAV-DGPS (0x01 0x31)\n\
00129 # DGPS Data Used for NAV\n\
00130 #\n\
00131 # This message outputs the Correction data as it has been applied to the current NAV\n\
00132 # Solution. See also the notes on the RTCM protocol.\n\
00133 #\n\
00134 \n\
00135 uint8 CLASS_ID = 1\n\
00136 uint8 MESSAGE_ID = 31\n\
00137 \n\
00138 uint32 iTOW # GPS Millisecond time of week [ms]\n\
00139 \n\
00140 int32 age # Age of newest correction data [ms]\n\
00141 int16 baseId # DGPS Base Station ID\n\
00142 int16 baseHealth # DGPS Base Station Health Status\n\
00143 int8 numCh # Number of channels for which correction data is following\n\
00144 \n\
00145 uint8 status # DGPS Correction Type Status\n\
00146 uint8 DGPS_CORRECTION_NONE = 0\n\
00147 uint8 DGPS_CORRECTION_PR_PRR = 1\n\
00148 \n\
00149 uint16 reserved1 # Reserved\n\
00150 \n\
00151 NavDGPS_SV[] sv\n\
00152 \n\
00153 ================================================================================\n\
00154 MSG: ublox_msgs/NavDGPS_SV\n\
00155 # see message NavDGPS\n\
00156 \n\
00157 uint8 svid # Satellite ID\n\
00158 \n\
00159 uint8 flags # Bitmask / Channel Number\n\
00160 uint8 CHANNEL1 = 1\n\
00161 uint8 CHANNEL2 = 2\n\
00162 uint8 CHANNEL3 = 3\n\
00163 uint8 CHANNEL4 = 4\n\
00164 uint8 CHANNEL5 = 5\n\
00165 uint8 CHANNEL6 = 6\n\
00166 uint8 CHANNEL7 = 7\n\
00167 uint8 CHANNEL8 = 8\n\
00168 uint8 DGPS = 16\n\
00169 \n\
00170 uint16 ageC # Age of latest correction data [ms]\n\
00171 float32 prc # Pseudo Range Correction [m]\n\
00172 float32 prrc # Pseudo Range Rate Correction [m/s]\n\
00173 \n\
00174 \n\
00175 ";
00176 }
00177
00178 static const char* value(const ::ublox_msgs::NavDGPS_<ContainerAllocator> &) { return value(); }
00179 };
00180
00181 }
00182 }
00183
00184 namespace ros
00185 {
00186 namespace serialization
00187 {
00188
00189 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::NavDGPS_<ContainerAllocator> >
00190 {
00191 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00192 {
00193 stream.next(m.iTOW);
00194 stream.next(m.age);
00195 stream.next(m.baseId);
00196 stream.next(m.baseHealth);
00197 stream.next(m.numCh);
00198 stream.next(m.status);
00199 stream.next(m.reserved1);
00200 stream.next(m.sv);
00201 }
00202
00203 ROS_DECLARE_ALLINONE_SERIALIZER;
00204 };
00205 }
00206 }
00207
00208 namespace ros
00209 {
00210 namespace message_operations
00211 {
00212
00213 template<class ContainerAllocator>
00214 struct Printer< ::ublox_msgs::NavDGPS_<ContainerAllocator> >
00215 {
00216 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::NavDGPS_<ContainerAllocator> & v)
00217 {
00218 s << indent << "iTOW: ";
00219 Printer<uint32_t>::stream(s, indent + " ", v.iTOW);
00220 s << indent << "age: ";
00221 Printer<int32_t>::stream(s, indent + " ", v.age);
00222 s << indent << "baseId: ";
00223 Printer<int16_t>::stream(s, indent + " ", v.baseId);
00224 s << indent << "baseHealth: ";
00225 Printer<int16_t>::stream(s, indent + " ", v.baseHealth);
00226 s << indent << "numCh: ";
00227 Printer<int8_t>::stream(s, indent + " ", v.numCh);
00228 s << indent << "status: ";
00229 Printer<uint8_t>::stream(s, indent + " ", v.status);
00230 s << indent << "reserved1: ";
00231 Printer<uint16_t>::stream(s, indent + " ", v.reserved1);
00232 s << indent << "sv[]" << std::endl;
00233 for (size_t i = 0; i < v.sv.size(); ++i)
00234 {
00235 s << indent << " sv[" << i << "]: ";
00236 s << std::endl;
00237 s << indent;
00238 Printer< ::ublox_msgs::NavDGPS_SV_<ContainerAllocator> >::stream(s, indent + " ", v.sv[i]);
00239 }
00240 }
00241 };
00242
00243
00244 }
00245 }
00246
00247 #endif // UBLOX_MSGS_MESSAGE_NAVDGPS_H
00248