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