00001
00002 #ifndef PR2_CONTROLLERS_MSGS_MESSAGE_JOINTCONTROLLERSTATE_H
00003 #define PR2_CONTROLLERS_MSGS_MESSAGE_JOINTCONTROLLERSTATE_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 pr2_controllers_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct JointControllerState_ {
00023 typedef JointControllerState_<ContainerAllocator> Type;
00024
00025 JointControllerState_()
00026 : header()
00027 , set_point(0.0)
00028 , process_value(0.0)
00029 , process_value_dot(0.0)
00030 , error(0.0)
00031 , time_step(0.0)
00032 , command(0.0)
00033 , p(0.0)
00034 , i(0.0)
00035 , d(0.0)
00036 , i_clamp(0.0)
00037 {
00038 }
00039
00040 JointControllerState_(const ContainerAllocator& _alloc)
00041 : header(_alloc)
00042 , set_point(0.0)
00043 , process_value(0.0)
00044 , process_value_dot(0.0)
00045 , error(0.0)
00046 , time_step(0.0)
00047 , command(0.0)
00048 , p(0.0)
00049 , i(0.0)
00050 , d(0.0)
00051 , i_clamp(0.0)
00052 {
00053 }
00054
00055 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00056 ::std_msgs::Header_<ContainerAllocator> header;
00057
00058 typedef double _set_point_type;
00059 double set_point;
00060
00061 typedef double _process_value_type;
00062 double process_value;
00063
00064 typedef double _process_value_dot_type;
00065 double process_value_dot;
00066
00067 typedef double _error_type;
00068 double error;
00069
00070 typedef double _time_step_type;
00071 double time_step;
00072
00073 typedef double _command_type;
00074 double command;
00075
00076 typedef double _p_type;
00077 double p;
00078
00079 typedef double _i_type;
00080 double i;
00081
00082 typedef double _d_type;
00083 double d;
00084
00085 typedef double _i_clamp_type;
00086 double i_clamp;
00087
00088
00089 typedef boost::shared_ptr< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > Ptr;
00090 typedef boost::shared_ptr< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> const> ConstPtr;
00091 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00092 };
00093 typedef ::pr2_controllers_msgs::JointControllerState_<std::allocator<void> > JointControllerState;
00094
00095 typedef boost::shared_ptr< ::pr2_controllers_msgs::JointControllerState> JointControllerStatePtr;
00096 typedef boost::shared_ptr< ::pr2_controllers_msgs::JointControllerState const> JointControllerStateConstPtr;
00097
00098
00099 template<typename ContainerAllocator>
00100 std::ostream& operator<<(std::ostream& s, const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> & v)
00101 {
00102 ros::message_operations::Printer< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> >::stream(s, "", v);
00103 return s;}
00104
00105 }
00106
00107 namespace ros
00108 {
00109 namespace message_traits
00110 {
00111 template<class ContainerAllocator> struct IsMessage< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > : public TrueType {};
00112 template<class ContainerAllocator> struct IsMessage< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> const> : public TrueType {};
00113 template<class ContainerAllocator>
00114 struct MD5Sum< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > {
00115 static const char* value()
00116 {
00117 return "c0d034a7bf20aeb1c37f3eccb7992b69";
00118 }
00119
00120 static const char* value(const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> &) { return value(); }
00121 static const uint64_t static_value1 = 0xc0d034a7bf20aeb1ULL;
00122 static const uint64_t static_value2 = 0xc37f3eccb7992b69ULL;
00123 };
00124
00125 template<class ContainerAllocator>
00126 struct DataType< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "pr2_controllers_msgs/JointControllerState";
00130 }
00131
00132 static const char* value(const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> &) { return value(); }
00133 };
00134
00135 template<class ContainerAllocator>
00136 struct Definition< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > {
00137 static const char* value()
00138 {
00139 return "Header header\n\
00140 float64 set_point\n\
00141 float64 process_value\n\
00142 float64 process_value_dot\n\
00143 float64 error\n\
00144 float64 time_step\n\
00145 float64 command\n\
00146 float64 p\n\
00147 float64 i\n\
00148 float64 d\n\
00149 float64 i_clamp\n\
00150 \n\
00151 \n\
00152 ================================================================================\n\
00153 MSG: std_msgs/Header\n\
00154 # Standard metadata for higher-level stamped data types.\n\
00155 # This is generally used to communicate timestamped data \n\
00156 # in a particular coordinate frame.\n\
00157 # \n\
00158 # sequence ID: consecutively increasing ID \n\
00159 uint32 seq\n\
00160 #Two-integer timestamp that is expressed as:\n\
00161 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00162 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00163 # time-handling sugar is provided by the client library\n\
00164 time stamp\n\
00165 #Frame this data is associated with\n\
00166 # 0: no frame\n\
00167 # 1: global frame\n\
00168 string frame_id\n\
00169 \n\
00170 ";
00171 }
00172
00173 static const char* value(const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> &) { return value(); }
00174 };
00175
00176 template<class ContainerAllocator> struct HasHeader< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > : public TrueType {};
00177 template<class ContainerAllocator> struct HasHeader< const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> > : public TrueType {};
00178 }
00179 }
00180
00181 namespace ros
00182 {
00183 namespace serialization
00184 {
00185
00186 template<class ContainerAllocator> struct Serializer< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> >
00187 {
00188 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00189 {
00190 stream.next(m.header);
00191 stream.next(m.set_point);
00192 stream.next(m.process_value);
00193 stream.next(m.process_value_dot);
00194 stream.next(m.error);
00195 stream.next(m.time_step);
00196 stream.next(m.command);
00197 stream.next(m.p);
00198 stream.next(m.i);
00199 stream.next(m.d);
00200 stream.next(m.i_clamp);
00201 }
00202
00203 ROS_DECLARE_ALLINONE_SERIALIZER;
00204 };
00205 }
00206 }
00207
00208 namespace ros
00209 {
00210 namespace message_operations
00211 {
00212
00213 template<class ContainerAllocator>
00214 struct Printer< ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> >
00215 {
00216 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_controllers_msgs::JointControllerState_<ContainerAllocator> & v)
00217 {
00218 s << indent << "header: ";
00219 s << std::endl;
00220 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00221 s << indent << "set_point: ";
00222 Printer<double>::stream(s, indent + " ", v.set_point);
00223 s << indent << "process_value: ";
00224 Printer<double>::stream(s, indent + " ", v.process_value);
00225 s << indent << "process_value_dot: ";
00226 Printer<double>::stream(s, indent + " ", v.process_value_dot);
00227 s << indent << "error: ";
00228 Printer<double>::stream(s, indent + " ", v.error);
00229 s << indent << "time_step: ";
00230 Printer<double>::stream(s, indent + " ", v.time_step);
00231 s << indent << "command: ";
00232 Printer<double>::stream(s, indent + " ", v.command);
00233 s << indent << "p: ";
00234 Printer<double>::stream(s, indent + " ", v.p);
00235 s << indent << "i: ";
00236 Printer<double>::stream(s, indent + " ", v.i);
00237 s << indent << "d: ";
00238 Printer<double>::stream(s, indent + " ", v.d);
00239 s << indent << "i_clamp: ";
00240 Printer<double>::stream(s, indent + " ", v.i_clamp);
00241 }
00242 };
00243
00244
00245 }
00246 }
00247
00248 #endif // PR2_CONTROLLERS_MSGS_MESSAGE_JOINTCONTROLLERSTATE_H
00249