$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-art_vehicle/doc_stacks/2013-03-01_14-08-11.497537/art_vehicle/art_msgs/msg/Shifter.msg */ 00002 #ifndef ART_MSGS_MESSAGE_SHIFTER_H 00003 #define ART_MSGS_MESSAGE_SHIFTER_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 "std_msgs/Header.h" 00018 00019 namespace art_msgs 00020 { 00021 template <class ContainerAllocator> 00022 struct Shifter_ { 00023 typedef Shifter_<ContainerAllocator> Type; 00024 00025 Shifter_() 00026 : header() 00027 , gear(0) 00028 , relays(0) 00029 { 00030 } 00031 00032 Shifter_(const ContainerAllocator& _alloc) 00033 : header(_alloc) 00034 , gear(0) 00035 , relays(0) 00036 { 00037 } 00038 00039 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00040 ::std_msgs::Header_<ContainerAllocator> header; 00041 00042 typedef uint8_t _gear_type; 00043 uint8_t gear; 00044 00045 typedef uint8_t _relays_type; 00046 uint8_t relays; 00047 00048 enum { Reset = 0 }; 00049 enum { Park = 1 }; 00050 enum { Reverse = 2 }; 00051 enum { Neutral = 3 }; 00052 enum { Drive = 4 }; 00053 00054 private: 00055 static const char* __s_getDataType_() { return "art_msgs/Shifter"; } 00056 public: 00057 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00058 00059 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00060 00061 private: 00062 static const char* __s_getMD5Sum_() { return "dddb61d8575e01ea7857ef1b3a7b941c"; } 00063 public: 00064 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00065 00066 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00067 00068 private: 00069 static const char* __s_getMessageDefinition_() { return "# ART shifter message\n\ 00070 #\n\ 00071 # Used to both request and report gear shifts.\n\ 00072 \n\ 00073 # $Id: Shifter.msg 644 2010-09-28 03:19:07Z jack.oquin $\n\ 00074 \n\ 00075 # Our Arens Controls hardware mechanism requires holding the shift\n\ 00076 # relay on for one second before resetting it. A command node must\n\ 00077 # request the desired gear, then wait a second before sending the\n\ 00078 # Reset command. To be safe, it should check that the shift actually\n\ 00079 # occurred before continuing.\n\ 00080 \n\ 00081 Header header # standard ROS message header\n\ 00082 \n\ 00083 # gear numbers\n\ 00084 uint8 Reset = 0 # request reset of shifter relays\n\ 00085 uint8 Park = 1\n\ 00086 uint8 Reverse = 2\n\ 00087 uint8 Neutral = 3\n\ 00088 uint8 Drive = 4\n\ 00089 \n\ 00090 uint8 gear # requested or reported gear number\n\ 00091 uint8 relays # current relay values\n\ 00092 \n\ 00093 ================================================================================\n\ 00094 MSG: std_msgs/Header\n\ 00095 # Standard metadata for higher-level stamped data types.\n\ 00096 # This is generally used to communicate timestamped data \n\ 00097 # in a particular coordinate frame.\n\ 00098 # \n\ 00099 # sequence ID: consecutively increasing ID \n\ 00100 uint32 seq\n\ 00101 #Two-integer timestamp that is expressed as:\n\ 00102 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00103 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00104 # time-handling sugar is provided by the client library\n\ 00105 time stamp\n\ 00106 #Frame this data is associated with\n\ 00107 # 0: no frame\n\ 00108 # 1: global frame\n\ 00109 string frame_id\n\ 00110 \n\ 00111 "; } 00112 public: 00113 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00114 00115 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00116 00117 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00118 { 00119 ros::serialization::OStream stream(write_ptr, 1000000000); 00120 ros::serialization::serialize(stream, header); 00121 ros::serialization::serialize(stream, gear); 00122 ros::serialization::serialize(stream, relays); 00123 return stream.getData(); 00124 } 00125 00126 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00127 { 00128 ros::serialization::IStream stream(read_ptr, 1000000000); 00129 ros::serialization::deserialize(stream, header); 00130 ros::serialization::deserialize(stream, gear); 00131 ros::serialization::deserialize(stream, relays); 00132 return stream.getData(); 00133 } 00134 00135 ROS_DEPRECATED virtual uint32_t serializationLength() const 00136 { 00137 uint32_t size = 0; 00138 size += ros::serialization::serializationLength(header); 00139 size += ros::serialization::serializationLength(gear); 00140 size += ros::serialization::serializationLength(relays); 00141 return size; 00142 } 00143 00144 typedef boost::shared_ptr< ::art_msgs::Shifter_<ContainerAllocator> > Ptr; 00145 typedef boost::shared_ptr< ::art_msgs::Shifter_<ContainerAllocator> const> ConstPtr; 00146 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00147 }; // struct Shifter 00148 typedef ::art_msgs::Shifter_<std::allocator<void> > Shifter; 00149 00150 typedef boost::shared_ptr< ::art_msgs::Shifter> ShifterPtr; 00151 typedef boost::shared_ptr< ::art_msgs::Shifter const> ShifterConstPtr; 00152 00153 00154 template<typename ContainerAllocator> 00155 std::ostream& operator<<(std::ostream& s, const ::art_msgs::Shifter_<ContainerAllocator> & v) 00156 { 00157 ros::message_operations::Printer< ::art_msgs::Shifter_<ContainerAllocator> >::stream(s, "", v); 00158 return s;} 00159 00160 } // namespace art_msgs 00161 00162 namespace ros 00163 { 00164 namespace message_traits 00165 { 00166 template<class ContainerAllocator> struct IsMessage< ::art_msgs::Shifter_<ContainerAllocator> > : public TrueType {}; 00167 template<class ContainerAllocator> struct IsMessage< ::art_msgs::Shifter_<ContainerAllocator> const> : public TrueType {}; 00168 template<class ContainerAllocator> 00169 struct MD5Sum< ::art_msgs::Shifter_<ContainerAllocator> > { 00170 static const char* value() 00171 { 00172 return "dddb61d8575e01ea7857ef1b3a7b941c"; 00173 } 00174 00175 static const char* value(const ::art_msgs::Shifter_<ContainerAllocator> &) { return value(); } 00176 static const uint64_t static_value1 = 0xdddb61d8575e01eaULL; 00177 static const uint64_t static_value2 = 0x7857ef1b3a7b941cULL; 00178 }; 00179 00180 template<class ContainerAllocator> 00181 struct DataType< ::art_msgs::Shifter_<ContainerAllocator> > { 00182 static const char* value() 00183 { 00184 return "art_msgs/Shifter"; 00185 } 00186 00187 static const char* value(const ::art_msgs::Shifter_<ContainerAllocator> &) { return value(); } 00188 }; 00189 00190 template<class ContainerAllocator> 00191 struct Definition< ::art_msgs::Shifter_<ContainerAllocator> > { 00192 static const char* value() 00193 { 00194 return "# ART shifter message\n\ 00195 #\n\ 00196 # Used to both request and report gear shifts.\n\ 00197 \n\ 00198 # $Id: Shifter.msg 644 2010-09-28 03:19:07Z jack.oquin $\n\ 00199 \n\ 00200 # Our Arens Controls hardware mechanism requires holding the shift\n\ 00201 # relay on for one second before resetting it. A command node must\n\ 00202 # request the desired gear, then wait a second before sending the\n\ 00203 # Reset command. To be safe, it should check that the shift actually\n\ 00204 # occurred before continuing.\n\ 00205 \n\ 00206 Header header # standard ROS message header\n\ 00207 \n\ 00208 # gear numbers\n\ 00209 uint8 Reset = 0 # request reset of shifter relays\n\ 00210 uint8 Park = 1\n\ 00211 uint8 Reverse = 2\n\ 00212 uint8 Neutral = 3\n\ 00213 uint8 Drive = 4\n\ 00214 \n\ 00215 uint8 gear # requested or reported gear number\n\ 00216 uint8 relays # current relay values\n\ 00217 \n\ 00218 ================================================================================\n\ 00219 MSG: std_msgs/Header\n\ 00220 # Standard metadata for higher-level stamped data types.\n\ 00221 # This is generally used to communicate timestamped data \n\ 00222 # in a particular coordinate frame.\n\ 00223 # \n\ 00224 # sequence ID: consecutively increasing ID \n\ 00225 uint32 seq\n\ 00226 #Two-integer timestamp that is expressed as:\n\ 00227 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00228 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00229 # time-handling sugar is provided by the client library\n\ 00230 time stamp\n\ 00231 #Frame this data is associated with\n\ 00232 # 0: no frame\n\ 00233 # 1: global frame\n\ 00234 string frame_id\n\ 00235 \n\ 00236 "; 00237 } 00238 00239 static const char* value(const ::art_msgs::Shifter_<ContainerAllocator> &) { return value(); } 00240 }; 00241 00242 template<class ContainerAllocator> struct HasHeader< ::art_msgs::Shifter_<ContainerAllocator> > : public TrueType {}; 00243 template<class ContainerAllocator> struct HasHeader< const ::art_msgs::Shifter_<ContainerAllocator> > : public TrueType {}; 00244 } // namespace message_traits 00245 } // namespace ros 00246 00247 namespace ros 00248 { 00249 namespace serialization 00250 { 00251 00252 template<class ContainerAllocator> struct Serializer< ::art_msgs::Shifter_<ContainerAllocator> > 00253 { 00254 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00255 { 00256 stream.next(m.header); 00257 stream.next(m.gear); 00258 stream.next(m.relays); 00259 } 00260 00261 ROS_DECLARE_ALLINONE_SERIALIZER; 00262 }; // struct Shifter_ 00263 } // namespace serialization 00264 } // namespace ros 00265 00266 namespace ros 00267 { 00268 namespace message_operations 00269 { 00270 00271 template<class ContainerAllocator> 00272 struct Printer< ::art_msgs::Shifter_<ContainerAllocator> > 00273 { 00274 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::art_msgs::Shifter_<ContainerAllocator> & v) 00275 { 00276 s << indent << "header: "; 00277 s << std::endl; 00278 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00279 s << indent << "gear: "; 00280 Printer<uint8_t>::stream(s, indent + " ", v.gear); 00281 s << indent << "relays: "; 00282 Printer<uint8_t>::stream(s, indent + " ", v.relays); 00283 } 00284 }; 00285 00286 00287 } // namespace message_operations 00288 } // namespace ros 00289 00290 #endif // ART_MSGS_MESSAGE_SHIFTER_H 00291