IMUCalcData.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-fuerte-asctec_drivers/doc_stacks/2014-01-07_11-02-55.712616/asctec_drivers/asctec_msgs/msg/IMUCalcData.msg */
00002 #ifndef ASCTEC_MSGS_MESSAGE_IMUCALCDATA_H
00003 #define ASCTEC_MSGS_MESSAGE_IMUCALCDATA_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 asctec_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct IMUCalcData_ {
00023   typedef IMUCalcData_<ContainerAllocator> Type;
00024 
00025   IMUCalcData_()
00026   : header()
00027   , angle_nick(0)
00028   , angle_roll(0)
00029   , angle_yaw(0)
00030   , angvel_nick(0)
00031   , angvel_roll(0)
00032   , angvel_yaw(0)
00033   , acc_x_calib(0)
00034   , acc_y_calib(0)
00035   , acc_z_calib(0)
00036   , acc_x(0)
00037   , acc_y(0)
00038   , acc_z(0)
00039   , acc_angle_nick(0)
00040   , acc_angle_roll(0)
00041   , acc_absolute_value(0)
00042   , Hx(0)
00043   , Hy(0)
00044   , Hz(0)
00045   , mag_heading(0)
00046   , speed_x(0)
00047   , speed_y(0)
00048   , speed_z(0)
00049   , height(0)
00050   , dheight(0)
00051   , dheight_reference(0)
00052   , height_reference(0)
00053   {
00054   }
00055 
00056   IMUCalcData_(const ContainerAllocator& _alloc)
00057   : header(_alloc)
00058   , angle_nick(0)
00059   , angle_roll(0)
00060   , angle_yaw(0)
00061   , angvel_nick(0)
00062   , angvel_roll(0)
00063   , angvel_yaw(0)
00064   , acc_x_calib(0)
00065   , acc_y_calib(0)
00066   , acc_z_calib(0)
00067   , acc_x(0)
00068   , acc_y(0)
00069   , acc_z(0)
00070   , acc_angle_nick(0)
00071   , acc_angle_roll(0)
00072   , acc_absolute_value(0)
00073   , Hx(0)
00074   , Hy(0)
00075   , Hz(0)
00076   , mag_heading(0)
00077   , speed_x(0)
00078   , speed_y(0)
00079   , speed_z(0)
00080   , height(0)
00081   , dheight(0)
00082   , dheight_reference(0)
00083   , height_reference(0)
00084   {
00085   }
00086 
00087   typedef  ::std_msgs::Header_<ContainerAllocator>  _header_type;
00088    ::std_msgs::Header_<ContainerAllocator>  header;
00089 
00090   typedef int32_t _angle_nick_type;
00091   int32_t angle_nick;
00092 
00093   typedef int32_t _angle_roll_type;
00094   int32_t angle_roll;
00095 
00096   typedef int32_t _angle_yaw_type;
00097   int32_t angle_yaw;
00098 
00099   typedef int32_t _angvel_nick_type;
00100   int32_t angvel_nick;
00101 
00102   typedef int32_t _angvel_roll_type;
00103   int32_t angvel_roll;
00104 
00105   typedef int32_t _angvel_yaw_type;
00106   int32_t angvel_yaw;
00107 
00108   typedef int16_t _acc_x_calib_type;
00109   int16_t acc_x_calib;
00110 
00111   typedef int16_t _acc_y_calib_type;
00112   int16_t acc_y_calib;
00113 
00114   typedef int16_t _acc_z_calib_type;
00115   int16_t acc_z_calib;
00116 
00117   typedef int16_t _acc_x_type;
00118   int16_t acc_x;
00119 
00120   typedef int16_t _acc_y_type;
00121   int16_t acc_y;
00122 
00123   typedef int16_t _acc_z_type;
00124   int16_t acc_z;
00125 
00126   typedef int32_t _acc_angle_nick_type;
00127   int32_t acc_angle_nick;
00128 
00129   typedef int32_t _acc_angle_roll_type;
00130   int32_t acc_angle_roll;
00131 
00132   typedef int32_t _acc_absolute_value_type;
00133   int32_t acc_absolute_value;
00134 
00135   typedef int32_t _Hx_type;
00136   int32_t Hx;
00137 
00138   typedef int32_t _Hy_type;
00139   int32_t Hy;
00140 
00141   typedef int32_t _Hz_type;
00142   int32_t Hz;
00143 
00144   typedef int32_t _mag_heading_type;
00145   int32_t mag_heading;
00146 
00147   typedef int32_t _speed_x_type;
00148   int32_t speed_x;
00149 
00150   typedef int32_t _speed_y_type;
00151   int32_t speed_y;
00152 
00153   typedef int32_t _speed_z_type;
00154   int32_t speed_z;
00155 
00156   typedef int32_t _height_type;
00157   int32_t height;
00158 
00159   typedef int32_t _dheight_type;
00160   int32_t dheight;
00161 
00162   typedef int32_t _dheight_reference_type;
00163   int32_t dheight_reference;
00164 
00165   typedef int32_t _height_reference_type;
00166   int32_t height_reference;
00167 
00168 
00169   typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > Ptr;
00170   typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData_<ContainerAllocator>  const> ConstPtr;
00171   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00172 }; // struct IMUCalcData
00173 typedef  ::asctec_msgs::IMUCalcData_<std::allocator<void> > IMUCalcData;
00174 
00175 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData> IMUCalcDataPtr;
00176 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData const> IMUCalcDataConstPtr;
00177 
00178 
00179 template<typename ContainerAllocator>
00180 std::ostream& operator<<(std::ostream& s, const  ::asctec_msgs::IMUCalcData_<ContainerAllocator> & v)
00181 {
00182   ros::message_operations::Printer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> >::stream(s, "", v);
00183   return s;}
00184 
00185 } // namespace asctec_msgs
00186 
00187 namespace ros
00188 {
00189 namespace message_traits
00190 {
00191 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {};
00192 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::IMUCalcData_<ContainerAllocator>  const> : public TrueType {};
00193 template<class ContainerAllocator>
00194 struct MD5Sum< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > {
00195   static const char* value() 
00196   {
00197     return "69fa9ec7b73af705eabe7dcbfd39ac85";
00198   }
00199 
00200   static const char* value(const  ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 
00201   static const uint64_t static_value1 = 0x69fa9ec7b73af705ULL;
00202   static const uint64_t static_value2 = 0xeabe7dcbfd39ac85ULL;
00203 };
00204 
00205 template<class ContainerAllocator>
00206 struct DataType< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > {
00207   static const char* value() 
00208   {
00209     return "asctec_msgs/IMUCalcData";
00210   }
00211 
00212   static const char* value(const  ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 
00213 };
00214 
00215 template<class ContainerAllocator>
00216 struct Definition< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > {
00217   static const char* value() 
00218   {
00219     return "# Software License Agreement (BSD License)\n\
00220 #\n\
00221 # Copyright (c) 2010\n\
00222 #  William Morris <morris@ee.ccny.cuny.edu>\n\
00223 #  Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\
00224 # All rights reserved.\n\
00225 #\n\
00226 # Redistribution and use in source and binary forms, with or without\n\
00227 # modification, are permitted provided that the following conditions\n\
00228 # are met:\n\
00229 #\n\
00230 #  * Redistributions of source code must retain the above copyright\n\
00231 #    notice, this list of conditions and the following disclaimer.\n\
00232 #  * Redistributions in binary form must reproduce the above\n\
00233 #    copyright notice, this list of conditions and the following\n\
00234 #    disclaimer in the documentation and/or other materials provided\n\
00235 #    with the distribution.\n\
00236 #  * Neither the name of CCNY Robotics Lab nor the names of its\n\
00237 #    contributors may be used to endorse or promote products derived\n\
00238 #    from this software without specific prior written permission.\n\
00239 #\n\
00240 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
00241 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
00242 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\
00243 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\
00244 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\
00245 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\
00246 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\
00247 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\
00248 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\
00249 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\
00250 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\
00251 # POSSIBILITY OF SUCH DAMAGE.\n\
00252 \n\
00253 Header header\n\
00254 # angles derived by integration of gyro_outputs, drift compensated by data fusion;\n\
00255 #-90000..+90000 pitch(nick) and roll, 0..360000 yaw; 1000 = 1 degree\n\
00256 \n\
00257 int32 angle_nick\n\
00258 int32 angle_roll\n\
00259 int32 angle_yaw\n\
00260 \n\
00261 # angular velocities, raw values [16 bit], bias free, in 0.0154 degree/s (=> 64.8 = 1 degree/s)\n\
00262 \n\
00263 int32 angvel_nick\n\
00264 int32 angvel_roll\n\
00265 int32 angvel_yaw\n\
00266 \n\
00267 # acc-sensor outputs, calibrated: -10000..+10000 = -1g..+1g\n\
00268 \n\
00269 int16 acc_x_calib\n\
00270 int16 acc_y_calib\n\
00271 int16 acc_z_calib\n\
00272 \n\
00273 # horizontal / vertical accelerations: -10000..+10000 = -1g..+1g\n\
00274 \n\
00275 int16 acc_x\n\
00276 int16 acc_y\n\
00277 int16 acc_z\n\
00278 \n\
00279 # reference angles derived by accelerations only: -90000..+90000; 1000 = 1 degree\n\
00280 \n\
00281 int32 acc_angle_nick\n\
00282 int32 acc_angle_roll\n\
00283 \n\
00284 # total acceleration measured (10000 = 1g)\n\
00285 \n\
00286 int32 acc_absolute_value\n\
00287 \n\
00288 # magnetic field sensors output, offset free and scaled; units not determined, \n\
00289 # as only the direction of the field vector is taken into account\n\
00290 \n\
00291 int32 Hx\n\
00292 int32 Hy\n\
00293 int32 Hz\n\
00294 \n\
00295 # compass reading: angle reference for angle_yaw: 0..360000; 1000 = 1 degree\n\
00296 \n\
00297 int32 mag_heading\n\
00298 \n\
00299 # pseudo speed measurements: integrated accelerations, pulled towards zero; units unknown;\n\
00300 # used for short-term position stabilization\n\
00301 \n\
00302 int32 speed_x\n\
00303 int32 speed_y\n\
00304 int32 speed_z\n\
00305 \n\
00306 # height in mm (after data fusion)\n\
00307 \n\
00308 int32 height\n\
00309 \n\
00310 # diff. height in mm/s (after data fusion)\n\
00311 \n\
00312 int32 dheight\n\
00313 \n\
00314 # diff. height measured by the pressure sensor [mm/s]\n\
00315 \n\
00316 int32 dheight_reference\n\
00317 \n\
00318 # height measured by the pressure sensor [mm]\n\
00319 \n\
00320 int32 height_reference\n\
00321 \n\
00322 \n\
00323 ================================================================================\n\
00324 MSG: std_msgs/Header\n\
00325 # Standard metadata for higher-level stamped data types.\n\
00326 # This is generally used to communicate timestamped data \n\
00327 # in a particular coordinate frame.\n\
00328 # \n\
00329 # sequence ID: consecutively increasing ID \n\
00330 uint32 seq\n\
00331 #Two-integer timestamp that is expressed as:\n\
00332 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00333 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00334 # time-handling sugar is provided by the client library\n\
00335 time stamp\n\
00336 #Frame this data is associated with\n\
00337 # 0: no frame\n\
00338 # 1: global frame\n\
00339 string frame_id\n\
00340 \n\
00341 ";
00342   }
00343 
00344   static const char* value(const  ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 
00345 };
00346 
00347 template<class ContainerAllocator> struct HasHeader< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {};
00348 template<class ContainerAllocator> struct HasHeader< const ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {};
00349 } // namespace message_traits
00350 } // namespace ros
00351 
00352 namespace ros
00353 {
00354 namespace serialization
00355 {
00356 
00357 template<class ContainerAllocator> struct Serializer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> >
00358 {
00359   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00360   {
00361     stream.next(m.header);
00362     stream.next(m.angle_nick);
00363     stream.next(m.angle_roll);
00364     stream.next(m.angle_yaw);
00365     stream.next(m.angvel_nick);
00366     stream.next(m.angvel_roll);
00367     stream.next(m.angvel_yaw);
00368     stream.next(m.acc_x_calib);
00369     stream.next(m.acc_y_calib);
00370     stream.next(m.acc_z_calib);
00371     stream.next(m.acc_x);
00372     stream.next(m.acc_y);
00373     stream.next(m.acc_z);
00374     stream.next(m.acc_angle_nick);
00375     stream.next(m.acc_angle_roll);
00376     stream.next(m.acc_absolute_value);
00377     stream.next(m.Hx);
00378     stream.next(m.Hy);
00379     stream.next(m.Hz);
00380     stream.next(m.mag_heading);
00381     stream.next(m.speed_x);
00382     stream.next(m.speed_y);
00383     stream.next(m.speed_z);
00384     stream.next(m.height);
00385     stream.next(m.dheight);
00386     stream.next(m.dheight_reference);
00387     stream.next(m.height_reference);
00388   }
00389 
00390   ROS_DECLARE_ALLINONE_SERIALIZER;
00391 }; // struct IMUCalcData_
00392 } // namespace serialization
00393 } // namespace ros
00394 
00395 namespace ros
00396 {
00397 namespace message_operations
00398 {
00399 
00400 template<class ContainerAllocator>
00401 struct Printer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> >
00402 {
00403   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::asctec_msgs::IMUCalcData_<ContainerAllocator> & v) 
00404   {
00405     s << indent << "header: ";
00406 s << std::endl;
00407     Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + "  ", v.header);
00408     s << indent << "angle_nick: ";
00409     Printer<int32_t>::stream(s, indent + "  ", v.angle_nick);
00410     s << indent << "angle_roll: ";
00411     Printer<int32_t>::stream(s, indent + "  ", v.angle_roll);
00412     s << indent << "angle_yaw: ";
00413     Printer<int32_t>::stream(s, indent + "  ", v.angle_yaw);
00414     s << indent << "angvel_nick: ";
00415     Printer<int32_t>::stream(s, indent + "  ", v.angvel_nick);
00416     s << indent << "angvel_roll: ";
00417     Printer<int32_t>::stream(s, indent + "  ", v.angvel_roll);
00418     s << indent << "angvel_yaw: ";
00419     Printer<int32_t>::stream(s, indent + "  ", v.angvel_yaw);
00420     s << indent << "acc_x_calib: ";
00421     Printer<int16_t>::stream(s, indent + "  ", v.acc_x_calib);
00422     s << indent << "acc_y_calib: ";
00423     Printer<int16_t>::stream(s, indent + "  ", v.acc_y_calib);
00424     s << indent << "acc_z_calib: ";
00425     Printer<int16_t>::stream(s, indent + "  ", v.acc_z_calib);
00426     s << indent << "acc_x: ";
00427     Printer<int16_t>::stream(s, indent + "  ", v.acc_x);
00428     s << indent << "acc_y: ";
00429     Printer<int16_t>::stream(s, indent + "  ", v.acc_y);
00430     s << indent << "acc_z: ";
00431     Printer<int16_t>::stream(s, indent + "  ", v.acc_z);
00432     s << indent << "acc_angle_nick: ";
00433     Printer<int32_t>::stream(s, indent + "  ", v.acc_angle_nick);
00434     s << indent << "acc_angle_roll: ";
00435     Printer<int32_t>::stream(s, indent + "  ", v.acc_angle_roll);
00436     s << indent << "acc_absolute_value: ";
00437     Printer<int32_t>::stream(s, indent + "  ", v.acc_absolute_value);
00438     s << indent << "Hx: ";
00439     Printer<int32_t>::stream(s, indent + "  ", v.Hx);
00440     s << indent << "Hy: ";
00441     Printer<int32_t>::stream(s, indent + "  ", v.Hy);
00442     s << indent << "Hz: ";
00443     Printer<int32_t>::stream(s, indent + "  ", v.Hz);
00444     s << indent << "mag_heading: ";
00445     Printer<int32_t>::stream(s, indent + "  ", v.mag_heading);
00446     s << indent << "speed_x: ";
00447     Printer<int32_t>::stream(s, indent + "  ", v.speed_x);
00448     s << indent << "speed_y: ";
00449     Printer<int32_t>::stream(s, indent + "  ", v.speed_y);
00450     s << indent << "speed_z: ";
00451     Printer<int32_t>::stream(s, indent + "  ", v.speed_z);
00452     s << indent << "height: ";
00453     Printer<int32_t>::stream(s, indent + "  ", v.height);
00454     s << indent << "dheight: ";
00455     Printer<int32_t>::stream(s, indent + "  ", v.dheight);
00456     s << indent << "dheight_reference: ";
00457     Printer<int32_t>::stream(s, indent + "  ", v.dheight_reference);
00458     s << indent << "height_reference: ";
00459     Printer<int32_t>::stream(s, indent + "  ", v.height_reference);
00460   }
00461 };
00462 
00463 
00464 } // namespace message_operations
00465 } // namespace ros
00466 
00467 #endif // ASCTEC_MSGS_MESSAGE_IMUCALCDATA_H
00468 


asctec_msgs
Author(s): William Morris, Ivan Dryanovski, Steven Bellens, Patrick Bouffard et al.
autogenerated on Tue Jan 7 2014 11:04:07