Go to the documentation of this file.00001
00002 #ifndef SR_ROBOT_MSGS_MESSAGE_CONTRLR_H
00003 #define SR_ROBOT_MSGS_MESSAGE_CONTRLR_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
00018 namespace sr_robot_msgs
00019 {
00020 template <class ContainerAllocator>
00021 struct contrlr_ {
00022 typedef contrlr_<ContainerAllocator> Type;
00023
00024 contrlr_()
00025 : contrlr_name()
00026 , list_of_parameters()
00027 , length_of_list(0)
00028 {
00029 }
00030
00031 contrlr_(const ContainerAllocator& _alloc)
00032 : contrlr_name(_alloc)
00033 , list_of_parameters(_alloc)
00034 , length_of_list(0)
00035 {
00036 }
00037
00038 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _contrlr_name_type;
00039 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > contrlr_name;
00040
00041 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 > _list_of_parameters_type;
00042 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 > list_of_parameters;
00043
00044 typedef uint8_t _length_of_list_type;
00045 uint8_t length_of_list;
00046
00047
00048 typedef boost::shared_ptr< ::sr_robot_msgs::contrlr_<ContainerAllocator> > Ptr;
00049 typedef boost::shared_ptr< ::sr_robot_msgs::contrlr_<ContainerAllocator> const> ConstPtr;
00050 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00051 };
00052 typedef ::sr_robot_msgs::contrlr_<std::allocator<void> > contrlr;
00053
00054 typedef boost::shared_ptr< ::sr_robot_msgs::contrlr> contrlrPtr;
00055 typedef boost::shared_ptr< ::sr_robot_msgs::contrlr const> contrlrConstPtr;
00056
00057
00058 template<typename ContainerAllocator>
00059 std::ostream& operator<<(std::ostream& s, const ::sr_robot_msgs::contrlr_<ContainerAllocator> & v)
00060 {
00061 ros::message_operations::Printer< ::sr_robot_msgs::contrlr_<ContainerAllocator> >::stream(s, "", v);
00062 return s;}
00063
00064 }
00065
00066 namespace ros
00067 {
00068 namespace message_traits
00069 {
00070 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::contrlr_<ContainerAllocator> > : public TrueType {};
00071 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::contrlr_<ContainerAllocator> const> : public TrueType {};
00072 template<class ContainerAllocator>
00073 struct MD5Sum< ::sr_robot_msgs::contrlr_<ContainerAllocator> > {
00074 static const char* value()
00075 {
00076 return "7b2aa60305c5a9ab0ff05803e4d2ab85";
00077 }
00078
00079 static const char* value(const ::sr_robot_msgs::contrlr_<ContainerAllocator> &) { return value(); }
00080 static const uint64_t static_value1 = 0x7b2aa60305c5a9abULL;
00081 static const uint64_t static_value2 = 0x0ff05803e4d2ab85ULL;
00082 };
00083
00084 template<class ContainerAllocator>
00085 struct DataType< ::sr_robot_msgs::contrlr_<ContainerAllocator> > {
00086 static const char* value()
00087 {
00088 return "sr_robot_msgs/contrlr";
00089 }
00090
00091 static const char* value(const ::sr_robot_msgs::contrlr_<ContainerAllocator> &) { return value(); }
00092 };
00093
00094 template<class ContainerAllocator>
00095 struct Definition< ::sr_robot_msgs::contrlr_<ContainerAllocator> > {
00096 static const char* value()
00097 {
00098 return "# the contrlr name (e.g. smart_motor_ff2)\n\
00099 string contrlr_name\n\
00100 \n\
00101 # specify here a list of parameter_name:value\n\
00102 # e.g. p:10 sets the p value of the controller to 10\n\
00103 # the possible parameters are:\n\
00104 #int16 p\n\
00105 #int16 i\n\
00106 #int16 d\n\
00107 #int16 imax\n\
00108 #int16 target\n\
00109 #int16 sensor\n\
00110 #int16 valve \n\
00111 #int16 deadband\n\
00112 #int16 offset\n\
00113 #int16 shift\n\
00114 #int16 max\n\
00115 #\n\
00116 ## parameters for the motors\n\
00117 #int16 motor_maxforce\n\
00118 #int16 motor_safeforce\n\
00119 #int16 force_p\n\
00120 #int16 force_i\n\
00121 #int16 force_d\n\
00122 #int16 force_imax\n\
00123 #int16 force_out_shift\n\
00124 #int16 force_deadband\n\
00125 #int16 force_offset\n\
00126 #int16 sensor_imax\n\
00127 #int16 sensor_deadband\n\
00128 #int16 sensor_offset\n\
00129 #int16 max_temperature\n\
00130 #int16 max_current\n\
00131 \n\
00132 string[] list_of_parameters\n\
00133 \n\
00134 # the size of the list_of_parameters you are sending\n\
00135 uint8 length_of_list\n\
00136 \n\
00137 \n\
00138 \n\
00139 ";
00140 }
00141
00142 static const char* value(const ::sr_robot_msgs::contrlr_<ContainerAllocator> &) { return value(); }
00143 };
00144
00145 }
00146 }
00147
00148 namespace ros
00149 {
00150 namespace serialization
00151 {
00152
00153 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::contrlr_<ContainerAllocator> >
00154 {
00155 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00156 {
00157 stream.next(m.contrlr_name);
00158 stream.next(m.list_of_parameters);
00159 stream.next(m.length_of_list);
00160 }
00161
00162 ROS_DECLARE_ALLINONE_SERIALIZER;
00163 };
00164 }
00165 }
00166
00167 namespace ros
00168 {
00169 namespace message_operations
00170 {
00171
00172 template<class ContainerAllocator>
00173 struct Printer< ::sr_robot_msgs::contrlr_<ContainerAllocator> >
00174 {
00175 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sr_robot_msgs::contrlr_<ContainerAllocator> & v)
00176 {
00177 s << indent << "contrlr_name: ";
00178 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.contrlr_name);
00179 s << indent << "list_of_parameters[]" << std::endl;
00180 for (size_t i = 0; i < v.list_of_parameters.size(); ++i)
00181 {
00182 s << indent << " list_of_parameters[" << i << "]: ";
00183 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.list_of_parameters[i]);
00184 }
00185 s << indent << "length_of_list: ";
00186 Printer<uint8_t>::stream(s, indent + " ", v.length_of_list);
00187 }
00188 };
00189
00190
00191 }
00192 }
00193
00194 #endif // SR_ROBOT_MSGS_MESSAGE_CONTRLR_H
00195