00001
00002 #ifndef UBLOX_MSGS_MESSAGE_CFGPRT_H
00003 #define UBLOX_MSGS_MESSAGE_CFGPRT_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 CfgPRT_ {
00022 typedef CfgPRT_<ContainerAllocator> Type;
00023
00024 CfgPRT_()
00025 : portID(0)
00026 , reserved0(0)
00027 , txReady(0)
00028 , mode(0)
00029 , baudRate(0)
00030 , inProtoMask(0)
00031 , outProtoMask(0)
00032 , reserved4(0)
00033 , reserved5(0)
00034 {
00035 }
00036
00037 CfgPRT_(const ContainerAllocator& _alloc)
00038 : portID(0)
00039 , reserved0(0)
00040 , txReady(0)
00041 , mode(0)
00042 , baudRate(0)
00043 , inProtoMask(0)
00044 , outProtoMask(0)
00045 , reserved4(0)
00046 , reserved5(0)
00047 {
00048 }
00049
00050 typedef uint8_t _portID_type;
00051 uint8_t portID;
00052
00053 typedef uint8_t _reserved0_type;
00054 uint8_t reserved0;
00055
00056 typedef uint16_t _txReady_type;
00057 uint16_t txReady;
00058
00059 typedef uint32_t _mode_type;
00060 uint32_t mode;
00061
00062 typedef uint32_t _baudRate_type;
00063 uint32_t baudRate;
00064
00065 typedef uint16_t _inProtoMask_type;
00066 uint16_t inProtoMask;
00067
00068 typedef uint16_t _outProtoMask_type;
00069 uint16_t outProtoMask;
00070
00071 typedef uint16_t _reserved4_type;
00072 uint16_t reserved4;
00073
00074 typedef uint16_t _reserved5_type;
00075 uint16_t reserved5;
00076
00077 enum { CLASS_ID = 6 };
00078 enum { MESSAGE_ID = 0 };
00079 enum { PORT_ID_UART1 = 1 };
00080 enum { PORT_ID_UART2 = 2 };
00081 enum { PORT_ID_USB = 3 };
00082 enum { TX_READY_EN = 1 };
00083 enum { TX_READY_POLARITY_HIGH_ACTIVE = 0 };
00084 enum { TX_READY_POLARITY_LOW_ACTIVE = 2 };
00085 enum { TX_READY_PIN_SHIFT = 2 };
00086 enum { TX_READY_PIN_MASK = 124 };
00087 enum { TX_READY_THRES_SHIFT = 7 };
00088 enum { TX_READY_THRES_MASK = 65408 };
00089 enum { MODE_RESERVED1 = 16 };
00090 enum { MODE_CHAR_LEN_MASK = 192 };
00091 enum { MODE_CHAR_LEN_5BIT = 0 };
00092 enum { MODE_CHAR_LEN_6BIT = 64 };
00093 enum { MODE_CHAR_LEN_7BIT = 128 };
00094 enum { MODE_CHAR_LEN_8BIT = 192 };
00095 enum { MODE_PARITY_MASK = 3584 };
00096 enum { MODE_PARITY_EVEN = 0 };
00097 enum { MODE_PARITY_ODD = 512 };
00098 enum { MODE_PARITY_NO = 2048 };
00099 enum { MODE_STOP_BITS_MASK = 12288 };
00100 enum { MODE_STOP_BITS_1 = 0 };
00101 enum { MODE_STOP_BITS_15 = 4096 };
00102 enum { MODE_STOP_BITS_2 = 8192 };
00103 enum { MODE_STOP_BITS_05 = 12288 };
00104 enum { PROTO_UBX = 1 };
00105 enum { PROTO_NMEA = 2 };
00106 enum { PROTO_RTCM = 4 };
00107
00108 typedef boost::shared_ptr< ::ublox_msgs::CfgPRT_<ContainerAllocator> > Ptr;
00109 typedef boost::shared_ptr< ::ublox_msgs::CfgPRT_<ContainerAllocator> const> ConstPtr;
00110 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00111 };
00112 typedef ::ublox_msgs::CfgPRT_<std::allocator<void> > CfgPRT;
00113
00114 typedef boost::shared_ptr< ::ublox_msgs::CfgPRT> CfgPRTPtr;
00115 typedef boost::shared_ptr< ::ublox_msgs::CfgPRT const> CfgPRTConstPtr;
00116
00117
00118 template<typename ContainerAllocator>
00119 std::ostream& operator<<(std::ostream& s, const ::ublox_msgs::CfgPRT_<ContainerAllocator> & v)
00120 {
00121 ros::message_operations::Printer< ::ublox_msgs::CfgPRT_<ContainerAllocator> >::stream(s, "", v);
00122 return s;}
00123
00124 }
00125
00126 namespace ros
00127 {
00128 namespace message_traits
00129 {
00130 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::CfgPRT_<ContainerAllocator> > : public TrueType {};
00131 template<class ContainerAllocator> struct IsMessage< ::ublox_msgs::CfgPRT_<ContainerAllocator> const> : public TrueType {};
00132 template<class ContainerAllocator>
00133 struct MD5Sum< ::ublox_msgs::CfgPRT_<ContainerAllocator> > {
00134 static const char* value()
00135 {
00136 return "3679d3ad278d5329fb8543226a55acca";
00137 }
00138
00139 static const char* value(const ::ublox_msgs::CfgPRT_<ContainerAllocator> &) { return value(); }
00140 static const uint64_t static_value1 = 0x3679d3ad278d5329ULL;
00141 static const uint64_t static_value2 = 0xfb8543226a55accaULL;
00142 };
00143
00144 template<class ContainerAllocator>
00145 struct DataType< ::ublox_msgs::CfgPRT_<ContainerAllocator> > {
00146 static const char* value()
00147 {
00148 return "ublox_msgs/CfgPRT";
00149 }
00150
00151 static const char* value(const ::ublox_msgs::CfgPRT_<ContainerAllocator> &) { return value(); }
00152 };
00153
00154 template<class ContainerAllocator>
00155 struct Definition< ::ublox_msgs::CfgPRT_<ContainerAllocator> > {
00156 static const char* value()
00157 {
00158 return "# CFG-PRT (0x06 0x00)\n\
00159 # Port Configuration for UART\n\
00160 #\n\
00161 # Several configurations can be concatenated to one input message. In this case the payload\n\
00162 # length can be a multiple of the normal length (see the other versions of CFG-PRT). Output\n\
00163 # messages from the module contain only one configuration unit.\n\
00164 #\n\
00165 \n\
00166 uint8 CLASS_ID = 6\n\
00167 uint8 MESSAGE_ID = 0\n\
00168 \n\
00169 uint8 portID # Port Identifier Number (= 1 or 2 for UART ports)\n\
00170 uint8 PORT_ID_UART1 = 1\n\
00171 uint8 PORT_ID_UART2 = 2\n\
00172 uint8 PORT_ID_USB = 3\n\
00173 \n\
00174 uint8 reserved0 # Reserved\n\
00175 \n\
00176 uint16 txReady # reserved (Alwyas set to zero) up to Firmware 7.01,\n\
00177 # TX ready PIN configuration (since Firmware 7.01)\n\
00178 uint16 TX_READY_EN = 1 # Enable TX ready feature for this port\n\
00179 uint16 TX_READY_POLARITY_HIGH_ACTIVE = 0 # Polarity High-active\n\
00180 uint16 TX_READY_POLARITY_LOW_ACTIVE = 2 # Polarity Low-active\n\
00181 uint16 TX_READY_PIN_SHIFT = 2 # PIO to be used (must not be in use already by another function)\n\
00182 uint16 TX_READY_PIN_MASK = 124 #\n\
00183 uint16 TX_READY_THRES_SHIFT = 7 # Threshold\n\
00184 uint16 TX_READY_THRES_MASK = 65408 # The given threshold is multiplied by 8 bytes.\n\
00185 # The TX ready PIN goes active after >= thres*8 bytes are pending for the port and going inactive after the last\n\
00186 # pending bytes have been written to hardware (0-4 bytes before end of stream).\n\
00187 \n\
00188 uint32 mode # A bit mask describing the UART mode\n\
00189 uint32 MODE_RESERVED1 = 16 # Default 1 for compatibility with A4\n\
00190 uint32 MODE_CHAR_LEN_MASK = 192 # Character Length\n\
00191 uint32 MODE_CHAR_LEN_5BIT = 0 # 5bit (not supported)\n\
00192 uint32 MODE_CHAR_LEN_6BIT = 64 # 6bit (not supported)\n\
00193 uint32 MODE_CHAR_LEN_7BIT = 128 # 7bit (supported only with parity)\n\
00194 uint32 MODE_CHAR_LEN_8BIT = 192 # 8bit\n\
00195 uint32 MODE_PARITY_MASK = 3584 #\n\
00196 uint32 MODE_PARITY_EVEN = 0 # Even Parity\n\
00197 uint32 MODE_PARITY_ODD = 512 # Odd Parity\n\
00198 uint32 MODE_PARITY_NO = 2048 # No Parity\n\
00199 uint32 MODE_STOP_BITS_MASK = 12288 # Number of Stop Bits\n\
00200 uint32 MODE_STOP_BITS_1 = 0 # 1 Stop Bit\n\
00201 uint32 MODE_STOP_BITS_15 = 4096 # 1.5 Stop Bit\n\
00202 uint32 MODE_STOP_BITS_2 = 8192 # 2 Stop Bit\n\
00203 uint32 MODE_STOP_BITS_05 = 12288 # 0.5 Stop Bit\n\
00204 \n\
00205 uint32 baudRate # Baudrate in bits/second [bits/s]\n\
00206 \n\
00207 uint16 inProtoMask # A mask describing which input protocols are active.\n\
00208 # Each bit of this mask is used for a protocol.\n\
00209 # Through that, multiple protocols can be defined\n\
00210 # on a single port.\n\
00211 \n\
00212 uint16 outProtoMask # A mask describing which output protocols are active.\n\
00213 # Each bit of this mask is used for a protocol.\n\
00214 # Through that, multiple protocols can be defined\n\
00215 # on a single port.\n\
00216 \n\
00217 uint16 PROTO_UBX = 1\n\
00218 uint16 PROTO_NMEA = 2\n\
00219 uint16 PROTO_RTCM = 4\n\
00220 \n\
00221 uint16 reserved4 # Always set to zero\n\
00222 uint16 reserved5 # Always set to zero\n\
00223 \n\
00224 ";
00225 }
00226
00227 static const char* value(const ::ublox_msgs::CfgPRT_<ContainerAllocator> &) { return value(); }
00228 };
00229
00230 template<class ContainerAllocator> struct IsFixedSize< ::ublox_msgs::CfgPRT_<ContainerAllocator> > : public TrueType {};
00231 }
00232 }
00233
00234 namespace ros
00235 {
00236 namespace serialization
00237 {
00238
00239 template<class ContainerAllocator> struct Serializer< ::ublox_msgs::CfgPRT_<ContainerAllocator> >
00240 {
00241 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00242 {
00243 stream.next(m.portID);
00244 stream.next(m.reserved0);
00245 stream.next(m.txReady);
00246 stream.next(m.mode);
00247 stream.next(m.baudRate);
00248 stream.next(m.inProtoMask);
00249 stream.next(m.outProtoMask);
00250 stream.next(m.reserved4);
00251 stream.next(m.reserved5);
00252 }
00253
00254 ROS_DECLARE_ALLINONE_SERIALIZER;
00255 };
00256 }
00257 }
00258
00259 namespace ros
00260 {
00261 namespace message_operations
00262 {
00263
00264 template<class ContainerAllocator>
00265 struct Printer< ::ublox_msgs::CfgPRT_<ContainerAllocator> >
00266 {
00267 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ublox_msgs::CfgPRT_<ContainerAllocator> & v)
00268 {
00269 s << indent << "portID: ";
00270 Printer<uint8_t>::stream(s, indent + " ", v.portID);
00271 s << indent << "reserved0: ";
00272 Printer<uint8_t>::stream(s, indent + " ", v.reserved0);
00273 s << indent << "txReady: ";
00274 Printer<uint16_t>::stream(s, indent + " ", v.txReady);
00275 s << indent << "mode: ";
00276 Printer<uint32_t>::stream(s, indent + " ", v.mode);
00277 s << indent << "baudRate: ";
00278 Printer<uint32_t>::stream(s, indent + " ", v.baudRate);
00279 s << indent << "inProtoMask: ";
00280 Printer<uint16_t>::stream(s, indent + " ", v.inProtoMask);
00281 s << indent << "outProtoMask: ";
00282 Printer<uint16_t>::stream(s, indent + " ", v.outProtoMask);
00283 s << indent << "reserved4: ";
00284 Printer<uint16_t>::stream(s, indent + " ", v.reserved4);
00285 s << indent << "reserved5: ";
00286 Printer<uint16_t>::stream(s, indent + " ", v.reserved5);
00287 }
00288 };
00289
00290
00291 }
00292 }
00293
00294 #endif // UBLOX_MSGS_MESSAGE_CFGPRT_H
00295