root / scout_avr / src / ros_lib / std_msgs / Float32.h @ 88fb3a79
History | View | Annotate | Download (1.44 KB)
1 |
#ifndef _ROS_std_msgs_Float32_h
|
---|---|
2 |
#define _ROS_std_msgs_Float32_h
|
3 |
|
4 |
#include <stdint.h> |
5 |
#include <string.h> |
6 |
#include <stdlib.h> |
7 |
#include "ros/msg.h" |
8 |
|
9 |
namespace std_msgs |
10 |
{ |
11 |
|
12 |
class Float32 : public ros::Msg |
13 |
{ |
14 |
public:
|
15 |
float data;
|
16 |
|
17 |
virtual int serialize(unsigned char *outbuffer) const |
18 |
{ |
19 |
int offset = 0; |
20 |
union {
|
21 |
float real;
|
22 |
uint32_t base; |
23 |
} u_data; |
24 |
u_data.real = this->data; |
25 |
*(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; |
26 |
*(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; |
27 |
*(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; |
28 |
*(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; |
29 |
offset += sizeof(this->data);
|
30 |
return offset;
|
31 |
} |
32 |
|
33 |
virtual int deserialize(unsigned char *inbuffer) |
34 |
{ |
35 |
int offset = 0; |
36 |
union {
|
37 |
float real;
|
38 |
uint32_t base; |
39 |
} u_data; |
40 |
u_data.base = 0;
|
41 |
u_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); |
42 |
u_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); |
43 |
u_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); |
44 |
u_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); |
45 |
this->data = u_data.real; |
46 |
offset += sizeof(this->data);
|
47 |
return offset;
|
48 |
} |
49 |
|
50 |
const char * getType(){ return "std_msgs/Float32"; }; |
51 |
const char * getMD5(){ return "73fcbf46b49191e672908e50842a83d4"; }; |
52 |
|
53 |
}; |
54 |
|
55 |
} |
56 |
#endif
|