Go to the documentation of this file.00001
00002 #ifndef SR_ROBOT_MSGS_SERVICE_FORCECONTROLLER_H
00003 #define SR_ROBOT_MSGS_SERVICE_FORCECONTROLLER_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
00020
00021
00022 namespace sr_robot_msgs
00023 {
00024 template <class ContainerAllocator>
00025 struct ForceControllerRequest_ {
00026 typedef ForceControllerRequest_<ContainerAllocator> Type;
00027
00028 ForceControllerRequest_()
00029 : maxpwm(0)
00030 , sgleftref(0)
00031 , sgrightref(0)
00032 , f(0)
00033 , p(0)
00034 , i(0)
00035 , d(0)
00036 , imax(0)
00037 , deadband(0)
00038 , sign(0)
00039 {
00040 }
00041
00042 ForceControllerRequest_(const ContainerAllocator& _alloc)
00043 : maxpwm(0)
00044 , sgleftref(0)
00045 , sgrightref(0)
00046 , f(0)
00047 , p(0)
00048 , i(0)
00049 , d(0)
00050 , imax(0)
00051 , deadband(0)
00052 , sign(0)
00053 {
00054 }
00055
00056 typedef int16_t _maxpwm_type;
00057 int16_t maxpwm;
00058
00059 typedef int16_t _sgleftref_type;
00060 int16_t sgleftref;
00061
00062 typedef int16_t _sgrightref_type;
00063 int16_t sgrightref;
00064
00065 typedef int16_t _f_type;
00066 int16_t f;
00067
00068 typedef int16_t _p_type;
00069 int16_t p;
00070
00071 typedef int16_t _i_type;
00072 int16_t i;
00073
00074 typedef int16_t _d_type;
00075 int16_t d;
00076
00077 typedef int16_t _imax_type;
00078 int16_t imax;
00079
00080 typedef int16_t _deadband_type;
00081 int16_t deadband;
00082
00083 typedef int16_t _sign_type;
00084 int16_t sign;
00085
00086
00087 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > Ptr;
00088 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> const> ConstPtr;
00089 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00090 };
00091 typedef ::sr_robot_msgs::ForceControllerRequest_<std::allocator<void> > ForceControllerRequest;
00092
00093 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerRequest> ForceControllerRequestPtr;
00094 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerRequest const> ForceControllerRequestConstPtr;
00095
00096
00097
00098 template <class ContainerAllocator>
00099 struct ForceControllerResponse_ {
00100 typedef ForceControllerResponse_<ContainerAllocator> Type;
00101
00102 ForceControllerResponse_()
00103 : configured(false)
00104 {
00105 }
00106
00107 ForceControllerResponse_(const ContainerAllocator& _alloc)
00108 : configured(false)
00109 {
00110 }
00111
00112 typedef uint8_t _configured_type;
00113 uint8_t configured;
00114
00115
00116 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > Ptr;
00117 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> const> ConstPtr;
00118 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00119 };
00120 typedef ::sr_robot_msgs::ForceControllerResponse_<std::allocator<void> > ForceControllerResponse;
00121
00122 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse> ForceControllerResponsePtr;
00123 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse const> ForceControllerResponseConstPtr;
00124
00125
00126 struct ForceController
00127 {
00128
00129 typedef ForceControllerRequest Request;
00130 typedef ForceControllerResponse Response;
00131 Request request;
00132 Response response;
00133
00134 typedef Request RequestType;
00135 typedef Response ResponseType;
00136 };
00137 }
00138
00139 namespace ros
00140 {
00141 namespace message_traits
00142 {
00143 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > : public TrueType {};
00144 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> const> : public TrueType {};
00145 template<class ContainerAllocator>
00146 struct MD5Sum< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00147 static const char* value()
00148 {
00149 return "8bb059ffa85c4df492f2694e40ee3541";
00150 }
00151
00152 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00153 static const uint64_t static_value1 = 0x8bb059ffa85c4df4ULL;
00154 static const uint64_t static_value2 = 0x92f2694e40ee3541ULL;
00155 };
00156
00157 template<class ContainerAllocator>
00158 struct DataType< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00159 static const char* value()
00160 {
00161 return "sr_robot_msgs/ForceControllerRequest";
00162 }
00163
00164 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00165 };
00166
00167 template<class ContainerAllocator>
00168 struct Definition< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00169 static const char* value()
00170 {
00171 return "int16 maxpwm\n\
00172 int16 sgleftref\n\
00173 int16 sgrightref\n\
00174 int16 f\n\
00175 int16 p\n\
00176 int16 i\n\
00177 int16 d\n\
00178 int16 imax\n\
00179 int16 deadband\n\
00180 int16 sign\n\
00181 \n\
00182 ";
00183 }
00184
00185 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00186 };
00187
00188 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > : public TrueType {};
00189 }
00190 }
00191
00192
00193 namespace ros
00194 {
00195 namespace message_traits
00196 {
00197 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > : public TrueType {};
00198 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> const> : public TrueType {};
00199 template<class ContainerAllocator>
00200 struct MD5Sum< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00201 static const char* value()
00202 {
00203 return "d3b1a74026985b10664594fe60a8c3eb";
00204 }
00205
00206 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00207 static const uint64_t static_value1 = 0xd3b1a74026985b10ULL;
00208 static const uint64_t static_value2 = 0x664594fe60a8c3ebULL;
00209 };
00210
00211 template<class ContainerAllocator>
00212 struct DataType< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00213 static const char* value()
00214 {
00215 return "sr_robot_msgs/ForceControllerResponse";
00216 }
00217
00218 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00219 };
00220
00221 template<class ContainerAllocator>
00222 struct Definition< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00223 static const char* value()
00224 {
00225 return "bool configured\n\
00226 \n\
00227 ";
00228 }
00229
00230 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00231 };
00232
00233 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > : public TrueType {};
00234 }
00235 }
00236
00237 namespace ros
00238 {
00239 namespace serialization
00240 {
00241
00242 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> >
00243 {
00244 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00245 {
00246 stream.next(m.maxpwm);
00247 stream.next(m.sgleftref);
00248 stream.next(m.sgrightref);
00249 stream.next(m.f);
00250 stream.next(m.p);
00251 stream.next(m.i);
00252 stream.next(m.d);
00253 stream.next(m.imax);
00254 stream.next(m.deadband);
00255 stream.next(m.sign);
00256 }
00257
00258 ROS_DECLARE_ALLINONE_SERIALIZER;
00259 };
00260 }
00261 }
00262
00263
00264 namespace ros
00265 {
00266 namespace serialization
00267 {
00268
00269 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> >
00270 {
00271 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00272 {
00273 stream.next(m.configured);
00274 }
00275
00276 ROS_DECLARE_ALLINONE_SERIALIZER;
00277 };
00278 }
00279 }
00280
00281 namespace ros
00282 {
00283 namespace service_traits
00284 {
00285 template<>
00286 struct MD5Sum<sr_robot_msgs::ForceController> {
00287 static const char* value()
00288 {
00289 return "708b72feb937eddb740362ef24ec3beb";
00290 }
00291
00292 static const char* value(const sr_robot_msgs::ForceController&) { return value(); }
00293 };
00294
00295 template<>
00296 struct DataType<sr_robot_msgs::ForceController> {
00297 static const char* value()
00298 {
00299 return "sr_robot_msgs/ForceController";
00300 }
00301
00302 static const char* value(const sr_robot_msgs::ForceController&) { return value(); }
00303 };
00304
00305 template<class ContainerAllocator>
00306 struct MD5Sum<sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00307 static const char* value()
00308 {
00309 return "708b72feb937eddb740362ef24ec3beb";
00310 }
00311
00312 static const char* value(const sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00313 };
00314
00315 template<class ContainerAllocator>
00316 struct DataType<sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00317 static const char* value()
00318 {
00319 return "sr_robot_msgs/ForceController";
00320 }
00321
00322 static const char* value(const sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00323 };
00324
00325 template<class ContainerAllocator>
00326 struct MD5Sum<sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00327 static const char* value()
00328 {
00329 return "708b72feb937eddb740362ef24ec3beb";
00330 }
00331
00332 static const char* value(const sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00333 };
00334
00335 template<class ContainerAllocator>
00336 struct DataType<sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00337 static const char* value()
00338 {
00339 return "sr_robot_msgs/ForceController";
00340 }
00341
00342 static const char* value(const sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00343 };
00344
00345 }
00346 }
00347
00348 #endif // SR_ROBOT_MSGS_SERVICE_FORCECONTROLLER_H
00349