OdometryCovariances.h
Go to the documentation of this file.
1 #ifndef _ROS_rosabridge_msgs_OdometryCovariances_h
2 #define _ROS_rosabridge_msgs_OdometryCovariances_h
3 
4 #include <stdint.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "ros/msg.h"
8 
9 namespace rosabridge_msgs
10 {
11 
13  {
14  public:
15  float pose_covariance[36];
16  float twist_covariance[36];
17 
18  virtual int serialize(unsigned char *outbuffer) const
19  {
20  int offset = 0;
21  for( uint8_t i = 0; i < 36; i++){
22  union {
23  float real;
24  uint32_t base;
25  } u_pose_covariancei;
26  u_pose_covariancei.real = this->pose_covariance[i];
27  *(outbuffer + offset + 0) = (u_pose_covariancei.base >> (8 * 0)) & 0xFF;
28  *(outbuffer + offset + 1) = (u_pose_covariancei.base >> (8 * 1)) & 0xFF;
29  *(outbuffer + offset + 2) = (u_pose_covariancei.base >> (8 * 2)) & 0xFF;
30  *(outbuffer + offset + 3) = (u_pose_covariancei.base >> (8 * 3)) & 0xFF;
31  offset += sizeof(this->pose_covariance[i]);
32  }
33  for( uint8_t i = 0; i < 36; i++){
34  union {
35  float real;
36  uint32_t base;
37  } u_twist_covariancei;
38  u_twist_covariancei.real = this->twist_covariance[i];
39  *(outbuffer + offset + 0) = (u_twist_covariancei.base >> (8 * 0)) & 0xFF;
40  *(outbuffer + offset + 1) = (u_twist_covariancei.base >> (8 * 1)) & 0xFF;
41  *(outbuffer + offset + 2) = (u_twist_covariancei.base >> (8 * 2)) & 0xFF;
42  *(outbuffer + offset + 3) = (u_twist_covariancei.base >> (8 * 3)) & 0xFF;
43  offset += sizeof(this->twist_covariance[i]);
44  }
45  return offset;
46  }
47 
48  virtual int deserialize(unsigned char *inbuffer)
49  {
50  int offset = 0;
51  for( uint8_t i = 0; i < 36; i++){
52  union {
53  float real;
54  uint32_t base;
55  } u_pose_covariancei;
56  u_pose_covariancei.base = 0;
57  u_pose_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
58  u_pose_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
59  u_pose_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
60  u_pose_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
61  this->pose_covariance[i] = u_pose_covariancei.real;
62  offset += sizeof(this->pose_covariance[i]);
63  }
64  for( uint8_t i = 0; i < 36; i++){
65  union {
66  float real;
67  uint32_t base;
68  } u_twist_covariancei;
69  u_twist_covariancei.base = 0;
70  u_twist_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
71  u_twist_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
72  u_twist_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
73  u_twist_covariancei.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
74  this->twist_covariance[i] = u_twist_covariancei.real;
75  offset += sizeof(this->twist_covariance[i]);
76  }
77  return offset;
78  }
79 
80  const char * getType(){ return "rosabridge_msgs/OdometryCovariances"; };
81  const char * getMD5(){ return "a4b306391e5fe1ada3a3b38b968daf06"; };
82 
83  };
84 
85 }
86 #endif
virtual int serialize(unsigned char *outbuffer) const
virtual int deserialize(unsigned char *inbuffer)


rosabridge_arduino
Author(s): Chad Attermann
autogenerated on Sat Apr 10 2021 02:37:49