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 template <class ContainerAllocator>
00098 struct ForceControllerResponse_ {
00099 typedef ForceControllerResponse_<ContainerAllocator> Type;
00100
00101 ForceControllerResponse_()
00102 : configured(false)
00103 {
00104 }
00105
00106 ForceControllerResponse_(const ContainerAllocator& _alloc)
00107 : configured(false)
00108 {
00109 }
00110
00111 typedef uint8_t _configured_type;
00112 uint8_t configured;
00113
00114
00115 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > Ptr;
00116 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> const> ConstPtr;
00117 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00118 };
00119 typedef ::sr_robot_msgs::ForceControllerResponse_<std::allocator<void> > ForceControllerResponse;
00120
00121 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse> ForceControllerResponsePtr;
00122 typedef boost::shared_ptr< ::sr_robot_msgs::ForceControllerResponse const> ForceControllerResponseConstPtr;
00123
00124 struct ForceController
00125 {
00126
00127 typedef ForceControllerRequest Request;
00128 typedef ForceControllerResponse Response;
00129 Request request;
00130 Response response;
00131
00132 typedef Request RequestType;
00133 typedef Response ResponseType;
00134 };
00135 }
00136
00137 namespace ros
00138 {
00139 namespace message_traits
00140 {
00141 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > : public TrueType {};
00142 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> const> : public TrueType {};
00143 template<class ContainerAllocator>
00144 struct MD5Sum< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00145 static const char* value()
00146 {
00147 return "8bb059ffa85c4df492f2694e40ee3541";
00148 }
00149
00150 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00151 static const uint64_t static_value1 = 0x8bb059ffa85c4df4ULL;
00152 static const uint64_t static_value2 = 0x92f2694e40ee3541ULL;
00153 };
00154
00155 template<class ContainerAllocator>
00156 struct DataType< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00157 static const char* value()
00158 {
00159 return "sr_robot_msgs/ForceControllerRequest";
00160 }
00161
00162 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00163 };
00164
00165 template<class ContainerAllocator>
00166 struct Definition< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00167 static const char* value()
00168 {
00169 return "int16 maxpwm\n\
00170 int16 sgleftref\n\
00171 int16 sgrightref\n\
00172 int16 f\n\
00173 int16 p\n\
00174 int16 i\n\
00175 int16 d\n\
00176 int16 imax\n\
00177 int16 deadband\n\
00178 int16 sign\n\
00179 \n\
00180 ";
00181 }
00182
00183 static const char* value(const ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00184 };
00185
00186 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > : public TrueType {};
00187 }
00188 }
00189
00190
00191 namespace ros
00192 {
00193 namespace message_traits
00194 {
00195 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > : public TrueType {};
00196 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> const> : public TrueType {};
00197 template<class ContainerAllocator>
00198 struct MD5Sum< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00199 static const char* value()
00200 {
00201 return "d3b1a74026985b10664594fe60a8c3eb";
00202 }
00203
00204 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00205 static const uint64_t static_value1 = 0xd3b1a74026985b10ULL;
00206 static const uint64_t static_value2 = 0x664594fe60a8c3ebULL;
00207 };
00208
00209 template<class ContainerAllocator>
00210 struct DataType< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00211 static const char* value()
00212 {
00213 return "sr_robot_msgs/ForceControllerResponse";
00214 }
00215
00216 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00217 };
00218
00219 template<class ContainerAllocator>
00220 struct Definition< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00221 static const char* value()
00222 {
00223 return "bool configured\n\
00224 \n\
00225 ";
00226 }
00227
00228 static const char* value(const ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00229 };
00230
00231 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > : public TrueType {};
00232 }
00233 }
00234
00235 namespace ros
00236 {
00237 namespace serialization
00238 {
00239
00240 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> >
00241 {
00242 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00243 {
00244 stream.next(m.maxpwm);
00245 stream.next(m.sgleftref);
00246 stream.next(m.sgrightref);
00247 stream.next(m.f);
00248 stream.next(m.p);
00249 stream.next(m.i);
00250 stream.next(m.d);
00251 stream.next(m.imax);
00252 stream.next(m.deadband);
00253 stream.next(m.sign);
00254 }
00255
00256 ROS_DECLARE_ALLINONE_SERIALIZER;
00257 };
00258 }
00259 }
00260
00261
00262 namespace ros
00263 {
00264 namespace serialization
00265 {
00266
00267 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> >
00268 {
00269 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00270 {
00271 stream.next(m.configured);
00272 }
00273
00274 ROS_DECLARE_ALLINONE_SERIALIZER;
00275 };
00276 }
00277 }
00278
00279 namespace ros
00280 {
00281 namespace service_traits
00282 {
00283 template<>
00284 struct MD5Sum<sr_robot_msgs::ForceController> {
00285 static const char* value()
00286 {
00287 return "708b72feb937eddb740362ef24ec3beb";
00288 }
00289
00290 static const char* value(const sr_robot_msgs::ForceController&) { return value(); }
00291 };
00292
00293 template<>
00294 struct DataType<sr_robot_msgs::ForceController> {
00295 static const char* value()
00296 {
00297 return "sr_robot_msgs/ForceController";
00298 }
00299
00300 static const char* value(const sr_robot_msgs::ForceController&) { return value(); }
00301 };
00302
00303 template<class ContainerAllocator>
00304 struct MD5Sum<sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00305 static const char* value()
00306 {
00307 return "708b72feb937eddb740362ef24ec3beb";
00308 }
00309
00310 static const char* value(const sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00311 };
00312
00313 template<class ContainerAllocator>
00314 struct DataType<sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> > {
00315 static const char* value()
00316 {
00317 return "sr_robot_msgs/ForceController";
00318 }
00319
00320 static const char* value(const sr_robot_msgs::ForceControllerRequest_<ContainerAllocator> &) { return value(); }
00321 };
00322
00323 template<class ContainerAllocator>
00324 struct MD5Sum<sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00325 static const char* value()
00326 {
00327 return "708b72feb937eddb740362ef24ec3beb";
00328 }
00329
00330 static const char* value(const sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00331 };
00332
00333 template<class ContainerAllocator>
00334 struct DataType<sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> > {
00335 static const char* value()
00336 {
00337 return "sr_robot_msgs/ForceController";
00338 }
00339
00340 static const char* value(const sr_robot_msgs::ForceControllerResponse_<ContainerAllocator> &) { return value(); }
00341 };
00342
00343 }
00344 }
00345
00346 #endif // SR_ROBOT_MSGS_SERVICE_FORCECONTROLLER_H
00347