00001
00002 #ifndef SR_EDC_ETHERCAT_DRIVERS_MESSAGE_MOTORTRACESAMPLE_H
00003 #define SR_EDC_ETHERCAT_DRIVERS_MESSAGE_MOTORTRACESAMPLE_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_edc_ethercat_drivers
00019 {
00020 template <class ContainerAllocator>
00021 struct MotorTraceSample_ {
00022 typedef MotorTraceSample_<ContainerAllocator> Type;
00023
00024 MotorTraceSample_()
00025 : commanded_effort(0.0)
00026 , slow_effort_limit(0.0)
00027 , quick_effort_limit(0.0)
00028 , motor_current(0.0)
00029 , motor_supply_voltage(0.0)
00030 , hbridge_duty(0.0)
00031 , temperature(0.0)
00032 , force_sensor_1(0.0)
00033 , force_sensor_2(0.0)
00034 , force_sensor_3(0.0)
00035 , motor_velocity(0.0)
00036 , velocity(0.0)
00037 , position(0.0)
00038 {
00039 }
00040
00041 MotorTraceSample_(const ContainerAllocator& _alloc)
00042 : commanded_effort(0.0)
00043 , slow_effort_limit(0.0)
00044 , quick_effort_limit(0.0)
00045 , motor_current(0.0)
00046 , motor_supply_voltage(0.0)
00047 , hbridge_duty(0.0)
00048 , temperature(0.0)
00049 , force_sensor_1(0.0)
00050 , force_sensor_2(0.0)
00051 , force_sensor_3(0.0)
00052 , motor_velocity(0.0)
00053 , velocity(0.0)
00054 , position(0.0)
00055 {
00056 }
00057
00058 typedef double _commanded_effort_type;
00059 double commanded_effort;
00060
00061 typedef double _slow_effort_limit_type;
00062 double slow_effort_limit;
00063
00064 typedef double _quick_effort_limit_type;
00065 double quick_effort_limit;
00066
00067 typedef double _motor_current_type;
00068 double motor_current;
00069
00070 typedef double _motor_supply_voltage_type;
00071 double motor_supply_voltage;
00072
00073 typedef double _hbridge_duty_type;
00074 double hbridge_duty;
00075
00076 typedef double _temperature_type;
00077 double temperature;
00078
00079 typedef double _force_sensor_1_type;
00080 double force_sensor_1;
00081
00082 typedef double _force_sensor_2_type;
00083 double force_sensor_2;
00084
00085 typedef double _force_sensor_3_type;
00086 double force_sensor_3;
00087
00088 typedef double _motor_velocity_type;
00089 double motor_velocity;
00090
00091 typedef double _velocity_type;
00092 double velocity;
00093
00094 typedef double _position_type;
00095 double position;
00096
00097
00098 typedef boost::shared_ptr< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > Ptr;
00099 typedef boost::shared_ptr< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> const> ConstPtr;
00100 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00101 };
00102 typedef ::sr_edc_ethercat_drivers::MotorTraceSample_<std::allocator<void> > MotorTraceSample;
00103
00104 typedef boost::shared_ptr< ::sr_edc_ethercat_drivers::MotorTraceSample> MotorTraceSamplePtr;
00105 typedef boost::shared_ptr< ::sr_edc_ethercat_drivers::MotorTraceSample const> MotorTraceSampleConstPtr;
00106
00107
00108 template<typename ContainerAllocator>
00109 std::ostream& operator<<(std::ostream& s, const ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> & v)
00110 {
00111 ros::message_operations::Printer< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> >::stream(s, "", v);
00112 return s;}
00113
00114 }
00115
00116 namespace ros
00117 {
00118 namespace message_traits
00119 {
00120 template<class ContainerAllocator> struct IsMessage< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > : public TrueType {};
00121 template<class ContainerAllocator> struct IsMessage< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> const> : public TrueType {};
00122 template<class ContainerAllocator>
00123 struct MD5Sum< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > {
00124 static const char* value()
00125 {
00126 return "f5faf420d7c29e68b1c6bfdff440ffb8";
00127 }
00128
00129 static const char* value(const ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> &) { return value(); }
00130 static const uint64_t static_value1 = 0xf5faf420d7c29e68ULL;
00131 static const uint64_t static_value2 = 0xb1c6bfdff440ffb8ULL;
00132 };
00133
00134 template<class ContainerAllocator>
00135 struct DataType< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > {
00136 static const char* value()
00137 {
00138 return "sr_edc_ethercat_drivers/MotorTraceSample";
00139 }
00140
00141 static const char* value(const ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> &) { return value(); }
00142 };
00143
00144 template<class ContainerAllocator>
00145 struct Definition< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > {
00146 static const char* value()
00147 {
00148 return "float64 commanded_effort\n\
00149 float64 slow_effort_limit\n\
00150 float64 quick_effort_limit\n\
00151 float64 motor_current\n\
00152 float64 motor_supply_voltage\n\
00153 float64 hbridge_duty\n\
00154 float64 temperature\n\
00155 float64 force_sensor_1\n\
00156 float64 force_sensor_2\n\
00157 float64 force_sensor_3\n\
00158 float64 motor_velocity\n\
00159 float64 velocity\n\
00160 float64 position\n\
00161 \n\
00162 ";
00163 }
00164
00165 static const char* value(const ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> &) { return value(); }
00166 };
00167
00168 template<class ContainerAllocator> struct IsFixedSize< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> > : public TrueType {};
00169 }
00170 }
00171
00172 namespace ros
00173 {
00174 namespace serialization
00175 {
00176
00177 template<class ContainerAllocator> struct Serializer< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> >
00178 {
00179 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00180 {
00181 stream.next(m.commanded_effort);
00182 stream.next(m.slow_effort_limit);
00183 stream.next(m.quick_effort_limit);
00184 stream.next(m.motor_current);
00185 stream.next(m.motor_supply_voltage);
00186 stream.next(m.hbridge_duty);
00187 stream.next(m.temperature);
00188 stream.next(m.force_sensor_1);
00189 stream.next(m.force_sensor_2);
00190 stream.next(m.force_sensor_3);
00191 stream.next(m.motor_velocity);
00192 stream.next(m.velocity);
00193 stream.next(m.position);
00194 }
00195
00196 ROS_DECLARE_ALLINONE_SERIALIZER;
00197 };
00198 }
00199 }
00200
00201 namespace ros
00202 {
00203 namespace message_operations
00204 {
00205
00206 template<class ContainerAllocator>
00207 struct Printer< ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> >
00208 {
00209 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sr_edc_ethercat_drivers::MotorTraceSample_<ContainerAllocator> & v)
00210 {
00211 s << indent << "commanded_effort: ";
00212 Printer<double>::stream(s, indent + " ", v.commanded_effort);
00213 s << indent << "slow_effort_limit: ";
00214 Printer<double>::stream(s, indent + " ", v.slow_effort_limit);
00215 s << indent << "quick_effort_limit: ";
00216 Printer<double>::stream(s, indent + " ", v.quick_effort_limit);
00217 s << indent << "motor_current: ";
00218 Printer<double>::stream(s, indent + " ", v.motor_current);
00219 s << indent << "motor_supply_voltage: ";
00220 Printer<double>::stream(s, indent + " ", v.motor_supply_voltage);
00221 s << indent << "hbridge_duty: ";
00222 Printer<double>::stream(s, indent + " ", v.hbridge_duty);
00223 s << indent << "temperature: ";
00224 Printer<double>::stream(s, indent + " ", v.temperature);
00225 s << indent << "force_sensor_1: ";
00226 Printer<double>::stream(s, indent + " ", v.force_sensor_1);
00227 s << indent << "force_sensor_2: ";
00228 Printer<double>::stream(s, indent + " ", v.force_sensor_2);
00229 s << indent << "force_sensor_3: ";
00230 Printer<double>::stream(s, indent + " ", v.force_sensor_3);
00231 s << indent << "motor_velocity: ";
00232 Printer<double>::stream(s, indent + " ", v.motor_velocity);
00233 s << indent << "velocity: ";
00234 Printer<double>::stream(s, indent + " ", v.velocity);
00235 s << indent << "position: ";
00236 Printer<double>::stream(s, indent + " ", v.position);
00237 }
00238 };
00239
00240
00241 }
00242 }
00243
00244 #endif // SR_EDC_ETHERCAT_DRIVERS_MESSAGE_MOTORTRACESAMPLE_H
00245