00001
00002 #ifndef JOINT_QUALIFICATION_CONTROLLERS_MESSAGE_WRISTDIFFDATA_H
00003 #define JOINT_QUALIFICATION_CONTROLLERS_MESSAGE_WRISTDIFFDATA_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 "joint_qualification_controllers/WristRollTurn.h"
00018 #include "joint_qualification_controllers/WristRollTurn.h"
00019
00020 namespace joint_qualification_controllers
00021 {
00022 template <class ContainerAllocator>
00023 struct WristDiffData_ {
00024 typedef WristDiffData_<ContainerAllocator> Type;
00025
00026 WristDiffData_()
00027 : flex_joint()
00028 , roll_joint()
00029 , flex_pid()
00030 , roll_pid()
00031 , arg_name()
00032 , arg_value()
00033 , left_turn()
00034 , right_turn()
00035 , timeout(false)
00036 {
00037 }
00038
00039 WristDiffData_(const ContainerAllocator& _alloc)
00040 : flex_joint(_alloc)
00041 , roll_joint(_alloc)
00042 , flex_pid(_alloc)
00043 , roll_pid(_alloc)
00044 , arg_name(_alloc)
00045 , arg_value(_alloc)
00046 , left_turn(_alloc)
00047 , right_turn(_alloc)
00048 , timeout(false)
00049 {
00050 }
00051
00052 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _flex_joint_type;
00053 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > flex_joint;
00054
00055 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _roll_joint_type;
00056 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > roll_joint;
00057
00058 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _flex_pid_type;
00059 std::vector<float, typename ContainerAllocator::template rebind<float>::other > flex_pid;
00060
00061 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _roll_pid_type;
00062 std::vector<float, typename ContainerAllocator::template rebind<float>::other > roll_pid;
00063
00064 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _arg_name_type;
00065 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > arg_name;
00066
00067 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _arg_value_type;
00068 std::vector<float, typename ContainerAllocator::template rebind<float>::other > arg_value;
00069
00070 typedef ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> _left_turn_type;
00071 ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> left_turn;
00072
00073 typedef ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> _right_turn_type;
00074 ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> right_turn;
00075
00076 typedef uint8_t _timeout_type;
00077 uint8_t timeout;
00078
00079
00080 typedef boost::shared_ptr< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> > Ptr;
00081 typedef boost::shared_ptr< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> const> ConstPtr;
00082 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00083 };
00084 typedef ::joint_qualification_controllers::WristDiffData_<std::allocator<void> > WristDiffData;
00085
00086 typedef boost::shared_ptr< ::joint_qualification_controllers::WristDiffData> WristDiffDataPtr;
00087 typedef boost::shared_ptr< ::joint_qualification_controllers::WristDiffData const> WristDiffDataConstPtr;
00088
00089
00090 template<typename ContainerAllocator>
00091 std::ostream& operator<<(std::ostream& s, const ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> & v)
00092 {
00093 ros::message_operations::Printer< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> >::stream(s, "", v);
00094 return s;}
00095
00096 }
00097
00098 namespace ros
00099 {
00100 namespace message_traits
00101 {
00102 template<class ContainerAllocator> struct IsMessage< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> > : public TrueType {};
00103 template<class ContainerAllocator> struct IsMessage< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> const> : public TrueType {};
00104 template<class ContainerAllocator>
00105 struct MD5Sum< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> > {
00106 static const char* value()
00107 {
00108 return "b5450bf7a09b17c68a893b9c02e710f1";
00109 }
00110
00111 static const char* value(const ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> &) { return value(); }
00112 static const uint64_t static_value1 = 0xb5450bf7a09b17c6ULL;
00113 static const uint64_t static_value2 = 0x8a893b9c02e710f1ULL;
00114 };
00115
00116 template<class ContainerAllocator>
00117 struct DataType< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "joint_qualification_controllers/WristDiffData";
00121 }
00122
00123 static const char* value(const ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> &) { return value(); }
00124 };
00125
00126 template<class ContainerAllocator>
00127 struct Definition< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> > {
00128 static const char* value()
00129 {
00130 return "string flex_joint\n\
00131 string roll_joint\n\
00132 float32[] flex_pid\n\
00133 float32[] roll_pid\n\
00134 string[] arg_name\n\
00135 float32[] arg_value\n\
00136 WristRollTurn left_turn\n\
00137 WristRollTurn right_turn\n\
00138 bool timeout\n\
00139 \n\
00140 ================================================================================\n\
00141 MSG: joint_qualification_controllers/WristRollTurn\n\
00142 float32[] time\n\
00143 float32[] flex_position\n\
00144 float32[] flex_effort\n\
00145 float32[] flex_cmd\n\
00146 float32[] roll_position\n\
00147 float32[] roll_effort\n\
00148 float32[] roll_cmd\n\
00149 float32[] roll_velocity\n\
00150 \n\
00151 ";
00152 }
00153
00154 static const char* value(const ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> &) { return value(); }
00155 };
00156
00157 }
00158 }
00159
00160 namespace ros
00161 {
00162 namespace serialization
00163 {
00164
00165 template<class ContainerAllocator> struct Serializer< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> >
00166 {
00167 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00168 {
00169 stream.next(m.flex_joint);
00170 stream.next(m.roll_joint);
00171 stream.next(m.flex_pid);
00172 stream.next(m.roll_pid);
00173 stream.next(m.arg_name);
00174 stream.next(m.arg_value);
00175 stream.next(m.left_turn);
00176 stream.next(m.right_turn);
00177 stream.next(m.timeout);
00178 }
00179
00180 ROS_DECLARE_ALLINONE_SERIALIZER;
00181 };
00182 }
00183 }
00184
00185 namespace ros
00186 {
00187 namespace message_operations
00188 {
00189
00190 template<class ContainerAllocator>
00191 struct Printer< ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> >
00192 {
00193 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::joint_qualification_controllers::WristDiffData_<ContainerAllocator> & v)
00194 {
00195 s << indent << "flex_joint: ";
00196 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.flex_joint);
00197 s << indent << "roll_joint: ";
00198 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.roll_joint);
00199 s << indent << "flex_pid[]" << std::endl;
00200 for (size_t i = 0; i < v.flex_pid.size(); ++i)
00201 {
00202 s << indent << " flex_pid[" << i << "]: ";
00203 Printer<float>::stream(s, indent + " ", v.flex_pid[i]);
00204 }
00205 s << indent << "roll_pid[]" << std::endl;
00206 for (size_t i = 0; i < v.roll_pid.size(); ++i)
00207 {
00208 s << indent << " roll_pid[" << i << "]: ";
00209 Printer<float>::stream(s, indent + " ", v.roll_pid[i]);
00210 }
00211 s << indent << "arg_name[]" << std::endl;
00212 for (size_t i = 0; i < v.arg_name.size(); ++i)
00213 {
00214 s << indent << " arg_name[" << i << "]: ";
00215 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.arg_name[i]);
00216 }
00217 s << indent << "arg_value[]" << std::endl;
00218 for (size_t i = 0; i < v.arg_value.size(); ++i)
00219 {
00220 s << indent << " arg_value[" << i << "]: ";
00221 Printer<float>::stream(s, indent + " ", v.arg_value[i]);
00222 }
00223 s << indent << "left_turn: ";
00224 s << std::endl;
00225 Printer< ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> >::stream(s, indent + " ", v.left_turn);
00226 s << indent << "right_turn: ";
00227 s << std::endl;
00228 Printer< ::joint_qualification_controllers::WristRollTurn_<ContainerAllocator> >::stream(s, indent + " ", v.right_turn);
00229 s << indent << "timeout: ";
00230 Printer<uint8_t>::stream(s, indent + " ", v.timeout);
00231 }
00232 };
00233
00234
00235 }
00236 }
00237
00238 #endif // JOINT_QUALIFICATION_CONTROLLERS_MESSAGE_WRISTDIFFDATA_H
00239