modify for Hydro version

Dependencies:   MODSERIAL

Fork of rosserial_mbed_lib by nucho

Committer:
jjzak
Date:
Sat Oct 26 15:38:35 2013 +0000
Revision:
5:8cd48977ec68
modify for Hydro version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jjzak 5:8cd48977ec68 1 #ifndef _ROS_sensor_msgs_JoyFeedback_h
jjzak 5:8cd48977ec68 2 #define _ROS_sensor_msgs_JoyFeedback_h
jjzak 5:8cd48977ec68 3
jjzak 5:8cd48977ec68 4 #include <stdint.h>
jjzak 5:8cd48977ec68 5 #include <string.h>
jjzak 5:8cd48977ec68 6 #include <stdlib.h>
jjzak 5:8cd48977ec68 7 #include "ros/msg.h"
jjzak 5:8cd48977ec68 8
jjzak 5:8cd48977ec68 9 namespace sensor_msgs
jjzak 5:8cd48977ec68 10 {
jjzak 5:8cd48977ec68 11
jjzak 5:8cd48977ec68 12 class JoyFeedback : public ros::Msg
jjzak 5:8cd48977ec68 13 {
jjzak 5:8cd48977ec68 14 public:
jjzak 5:8cd48977ec68 15 uint8_t type;
jjzak 5:8cd48977ec68 16 uint8_t id;
jjzak 5:8cd48977ec68 17 float intensity;
jjzak 5:8cd48977ec68 18 enum { TYPE_LED = 0 };
jjzak 5:8cd48977ec68 19 enum { TYPE_RUMBLE = 1 };
jjzak 5:8cd48977ec68 20 enum { TYPE_BUZZER = 2 };
jjzak 5:8cd48977ec68 21
jjzak 5:8cd48977ec68 22 virtual int serialize(unsigned char *outbuffer) const
jjzak 5:8cd48977ec68 23 {
jjzak 5:8cd48977ec68 24 int offset = 0;
jjzak 5:8cd48977ec68 25 *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF;
jjzak 5:8cd48977ec68 26 offset += sizeof(this->type);
jjzak 5:8cd48977ec68 27 *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF;
jjzak 5:8cd48977ec68 28 offset += sizeof(this->id);
jjzak 5:8cd48977ec68 29 union {
jjzak 5:8cd48977ec68 30 float real;
jjzak 5:8cd48977ec68 31 uint32_t base;
jjzak 5:8cd48977ec68 32 } u_intensity;
jjzak 5:8cd48977ec68 33 u_intensity.real = this->intensity;
jjzak 5:8cd48977ec68 34 *(outbuffer + offset + 0) = (u_intensity.base >> (8 * 0)) & 0xFF;
jjzak 5:8cd48977ec68 35 *(outbuffer + offset + 1) = (u_intensity.base >> (8 * 1)) & 0xFF;
jjzak 5:8cd48977ec68 36 *(outbuffer + offset + 2) = (u_intensity.base >> (8 * 2)) & 0xFF;
jjzak 5:8cd48977ec68 37 *(outbuffer + offset + 3) = (u_intensity.base >> (8 * 3)) & 0xFF;
jjzak 5:8cd48977ec68 38 offset += sizeof(this->intensity);
jjzak 5:8cd48977ec68 39 return offset;
jjzak 5:8cd48977ec68 40 }
jjzak 5:8cd48977ec68 41
jjzak 5:8cd48977ec68 42 virtual int deserialize(unsigned char *inbuffer)
jjzak 5:8cd48977ec68 43 {
jjzak 5:8cd48977ec68 44 int offset = 0;
jjzak 5:8cd48977ec68 45 this->type = ((uint8_t) (*(inbuffer + offset)));
jjzak 5:8cd48977ec68 46 offset += sizeof(this->type);
jjzak 5:8cd48977ec68 47 this->id = ((uint8_t) (*(inbuffer + offset)));
jjzak 5:8cd48977ec68 48 offset += sizeof(this->id);
jjzak 5:8cd48977ec68 49 union {
jjzak 5:8cd48977ec68 50 float real;
jjzak 5:8cd48977ec68 51 uint32_t base;
jjzak 5:8cd48977ec68 52 } u_intensity;
jjzak 5:8cd48977ec68 53 u_intensity.base = 0;
jjzak 5:8cd48977ec68 54 u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
jjzak 5:8cd48977ec68 55 u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
jjzak 5:8cd48977ec68 56 u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
jjzak 5:8cd48977ec68 57 u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
jjzak 5:8cd48977ec68 58 this->intensity = u_intensity.real;
jjzak 5:8cd48977ec68 59 offset += sizeof(this->intensity);
jjzak 5:8cd48977ec68 60 return offset;
jjzak 5:8cd48977ec68 61 }
jjzak 5:8cd48977ec68 62
jjzak 5:8cd48977ec68 63 const char * getType(){ return "sensor_msgs/JoyFeedback"; };
jjzak 5:8cd48977ec68 64 const char * getMD5(){ return "f4dcd73460360d98f36e55ee7f2e46f1"; };
jjzak 5:8cd48977ec68 65
jjzak 5:8cd48977ec68 66 };
jjzak 5:8cd48977ec68 67
jjzak 5:8cd48977ec68 68 }
jjzak 5:8cd48977ec68 69 #endif