kitt_platform
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros
Range.h
Go to the documentation of this file.
1 #ifndef _ROS_sensor_msgs_Range_h
2 #define _ROS_sensor_msgs_Range_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"
9 
10 namespace sensor_msgs
11 {
12 
13  class Range : public ros::Msg
14  {
15  public:
17  uint8_t radiation_type;
19  float min_range;
20  float max_range;
21  float range;
22  enum { ULTRASOUND = 0 };
23  enum { INFRARED = 1 };
24 
25  Range():
26  header(),
27  radiation_type(0),
28  field_of_view(0),
29  min_range(0),
30  max_range(0),
31  range(0)
32  {
33  }
34 
35  virtual int serialize(unsigned char *outbuffer) const
36  {
37  int offset = 0;
38  offset += this->header.serialize(outbuffer + offset);
39  *(outbuffer + offset + 0) = (this->radiation_type >> (8 * 0)) & 0xFF;
40  offset += sizeof(this->radiation_type);
41  union {
42  float real;
43  uint32_t base;
44  } u_field_of_view;
45  u_field_of_view.real = this->field_of_view;
46  *(outbuffer + offset + 0) = (u_field_of_view.base >> (8 * 0)) & 0xFF;
47  *(outbuffer + offset + 1) = (u_field_of_view.base >> (8 * 1)) & 0xFF;
48  *(outbuffer + offset + 2) = (u_field_of_view.base >> (8 * 2)) & 0xFF;
49  *(outbuffer + offset + 3) = (u_field_of_view.base >> (8 * 3)) & 0xFF;
50  offset += sizeof(this->field_of_view);
51  union {
52  float real;
53  uint32_t base;
54  } u_min_range;
55  u_min_range.real = this->min_range;
56  *(outbuffer + offset + 0) = (u_min_range.base >> (8 * 0)) & 0xFF;
57  *(outbuffer + offset + 1) = (u_min_range.base >> (8 * 1)) & 0xFF;
58  *(outbuffer + offset + 2) = (u_min_range.base >> (8 * 2)) & 0xFF;
59  *(outbuffer + offset + 3) = (u_min_range.base >> (8 * 3)) & 0xFF;
60  offset += sizeof(this->min_range);
61  union {
62  float real;
63  uint32_t base;
64  } u_max_range;
65  u_max_range.real = this->max_range;
66  *(outbuffer + offset + 0) = (u_max_range.base >> (8 * 0)) & 0xFF;
67  *(outbuffer + offset + 1) = (u_max_range.base >> (8 * 1)) & 0xFF;
68  *(outbuffer + offset + 2) = (u_max_range.base >> (8 * 2)) & 0xFF;
69  *(outbuffer + offset + 3) = (u_max_range.base >> (8 * 3)) & 0xFF;
70  offset += sizeof(this->max_range);
71  union {
72  float real;
73  uint32_t base;
74  } u_range;
75  u_range.real = this->range;
76  *(outbuffer + offset + 0) = (u_range.base >> (8 * 0)) & 0xFF;
77  *(outbuffer + offset + 1) = (u_range.base >> (8 * 1)) & 0xFF;
78  *(outbuffer + offset + 2) = (u_range.base >> (8 * 2)) & 0xFF;
79  *(outbuffer + offset + 3) = (u_range.base >> (8 * 3)) & 0xFF;
80  offset += sizeof(this->range);
81  return offset;
82  }
83 
84  virtual int deserialize(unsigned char *inbuffer)
85  {
86  int offset = 0;
87  offset += this->header.deserialize(inbuffer + offset);
88  this->radiation_type = ((uint8_t) (*(inbuffer + offset)));
89  offset += sizeof(this->radiation_type);
90  union {
91  float real;
92  uint32_t base;
93  } u_field_of_view;
94  u_field_of_view.base = 0;
95  u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
96  u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
97  u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
98  u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
99  this->field_of_view = u_field_of_view.real;
100  offset += sizeof(this->field_of_view);
101  union {
102  float real;
103  uint32_t base;
104  } u_min_range;
105  u_min_range.base = 0;
106  u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
107  u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
108  u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
109  u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
110  this->min_range = u_min_range.real;
111  offset += sizeof(this->min_range);
112  union {
113  float real;
114  uint32_t base;
115  } u_max_range;
116  u_max_range.base = 0;
117  u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
118  u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
119  u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
120  u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
121  this->max_range = u_max_range.real;
122  offset += sizeof(this->max_range);
123  union {
124  float real;
125  uint32_t base;
126  } u_range;
127  u_range.base = 0;
128  u_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
129  u_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
130  u_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
131  u_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
132  this->range = u_range.real;
133  offset += sizeof(this->range);
134  return offset;
135  }
136 
137  const char * getType(){ return "sensor_msgs/Range"; };
138  const char * getMD5(){ return "c005c34273dc426c67a020a87bc24148"; };
139 
140  };
141 
142 }
143 #endif
Definition: Range.h:23
const char * getMD5()
Definition: Range.h:138
virtual int deserialize(unsigned char *inbuffer)
Definition: Header.h:53
float range
Definition: Range.h:21
virtual int deserialize(unsigned char *inbuffer)
Definition: Range.h:84
Definition: Range.h:13
virtual int serialize(unsigned char *outbuffer) const
Definition: Header.h:27
float max_range
Definition: Range.h:20
const char * getType()
Definition: Range.h:137
virtual int serialize(unsigned char *outbuffer) const
Definition: Range.h:35
float min_range
Definition: Range.h:19
std_msgs::Header header
Definition: Range.h:16
Definition: Header.h:13
Definition: Range.h:22
uint8_t radiation_type
Definition: Range.h:17
float field_of_view
Definition: Range.h:18
Definition: msg.h:43
Range()
Definition: Range.h:25