00001
00002 #ifndef APPLANIX_MSGS_MESSAGE_GNSSAUXSTATUS_H
00003 #define APPLANIX_MSGS_MESSAGE_GNSSAUXSTATUS_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 "applanix_msgs/TimeDistance.h"
00018 #include "applanix_msgs/GNSSChannelStatus.h"
00019
00020 namespace applanix_msgs
00021 {
00022 template <class ContainerAllocator>
00023 struct GNSSAuxStatus_ {
00024 typedef GNSSAuxStatus_<ContainerAllocator> Type;
00025
00026 GNSSAuxStatus_()
00027 : td()
00028 , solution_status(0)
00029 , channels_count(0)
00030 , reserved(0)
00031 , channels()
00032 , hdop(0.0)
00033 , vdop(0.0)
00034 , dgps_latency(0.0)
00035 , dgps_reference_id(0)
00036 , gps_week(0)
00037 , gps_time_offset(0.0)
00038 , gnss_latency(0.0)
00039 , geoidal_separation(0.0)
00040 , nmea_messages_received(0)
00041 , in_use(0)
00042 {
00043 }
00044
00045 GNSSAuxStatus_(const ContainerAllocator& _alloc)
00046 : td(_alloc)
00047 , solution_status(0)
00048 , channels_count(0)
00049 , reserved(0)
00050 , channels(_alloc)
00051 , hdop(0.0)
00052 , vdop(0.0)
00053 , dgps_latency(0.0)
00054 , dgps_reference_id(0)
00055 , gps_week(0)
00056 , gps_time_offset(0.0)
00057 , gnss_latency(0.0)
00058 , geoidal_separation(0.0)
00059 , nmea_messages_received(0)
00060 , in_use(0)
00061 {
00062 }
00063
00064 typedef ::applanix_msgs::TimeDistance_<ContainerAllocator> _td_type;
00065 ::applanix_msgs::TimeDistance_<ContainerAllocator> td;
00066
00067 typedef uint8_t _solution_status_type;
00068 uint8_t solution_status;
00069
00070 typedef uint8_t _channels_count_type;
00071 uint8_t channels_count;
00072
00073 typedef uint16_t _reserved_type;
00074 uint16_t reserved;
00075
00076 typedef std::vector< ::applanix_msgs::GNSSChannelStatus_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::applanix_msgs::GNSSChannelStatus_<ContainerAllocator> >::other > _channels_type;
00077 std::vector< ::applanix_msgs::GNSSChannelStatus_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::applanix_msgs::GNSSChannelStatus_<ContainerAllocator> >::other > channels;
00078
00079 typedef float _hdop_type;
00080 float hdop;
00081
00082 typedef float _vdop_type;
00083 float vdop;
00084
00085 typedef float _dgps_latency_type;
00086 float dgps_latency;
00087
00088 typedef uint16_t _dgps_reference_id_type;
00089 uint16_t dgps_reference_id;
00090
00091 typedef uint32_t _gps_week_type;
00092 uint32_t gps_week;
00093
00094 typedef double _gps_time_offset_type;
00095 double gps_time_offset;
00096
00097 typedef float _gnss_latency_type;
00098 float gnss_latency;
00099
00100 typedef float _geoidal_separation_type;
00101 float geoidal_separation;
00102
00103 typedef uint16_t _nmea_messages_received_type;
00104 uint16_t nmea_messages_received;
00105
00106 typedef uint8_t _in_use_type;
00107 uint8_t in_use;
00108
00109 enum { SOLUTION_UNKNOWN = 255 };
00110 enum { SOLUTION_NO_DATA = 0 };
00111 enum { SOLUTION_HORIZONTAL_CA = 1 };
00112 enum { SOLUTION_3D_CA = 2 };
00113 enum { SOLUTION_HORIZONTAL_DGPS = 3 };
00114 enum { SOLUTION_3D_DGPS = 4 };
00115 enum { SOLUTION_FLOAT_RTK = 5 };
00116 enum { SOLUTION_WIDE_LANE_RTK = 6 };
00117 enum { SOLUTION_NARROW_LANE_RTK = 7 };
00118 enum { SOLUTION_P_CODE = 8 };
00119 enum { SOLUTION_OMNISTAR_HP = 9 };
00120 enum { SOLUTION_OMNISTAR_XP = 10 };
00121 enum { SOLUTION_OMNISTAR_VBS = 11 };
00122
00123 typedef boost::shared_ptr< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> > Ptr;
00124 typedef boost::shared_ptr< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> const> ConstPtr;
00125 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00126 };
00127 typedef ::applanix_msgs::GNSSAuxStatus_<std::allocator<void> > GNSSAuxStatus;
00128
00129 typedef boost::shared_ptr< ::applanix_msgs::GNSSAuxStatus> GNSSAuxStatusPtr;
00130 typedef boost::shared_ptr< ::applanix_msgs::GNSSAuxStatus const> GNSSAuxStatusConstPtr;
00131
00132
00133 template<typename ContainerAllocator>
00134 std::ostream& operator<<(std::ostream& s, const ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> & v)
00135 {
00136 ros::message_operations::Printer< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> >::stream(s, "", v);
00137 return s;}
00138
00139 }
00140
00141 namespace ros
00142 {
00143 namespace message_traits
00144 {
00145 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> > : public TrueType {};
00146 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> const> : public TrueType {};
00147 template<class ContainerAllocator>
00148 struct MD5Sum< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> > {
00149 static const char* value()
00150 {
00151 return "7aa22394742b953a48015e9d1c3d090f";
00152 }
00153
00154 static const char* value(const ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> &) { return value(); }
00155 static const uint64_t static_value1 = 0x7aa22394742b953aULL;
00156 static const uint64_t static_value2 = 0x48015e9d1c3d090fULL;
00157 };
00158
00159 template<class ContainerAllocator>
00160 struct DataType< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> > {
00161 static const char* value()
00162 {
00163 return "applanix_msgs/GNSSAuxStatus";
00164 }
00165
00166 static const char* value(const ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> &) { return value(); }
00167 };
00168
00169 template<class ContainerAllocator>
00170 struct Definition< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> > {
00171 static const char* value()
00172 {
00173 return "TimeDistance td\n\
00174 \n\
00175 uint8 SOLUTION_UNKNOWN=255\n\
00176 uint8 SOLUTION_NO_DATA=0\n\
00177 uint8 SOLUTION_HORIZONTAL_CA=1\n\
00178 uint8 SOLUTION_3D_CA=2\n\
00179 uint8 SOLUTION_HORIZONTAL_DGPS=3\n\
00180 uint8 SOLUTION_3D_DGPS=4\n\
00181 uint8 SOLUTION_FLOAT_RTK=5\n\
00182 uint8 SOLUTION_WIDE_LANE_RTK=6\n\
00183 uint8 SOLUTION_NARROW_LANE_RTK=7\n\
00184 uint8 SOLUTION_P_CODE=8\n\
00185 uint8 SOLUTION_OMNISTAR_HP=9\n\
00186 uint8 SOLUTION_OMNISTAR_XP=10\n\
00187 uint8 SOLUTION_OMNISTAR_VBS=11\n\
00188 uint8 solution_status\n\
00189 \n\
00190 uint8 channels_count\n\
00191 uint16 reserved\n\
00192 GNSSChannelStatus[] channels\n\
00193 \n\
00194 float32 hdop\n\
00195 float32 vdop\n\
00196 float32 dgps_latency\n\
00197 uint16 dgps_reference_id\n\
00198 \n\
00199 uint32 gps_week\n\
00200 float64 gps_time_offset\n\
00201 \n\
00202 float32 gnss_latency\n\
00203 float32 geoidal_separation\n\
00204 \n\
00205 #TODO: enum\n\
00206 uint16 nmea_messages_received\n\
00207 uint8 in_use\n\
00208 \n\
00209 ================================================================================\n\
00210 MSG: applanix_msgs/TimeDistance\n\
00211 float64 time1\n\
00212 float64 time2\n\
00213 float64 distance\n\
00214 uint8 time_types\n\
00215 uint8 distance_type\n\
00216 \n\
00217 ================================================================================\n\
00218 MSG: applanix_msgs/GNSSChannelStatus\n\
00219 uint16 sv_prn\n\
00220 \n\
00221 uint16 STATUS_L1_IDLE=0\n\
00222 uint16 STATUS_L1_ACQUISITION=1\n\
00223 uint16 STATUS_L1_CODE_LOCK=3\n\
00224 uint16 STATUS_L1_PHASE_LOCK=5\n\
00225 uint16 STATUS_L2_IDLE=6\n\
00226 uint16 STATUS_L2_ACQUISITION=8\n\
00227 uint16 STATUS_L2_CODE_LOCK=9\n\
00228 uint16 STATUS_L2_PHASE_LOCK=11\n\
00229 uint16 status\n\
00230 \n\
00231 float32 sv_azimuth\n\
00232 float32 sv_elevation\n\
00233 float32 sv_l1_snr\n\
00234 float32 sv_l2_snr\n\
00235 \n\
00236 ";
00237 }
00238
00239 static const char* value(const ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> &) { return value(); }
00240 };
00241
00242 }
00243 }
00244
00245 namespace ros
00246 {
00247 namespace serialization
00248 {
00249
00250 template<class ContainerAllocator> struct Serializer< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> >
00251 {
00252 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00253 {
00254 stream.next(m.td);
00255 stream.next(m.solution_status);
00256 stream.next(m.channels_count);
00257 stream.next(m.reserved);
00258 stream.next(m.channels);
00259 stream.next(m.hdop);
00260 stream.next(m.vdop);
00261 stream.next(m.dgps_latency);
00262 stream.next(m.dgps_reference_id);
00263 stream.next(m.gps_week);
00264 stream.next(m.gps_time_offset);
00265 stream.next(m.gnss_latency);
00266 stream.next(m.geoidal_separation);
00267 stream.next(m.nmea_messages_received);
00268 stream.next(m.in_use);
00269 }
00270
00271 ROS_DECLARE_ALLINONE_SERIALIZER;
00272 };
00273 }
00274 }
00275
00276 namespace ros
00277 {
00278 namespace message_operations
00279 {
00280
00281 template<class ContainerAllocator>
00282 struct Printer< ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> >
00283 {
00284 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::applanix_msgs::GNSSAuxStatus_<ContainerAllocator> & v)
00285 {
00286 s << indent << "td: ";
00287 s << std::endl;
00288 Printer< ::applanix_msgs::TimeDistance_<ContainerAllocator> >::stream(s, indent + " ", v.td);
00289 s << indent << "solution_status: ";
00290 Printer<uint8_t>::stream(s, indent + " ", v.solution_status);
00291 s << indent << "channels_count: ";
00292 Printer<uint8_t>::stream(s, indent + " ", v.channels_count);
00293 s << indent << "reserved: ";
00294 Printer<uint16_t>::stream(s, indent + " ", v.reserved);
00295 s << indent << "channels[]" << std::endl;
00296 for (size_t i = 0; i < v.channels.size(); ++i)
00297 {
00298 s << indent << " channels[" << i << "]: ";
00299 s << std::endl;
00300 s << indent;
00301 Printer< ::applanix_msgs::GNSSChannelStatus_<ContainerAllocator> >::stream(s, indent + " ", v.channels[i]);
00302 }
00303 s << indent << "hdop: ";
00304 Printer<float>::stream(s, indent + " ", v.hdop);
00305 s << indent << "vdop: ";
00306 Printer<float>::stream(s, indent + " ", v.vdop);
00307 s << indent << "dgps_latency: ";
00308 Printer<float>::stream(s, indent + " ", v.dgps_latency);
00309 s << indent << "dgps_reference_id: ";
00310 Printer<uint16_t>::stream(s, indent + " ", v.dgps_reference_id);
00311 s << indent << "gps_week: ";
00312 Printer<uint32_t>::stream(s, indent + " ", v.gps_week);
00313 s << indent << "gps_time_offset: ";
00314 Printer<double>::stream(s, indent + " ", v.gps_time_offset);
00315 s << indent << "gnss_latency: ";
00316 Printer<float>::stream(s, indent + " ", v.gnss_latency);
00317 s << indent << "geoidal_separation: ";
00318 Printer<float>::stream(s, indent + " ", v.geoidal_separation);
00319 s << indent << "nmea_messages_received: ";
00320 Printer<uint16_t>::stream(s, indent + " ", v.nmea_messages_received);
00321 s << indent << "in_use: ";
00322 Printer<uint8_t>::stream(s, indent + " ", v.in_use);
00323 }
00324 };
00325
00326
00327 }
00328 }
00329
00330 #endif // APPLANIX_MSGS_MESSAGE_GNSSAUXSTATUS_H
00331