kitt_platform
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros
Imu.h
Go to the documentation of this file.
1 #ifndef _ROS_sensor_msgs_Imu_h
2 #define _ROS_sensor_msgs_Imu_h
3 
4 #include <stdint.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "ros/msg.h"
8 #include "std_msgs/Header.h"
10 #include "geometry_msgs/Vector3.h"
11 
12 namespace sensor_msgs
13 {
14 
15  class Imu : public ros::Msg
16  {
17  public:
25 
26  Imu():
27  header(),
28  orientation(),
34  {
35  }
36 
37  virtual int serialize(unsigned char *outbuffer) const
38  {
39  int offset = 0;
40  offset += this->header.serialize(outbuffer + offset);
41  offset += this->orientation.serialize(outbuffer + offset);
42  for( uint8_t i = 0; i < 9; i++){
43  offset += serializeAvrFloat64(outbuffer + offset, this->orientation_covariance[i]);
44  }
45  offset += this->angular_velocity.serialize(outbuffer + offset);
46  for( uint8_t i = 0; i < 9; i++){
47  offset += serializeAvrFloat64(outbuffer + offset, this->angular_velocity_covariance[i]);
48  }
49  offset += this->linear_acceleration.serialize(outbuffer + offset);
50  for( uint8_t i = 0; i < 9; i++){
51  offset += serializeAvrFloat64(outbuffer + offset, this->linear_acceleration_covariance[i]);
52  }
53  return offset;
54  }
55 
56  virtual int deserialize(unsigned char *inbuffer)
57  {
58  int offset = 0;
59  offset += this->header.deserialize(inbuffer + offset);
60  offset += this->orientation.deserialize(inbuffer + offset);
61  for( uint8_t i = 0; i < 9; i++){
62  offset += deserializeAvrFloat64(inbuffer + offset, &(this->orientation_covariance[i]));
63  }
64  offset += this->angular_velocity.deserialize(inbuffer + offset);
65  for( uint8_t i = 0; i < 9; i++){
66  offset += deserializeAvrFloat64(inbuffer + offset, &(this->angular_velocity_covariance[i]));
67  }
68  offset += this->linear_acceleration.deserialize(inbuffer + offset);
69  for( uint8_t i = 0; i < 9; i++){
70  offset += deserializeAvrFloat64(inbuffer + offset, &(this->linear_acceleration_covariance[i]));
71  }
72  return offset;
73  }
74 
75  const char * getType(){ return "sensor_msgs/Imu"; };
76  const char * getMD5(){ return "6a62c6daae103f4ff57a132d6f95cec2"; };
77 
78  };
79 
80 }
81 #endif
virtual int deserialize(unsigned char *inbuffer)
Definition: Header.h:53
float angular_velocity_covariance[9]
Definition: Imu.h:22
static int serializeAvrFloat64(unsigned char *outbuffer, const float f)
This tricky function handles promoting a 32bit float to a 64bit double, so that AVR can publish messa...
Definition: msg.h:62
virtual int serialize(unsigned char *outbuffer) const
Definition: Quaternion.h:28
float linear_acceleration_covariance[9]
Definition: Imu.h:24
virtual int deserialize(unsigned char *inbuffer)
Definition: Vector3.h:35
geometry_msgs::Vector3 linear_acceleration
Definition: Imu.h:23
Definition: Vector3.h:12
geometry_msgs::Quaternion orientation
Definition: Imu.h:19
virtual int serialize(unsigned char *outbuffer) const
Definition: Header.h:27
Imu()
Definition: Imu.h:26
float orientation_covariance[9]
Definition: Imu.h:20
const char * getType()
Definition: Imu.h:75
Definition: Header.h:13
virtual int deserialize(unsigned char *inbuffer)
Definition: Imu.h:56
virtual int deserialize(unsigned char *inbuffer)
Definition: Quaternion.h:38
const char * getMD5()
Definition: Imu.h:76
geometry_msgs::Vector3 angular_velocity
Definition: Imu.h:21
std_msgs::Header header
Definition: Imu.h:18
Definition: Quaternion.h:12
virtual int serialize(unsigned char *outbuffer) const
Definition: Imu.h:37
Definition: msg.h:43
Definition: Imu.h:15
static int deserializeAvrFloat64(const unsigned char *inbuffer, float *f)
This tricky function handles demoting a 64bit double to a 32bit float, so that AVR can understand mes...
Definition: msg.h:100
virtual int serialize(unsigned char *outbuffer) const
Definition: Vector3.h:26