00001
00002 #ifndef UBLOX_MSGS_MESSAGE_AIDHUI_H
00003 #define UBLOX_MSGS_MESSAGE_AIDHUI_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 AidHUI_ {
00022 typedef AidHUI_<ContainerAllocator> Type;
00023
00024 AidHUI_()
00025 : health(0)
00026 , utcA0(0.0)
00027 , utcA1(0.0)
00028 , utcTOW(0)
00029 , utcWNT(0)
00030 , utcLS(0)
00031 , utcWNF(0)
00032 , utcDN(0)
00033 , utcLSF(0)
00034 , utcSpare(0)
00035 , klobA0(0.0)
00036 , klobA1(0.0)
00037 , klobA2(0.0)
00038 , klobA3(0.0)
00039 , klobB0(0.0)
00040 , klobB1(0.0)
00041 , klobB2(0.0)
00042 , klobB3(0.0)
00043 , flags(0)
00044 {
00045 }
00046
00047 AidHUI_(const ContainerAllocator& _alloc)
00048 : health(0)
00049 , utcA0(0.0)
00050 , utcA1(0.0)
00051 , utcTOW(0)
00052 , utcWNT(0)
00053 , utcLS(0)
00054 , utcWNF(0)
00055 , utcDN(0)
00056 , utcLSF(0)
00057 , utcSpare(0)
00058 , klobA0(0.0)
00059 , klobA1(0.0)
00060 , klobA2(0.0)
00061 , klobA3(0.0)
00062 , klobB0(0.0)
00063 , klobB1(0.0)
00064 , klobB2(0.0)
00065 , klobB3(0.0)
00066 , flags(0)
00067 {
00068 }
00069
00070 typedef uint32_t _health_type;
00071 uint32_t health;
00072
00073 typedef double _utcA0_type;
00074 double utcA0;
00075
00076 typedef double _utcA1_type;
00077 double utcA1;
00078
00079 typedef int32_t _utcTOW_type;
00080 int32_t utcTOW;
00081
00082 typedef int16_t _utcWNT_type;
00083 int16_t utcWNT;
00084
00085 typedef int16_t _utcLS_type;
00086 int16_t utcLS;
00087
00088 typedef int16_t _utcWNF_type;
00089 int16_t utcWNF;
00090
00091 typedef int16_t _utcDN_type;
00092 int16_t utcDN;
00093
00094 typedef int16_t _utcLSF_type;
00095 int16_t utcLSF;
00096
00097 typedef int16_t _utcSpare_type;
00098 int16_t utcSpare;
00099
00100 typedef float _klobA0_type;
00101 float klobA0;
00102
00103 typedef float _klobA1_type;
00104 float klobA1;
00105
00106 typedef float _klobA2_type;
00107 float klobA2;
00108
00109 typedef float _klobA3_type;
00110 float klobA3;
00111
00112 typedef float _klobB0_type;
00113 float klobB0;
00114
00115 typedef float _klobB1_type;
00116 float klobB1;
00117
00118 typedef float _klobB2_type;
00119 float klobB2;
00120
00121 typedef float _klobB3_type;
00122 float klobB3;
00123
00124 typedef uint32_t _flags_type;
00125 uint32_t flags;
00126
00127 enum { CLASS_ID = 11 };
00128 enum { MESSAGE_ID = 2 };
00129 enum { FLAGS_HEALTH = 1 };
00130 enum { FLAGS_UTC = 2 };
00131 enum { FLAGS_KLOB = 4 };
00132
00133 typedef boost::shared_ptr< ::ublox_msgs::AidHUI_<ContainerAllocator> > Ptr;
00134 typedef boost::shared_ptr< ::ublox_msgs::AidHUI_<ContainerAllocator> const> ConstPtr;
00135 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00136 };
00137 typedef ::ublox_msgs::AidHUI_<std::allocator<void> > AidHUI;
00138
00139 typedef boost::shared_ptr< ::ublox_msgs::AidHUI> AidHUIPtr;
00140 typedef boost::shared_ptr< ::ublox_msgs::AidHUI const> AidHUIConstPtr;
00141
00142
00143 template<typename ContainerAllocator>
00144 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::AidHUI_<ContainerAllocator> & v)
00145 {
00146 ros::message_operations::Printer< ::ublox_msgs::AidHUI_<ContainerAllocator> >::stream(s, "", v);
00147 return s;}
00148
00149 }
00150
00151 namespace ros
00152 {
00153 namespace message_traits
00154 {
00155 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::AidHUI_<ContainerAllocator> > : public TrueType {};
00156 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::AidHUI_<ContainerAllocator> const> : public TrueType {};
00157 template<class ContainerAllocator>
00158 struct MD5Sum< ::ublox_msgs::AidHUI_<ContainerAllocator> > {
00159 static const char* value()
00160 {
00161 return "60cd4ce940333cb9b38edd447085ce5c";
00162 }
00163
00164 static const char* value(const ::ublox_msgs::AidHUI_<ContainerAllocator> &) { return value(); }
00165 static const uint64_t static_value1 = 0x60cd4ce940333cb9ULL;
00166 static const uint64_t static_value2 = 0xb38edd447085ce5cULL;
00167 };
00168
00169 template<class ContainerAllocator>
00170 struct DataType< ::ublox_msgs::AidHUI_<ContainerAllocator> > {
00171 static const char* value()
00172 {
00173 return "ublox_msgs/AidHUI";
00174 }
00175
00176 static const char* value(const ::ublox_msgs::AidHUI_<ContainerAllocator> &) { return value(); }
00177 };
00178
00179 template<class ContainerAllocator>
00180 struct Definition< ::ublox_msgs::AidHUI_<ContainerAllocator> > {
00181 static const char* value()
00182 {
00183 return "# AID-HUI (0x0B 0x02)\n\
00184 # GPS Health, UTC and ionosphere parameters\n\
00185 #\n\
00186 # This message contains a health bit mask, UTC time and Klobuchar parameters. For more\n\
00187 # information on these parameters, please see the ICD-GPS-200 documentation.\n\
00188 \n\
00189 uint8 CLASS_ID = 11\n\
00190 uint8 MESSAGE_ID = 2\n\
00191 \n\
00192 uint32 health # Bitmask, every bit represenst a GPS SV (1-32). If the bit is set the SV is healthy.\n\
00193 float64 utcA0 # UTC - parameter A0\n\
00194 float64 utcA1 # UTC - parameter A1\n\
00195 int32 utcTOW # UTC - reference time of week\n\
00196 int16 utcWNT # UTC - reference week number\n\
00197 int16 utcLS # UTC - time difference due to leap seconds before event\n\
00198 int16 utcWNF # UTC - week number when next leap second event occurs\n\
00199 int16 utcDN # UTC - day of week when next leap second event occurs\n\
00200 int16 utcLSF # UTC - time difference due to leap seconds after event\n\
00201 int16 utcSpare # UTC - Spare to ensure structure is a multiple of 4 bytes\n\
00202 float32 klobA0 #K lobuchar - alpha 0 [s]\n\
00203 float32 klobA1 # Klobuchar - alpha 1 [s/semicircle]\n\
00204 float32 klobA2 # Klobuchar - alpha 2 [s/semicircle^2]\n\
00205 float32 klobA3 # Klobuchar - alpha 3 [s/semicircle^3]\n\
00206 float32 klobB0 #K lobuchar - beta 0 [s]\n\
00207 float32 klobB1 # Klobuchar - beta 1 [s/semicircle]\n\
00208 float32 klobB2 # Klobuchar - beta 2 [s/semicircle^2]\n\
00209 float32 klobB3 # Klobuchar - beta 3 [s/semicircle^3]\n\
00210 uint32 flags # flags\n\
00211 uint32 FLAGS_HEALTH = 1 # Healthmask field in this message is valid\n\
00212 uint32 FLAGS_UTC = 2 # UTC parameter fields in this message are valid\n\
00213 uint32 FLAGS_KLOB = 4 # Klobuchar parameter fields in this message are valid\n\
00214 \n\
00215 ";
00216 }
00217
00218 static const char* value(const ::ublox_msgs::AidHUI_<ContainerAllocator> &) { return value(); }
00219 };
00220
00221 template<class ContainerAllocator> struct IsFixedSize< ::ublox_msgs::AidHUI_<ContainerAllocator> > : public TrueType {};
00222 }
00223 }
00224
00225 namespace ros
00226 {
00227 namespace serialization
00228 {
00229
00230 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::AidHUI_<ContainerAllocator> >
00231 {
00232 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00233 {
00234 stream.next(m.health);
00235 stream.next(m.utcA0);
00236 stream.next(m.utcA1);
00237 stream.next(m.utcTOW);
00238 stream.next(m.utcWNT);
00239 stream.next(m.utcLS);
00240 stream.next(m.utcWNF);
00241 stream.next(m.utcDN);
00242 stream.next(m.utcLSF);
00243 stream.next(m.utcSpare);
00244 stream.next(m.klobA0);
00245 stream.next(m.klobA1);
00246 stream.next(m.klobA2);
00247 stream.next(m.klobA3);
00248 stream.next(m.klobB0);
00249 stream.next(m.klobB1);
00250 stream.next(m.klobB2);
00251 stream.next(m.klobB3);
00252 stream.next(m.flags);
00253 }
00254
00255 ROS_DECLARE_ALLINONE_SERIALIZER;
00256 };
00257 }
00258 }
00259
00260 namespace ros
00261 {
00262 namespace message_operations
00263 {
00264
00265 template<class ContainerAllocator>
00266 struct Printer< ::ublox_msgs::AidHUI_<ContainerAllocator> >
00267 {
00268 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::AidHUI_<ContainerAllocator> & v)
00269 {
00270 s << indent << "health: ";
00271 Printer<uint32_t>::stream(s, indent + " ", v.health);
00272 s << indent << "utcA0: ";
00273 Printer<double>::stream(s, indent + " ", v.utcA0);
00274 s << indent << "utcA1: ";
00275 Printer<double>::stream(s, indent + " ", v.utcA1);
00276 s << indent << "utcTOW: ";
00277 Printer<int32_t>::stream(s, indent + " ", v.utcTOW);
00278 s << indent << "utcWNT: ";
00279 Printer<int16_t>::stream(s, indent + " ", v.utcWNT);
00280 s << indent << "utcLS: ";
00281 Printer<int16_t>::stream(s, indent + " ", v.utcLS);
00282 s << indent << "utcWNF: ";
00283 Printer<int16_t>::stream(s, indent + " ", v.utcWNF);
00284 s << indent << "utcDN: ";
00285 Printer<int16_t>::stream(s, indent + " ", v.utcDN);
00286 s << indent << "utcLSF: ";
00287 Printer<int16_t>::stream(s, indent + " ", v.utcLSF);
00288 s << indent << "utcSpare: ";
00289 Printer<int16_t>::stream(s, indent + " ", v.utcSpare);
00290 s << indent << "klobA0: ";
00291 Printer<float>::stream(s, indent + " ", v.klobA0);
00292 s << indent << "klobA1: ";
00293 Printer<float>::stream(s, indent + " ", v.klobA1);
00294 s << indent << "klobA2: ";
00295 Printer<float>::stream(s, indent + " ", v.klobA2);
00296 s << indent << "klobA3: ";
00297 Printer<float>::stream(s, indent + " ", v.klobA3);
00298 s << indent << "klobB0: ";
00299 Printer<float>::stream(s, indent + " ", v.klobB0);
00300 s << indent << "klobB1: ";
00301 Printer<float>::stream(s, indent + " ", v.klobB1);
00302 s << indent << "klobB2: ";
00303 Printer<float>::stream(s, indent + " ", v.klobB2);
00304 s << indent << "klobB3: ";
00305 Printer<float>::stream(s, indent + " ", v.klobB3);
00306 s << indent << "flags: ";
00307 Printer<uint32_t>::stream(s, indent + " ", v.flags);
00308 }
00309 };
00310
00311
00312 }
00313 }
00314
00315 #endif // UBLOX_MSGS_MESSAGE_AIDHUI_H
00316