$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_controllers/doc_stacks/2013-03-01_16-45-23.561928/pr2_controllers/ethercat_trigger_controllers/srv/SetMultiWaveform.srv */ 00002 #ifndef ETHERCAT_TRIGGER_CONTROLLERS_SERVICE_SETMULTIWAVEFORM_H 00003 #define ETHERCAT_TRIGGER_CONTROLLERS_SERVICE_SETMULTIWAVEFORM_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 "ros/service_traits.h" 00018 00019 #include "ethercat_trigger_controllers/MultiWaveform.h" 00020 00021 00022 00023 namespace ethercat_trigger_controllers 00024 { 00025 template <class ContainerAllocator> 00026 struct SetMultiWaveformRequest_ { 00027 typedef SetMultiWaveformRequest_<ContainerAllocator> Type; 00028 00029 SetMultiWaveformRequest_() 00030 : waveform() 00031 { 00032 } 00033 00034 SetMultiWaveformRequest_(const ContainerAllocator& _alloc) 00035 : waveform(_alloc) 00036 { 00037 } 00038 00039 typedef ::ethercat_trigger_controllers::MultiWaveform_<ContainerAllocator> _waveform_type; 00040 ::ethercat_trigger_controllers::MultiWaveform_<ContainerAllocator> waveform; 00041 00042 00043 private: 00044 static const char* __s_getDataType_() { return "ethercat_trigger_controllers/SetMultiWaveformRequest"; } 00045 public: 00046 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00047 00048 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00049 00050 private: 00051 static const char* __s_getMD5Sum_() { return "bfedad8205348a9bcc90e6ae4b778d86"; } 00052 public: 00053 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00054 00055 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00056 00057 private: 00058 static const char* __s_getServerMD5Sum_() { return "cbb7e900a71a9a437da9999c8d39fff4"; } 00059 public: 00060 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00061 00062 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00063 00064 private: 00065 static const char* __s_getMessageDefinition_() { return "MultiWaveform waveform\n\ 00066 \n\ 00067 ================================================================================\n\ 00068 MSG: ethercat_trigger_controllers/MultiWaveform\n\ 00069 # Transitions will occur at k * period + zero_offset + transitions[j].time, where j and\n\ 00070 # k are integers.\n\ 00071 \n\ 00072 float64 period # Period of the waveform in seconds.\n\ 00073 float64 zero_offset # Time corresponding to a time of 0 in times[] in seconds\n\ 00074 MultiWaveformTransition[] transitions # Transitions in the waveform. Transition times should be in increasing order, and be between 0 (inclusive) and period (exclusive)\n\ 00075 \n\ 00076 ================================================================================\n\ 00077 MSG: ethercat_trigger_controllers/MultiWaveformTransition\n\ 00078 # Used to specify a transition in the SetMultiWaveform service.\n\ 00079 \n\ 00080 float64 time # Transition time after start of period.\n\ 00081 uint32 value # Value of the digital output after the transition time.\n\ 00082 string topic # Topic to publish the transition timestamp to, or empty string if the transition should not be published.\n\ 00083 \n\ 00084 "; } 00085 public: 00086 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00087 00088 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00089 00090 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00091 { 00092 ros::serialization::OStream stream(write_ptr, 1000000000); 00093 ros::serialization::serialize(stream, waveform); 00094 return stream.getData(); 00095 } 00096 00097 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00098 { 00099 ros::serialization::IStream stream(read_ptr, 1000000000); 00100 ros::serialization::deserialize(stream, waveform); 00101 return stream.getData(); 00102 } 00103 00104 ROS_DEPRECATED virtual uint32_t serializationLength() const 00105 { 00106 uint32_t size = 0; 00107 size += ros::serialization::serializationLength(waveform); 00108 return size; 00109 } 00110 00111 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > Ptr; 00112 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> const> ConstPtr; 00113 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00114 }; // struct SetMultiWaveformRequest 00115 typedef ::ethercat_trigger_controllers::SetMultiWaveformRequest_<std::allocator<void> > SetMultiWaveformRequest; 00116 00117 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformRequest> SetMultiWaveformRequestPtr; 00118 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformRequest const> SetMultiWaveformRequestConstPtr; 00119 00120 00121 template <class ContainerAllocator> 00122 struct SetMultiWaveformResponse_ { 00123 typedef SetMultiWaveformResponse_<ContainerAllocator> Type; 00124 00125 SetMultiWaveformResponse_() 00126 : success(false) 00127 , status_message() 00128 { 00129 } 00130 00131 SetMultiWaveformResponse_(const ContainerAllocator& _alloc) 00132 : success(false) 00133 , status_message(_alloc) 00134 { 00135 } 00136 00137 typedef uint8_t _success_type; 00138 uint8_t success; 00139 00140 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _status_message_type; 00141 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > status_message; 00142 00143 00144 private: 00145 static const char* __s_getDataType_() { return "ethercat_trigger_controllers/SetMultiWaveformResponse"; } 00146 public: 00147 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00148 00149 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00150 00151 private: 00152 static const char* __s_getMD5Sum_() { return "2ec6f3eff0161f4257b808b12bc830c2"; } 00153 public: 00154 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00155 00156 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00157 00158 private: 00159 static const char* __s_getServerMD5Sum_() { return "cbb7e900a71a9a437da9999c8d39fff4"; } 00160 public: 00161 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00162 00163 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00164 00165 private: 00166 static const char* __s_getMessageDefinition_() { return "bool success\n\ 00167 string status_message\n\ 00168 \n\ 00169 \n\ 00170 "; } 00171 public: 00172 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00173 00174 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00175 00176 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00177 { 00178 ros::serialization::OStream stream(write_ptr, 1000000000); 00179 ros::serialization::serialize(stream, success); 00180 ros::serialization::serialize(stream, status_message); 00181 return stream.getData(); 00182 } 00183 00184 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00185 { 00186 ros::serialization::IStream stream(read_ptr, 1000000000); 00187 ros::serialization::deserialize(stream, success); 00188 ros::serialization::deserialize(stream, status_message); 00189 return stream.getData(); 00190 } 00191 00192 ROS_DEPRECATED virtual uint32_t serializationLength() const 00193 { 00194 uint32_t size = 0; 00195 size += ros::serialization::serializationLength(success); 00196 size += ros::serialization::serializationLength(status_message); 00197 return size; 00198 } 00199 00200 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > Ptr; 00201 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> const> ConstPtr; 00202 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00203 }; // struct SetMultiWaveformResponse 00204 typedef ::ethercat_trigger_controllers::SetMultiWaveformResponse_<std::allocator<void> > SetMultiWaveformResponse; 00205 00206 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformResponse> SetMultiWaveformResponsePtr; 00207 typedef boost::shared_ptr< ::ethercat_trigger_controllers::SetMultiWaveformResponse const> SetMultiWaveformResponseConstPtr; 00208 00209 struct SetMultiWaveform 00210 { 00211 00212 typedef SetMultiWaveformRequest Request; 00213 typedef SetMultiWaveformResponse Response; 00214 Request request; 00215 Response response; 00216 00217 typedef Request RequestType; 00218 typedef Response ResponseType; 00219 }; // struct SetMultiWaveform 00220 } // namespace ethercat_trigger_controllers 00221 00222 namespace ros 00223 { 00224 namespace message_traits 00225 { 00226 template<class ContainerAllocator> struct IsMessage< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > : public TrueType {}; 00227 template<class ContainerAllocator> struct IsMessage< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> const> : public TrueType {}; 00228 template<class ContainerAllocator> 00229 struct MD5Sum< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > { 00230 static const char* value() 00231 { 00232 return "bfedad8205348a9bcc90e6ae4b778d86"; 00233 } 00234 00235 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> &) { return value(); } 00236 static const uint64_t static_value1 = 0xbfedad8205348a9bULL; 00237 static const uint64_t static_value2 = 0xcc90e6ae4b778d86ULL; 00238 }; 00239 00240 template<class ContainerAllocator> 00241 struct DataType< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > { 00242 static const char* value() 00243 { 00244 return "ethercat_trigger_controllers/SetMultiWaveformRequest"; 00245 } 00246 00247 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> &) { return value(); } 00248 }; 00249 00250 template<class ContainerAllocator> 00251 struct Definition< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > { 00252 static const char* value() 00253 { 00254 return "MultiWaveform waveform\n\ 00255 \n\ 00256 ================================================================================\n\ 00257 MSG: ethercat_trigger_controllers/MultiWaveform\n\ 00258 # Transitions will occur at k * period + zero_offset + transitions[j].time, where j and\n\ 00259 # k are integers.\n\ 00260 \n\ 00261 float64 period # Period of the waveform in seconds.\n\ 00262 float64 zero_offset # Time corresponding to a time of 0 in times[] in seconds\n\ 00263 MultiWaveformTransition[] transitions # Transitions in the waveform. Transition times should be in increasing order, and be between 0 (inclusive) and period (exclusive)\n\ 00264 \n\ 00265 ================================================================================\n\ 00266 MSG: ethercat_trigger_controllers/MultiWaveformTransition\n\ 00267 # Used to specify a transition in the SetMultiWaveform service.\n\ 00268 \n\ 00269 float64 time # Transition time after start of period.\n\ 00270 uint32 value # Value of the digital output after the transition time.\n\ 00271 string topic # Topic to publish the transition timestamp to, or empty string if the transition should not be published.\n\ 00272 \n\ 00273 "; 00274 } 00275 00276 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> &) { return value(); } 00277 }; 00278 00279 } // namespace message_traits 00280 } // namespace ros 00281 00282 00283 namespace ros 00284 { 00285 namespace message_traits 00286 { 00287 template<class ContainerAllocator> struct IsMessage< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > : public TrueType {}; 00288 template<class ContainerAllocator> struct IsMessage< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> const> : public TrueType {}; 00289 template<class ContainerAllocator> 00290 struct MD5Sum< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > { 00291 static const char* value() 00292 { 00293 return "2ec6f3eff0161f4257b808b12bc830c2"; 00294 } 00295 00296 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> &) { return value(); } 00297 static const uint64_t static_value1 = 0x2ec6f3eff0161f42ULL; 00298 static const uint64_t static_value2 = 0x57b808b12bc830c2ULL; 00299 }; 00300 00301 template<class ContainerAllocator> 00302 struct DataType< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > { 00303 static const char* value() 00304 { 00305 return "ethercat_trigger_controllers/SetMultiWaveformResponse"; 00306 } 00307 00308 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> &) { return value(); } 00309 }; 00310 00311 template<class ContainerAllocator> 00312 struct Definition< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > { 00313 static const char* value() 00314 { 00315 return "bool success\n\ 00316 string status_message\n\ 00317 \n\ 00318 \n\ 00319 "; 00320 } 00321 00322 static const char* value(const ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> &) { return value(); } 00323 }; 00324 00325 } // namespace message_traits 00326 } // namespace ros 00327 00328 namespace ros 00329 { 00330 namespace serialization 00331 { 00332 00333 template<class ContainerAllocator> struct Serializer< ::ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > 00334 { 00335 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00336 { 00337 stream.next(m.waveform); 00338 } 00339 00340 ROS_DECLARE_ALLINONE_SERIALIZER; 00341 }; // struct SetMultiWaveformRequest_ 00342 } // namespace serialization 00343 } // namespace ros 00344 00345 00346 namespace ros 00347 { 00348 namespace serialization 00349 { 00350 00351 template<class ContainerAllocator> struct Serializer< ::ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > 00352 { 00353 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00354 { 00355 stream.next(m.success); 00356 stream.next(m.status_message); 00357 } 00358 00359 ROS_DECLARE_ALLINONE_SERIALIZER; 00360 }; // struct SetMultiWaveformResponse_ 00361 } // namespace serialization 00362 } // namespace ros 00363 00364 namespace ros 00365 { 00366 namespace service_traits 00367 { 00368 template<> 00369 struct MD5Sum<ethercat_trigger_controllers::SetMultiWaveform> { 00370 static const char* value() 00371 { 00372 return "cbb7e900a71a9a437da9999c8d39fff4"; 00373 } 00374 00375 static const char* value(const ethercat_trigger_controllers::SetMultiWaveform&) { return value(); } 00376 }; 00377 00378 template<> 00379 struct DataType<ethercat_trigger_controllers::SetMultiWaveform> { 00380 static const char* value() 00381 { 00382 return "ethercat_trigger_controllers/SetMultiWaveform"; 00383 } 00384 00385 static const char* value(const ethercat_trigger_controllers::SetMultiWaveform&) { return value(); } 00386 }; 00387 00388 template<class ContainerAllocator> 00389 struct MD5Sum<ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > { 00390 static const char* value() 00391 { 00392 return "cbb7e900a71a9a437da9999c8d39fff4"; 00393 } 00394 00395 static const char* value(const ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> &) { return value(); } 00396 }; 00397 00398 template<class ContainerAllocator> 00399 struct DataType<ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> > { 00400 static const char* value() 00401 { 00402 return "ethercat_trigger_controllers/SetMultiWaveform"; 00403 } 00404 00405 static const char* value(const ethercat_trigger_controllers::SetMultiWaveformRequest_<ContainerAllocator> &) { return value(); } 00406 }; 00407 00408 template<class ContainerAllocator> 00409 struct MD5Sum<ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > { 00410 static const char* value() 00411 { 00412 return "cbb7e900a71a9a437da9999c8d39fff4"; 00413 } 00414 00415 static const char* value(const ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> &) { return value(); } 00416 }; 00417 00418 template<class ContainerAllocator> 00419 struct DataType<ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> > { 00420 static const char* value() 00421 { 00422 return "ethercat_trigger_controllers/SetMultiWaveform"; 00423 } 00424 00425 static const char* value(const ethercat_trigger_controllers::SetMultiWaveformResponse_<ContainerAllocator> &) { return value(); } 00426 }; 00427 00428 } // namespace service_traits 00429 } // namespace ros 00430 00431 #endif // ETHERCAT_TRIGGER_CONTROLLERS_SERVICE_SETMULTIWAVEFORM_H 00432