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_JoyFeedbackArray_h
jjzak 5:8cd48977ec68 2 #define _ROS_sensor_msgs_JoyFeedbackArray_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 #include "sensor_msgs/JoyFeedback.h"
jjzak 5:8cd48977ec68 9
jjzak 5:8cd48977ec68 10 namespace sensor_msgs
jjzak 5:8cd48977ec68 11 {
jjzak 5:8cd48977ec68 12
jjzak 5:8cd48977ec68 13 class JoyFeedbackArray : public ros::Msg
jjzak 5:8cd48977ec68 14 {
jjzak 5:8cd48977ec68 15 public:
jjzak 5:8cd48977ec68 16 uint8_t array_length;
jjzak 5:8cd48977ec68 17 sensor_msgs::JoyFeedback st_array;
jjzak 5:8cd48977ec68 18 sensor_msgs::JoyFeedback * array;
jjzak 5:8cd48977ec68 19
jjzak 5:8cd48977ec68 20 virtual int serialize(unsigned char *outbuffer) const
jjzak 5:8cd48977ec68 21 {
jjzak 5:8cd48977ec68 22 int offset = 0;
jjzak 5:8cd48977ec68 23 *(outbuffer + offset++) = array_length;
jjzak 5:8cd48977ec68 24 *(outbuffer + offset++) = 0;
jjzak 5:8cd48977ec68 25 *(outbuffer + offset++) = 0;
jjzak 5:8cd48977ec68 26 *(outbuffer + offset++) = 0;
jjzak 5:8cd48977ec68 27 for( uint8_t i = 0; i < array_length; i++){
jjzak 5:8cd48977ec68 28 offset += this->array[i].serialize(outbuffer + offset);
jjzak 5:8cd48977ec68 29 }
jjzak 5:8cd48977ec68 30 return offset;
jjzak 5:8cd48977ec68 31 }
jjzak 5:8cd48977ec68 32
jjzak 5:8cd48977ec68 33 virtual int deserialize(unsigned char *inbuffer)
jjzak 5:8cd48977ec68 34 {
jjzak 5:8cd48977ec68 35 int offset = 0;
jjzak 5:8cd48977ec68 36 uint8_t array_lengthT = *(inbuffer + offset++);
jjzak 5:8cd48977ec68 37 if(array_lengthT > array_length)
jjzak 5:8cd48977ec68 38 this->array = (sensor_msgs::JoyFeedback*)realloc(this->array, array_lengthT * sizeof(sensor_msgs::JoyFeedback));
jjzak 5:8cd48977ec68 39 offset += 3;
jjzak 5:8cd48977ec68 40 array_length = array_lengthT;
jjzak 5:8cd48977ec68 41 for( uint8_t i = 0; i < array_length; i++){
jjzak 5:8cd48977ec68 42 offset += this->st_array.deserialize(inbuffer + offset);
jjzak 5:8cd48977ec68 43 memcpy( &(this->array[i]), &(this->st_array), sizeof(sensor_msgs::JoyFeedback));
jjzak 5:8cd48977ec68 44 }
jjzak 5:8cd48977ec68 45 return offset;
jjzak 5:8cd48977ec68 46 }
jjzak 5:8cd48977ec68 47
jjzak 5:8cd48977ec68 48 const char * getType(){ return "sensor_msgs/JoyFeedbackArray"; };
jjzak 5:8cd48977ec68 49 const char * getMD5(){ return "cde5730a895b1fc4dee6f91b754b213d"; };
jjzak 5:8cd48977ec68 50
jjzak 5:8cd48977ec68 51 };
jjzak 5:8cd48977ec68 52
jjzak 5:8cd48977ec68 53 }
jjzak 5:8cd48977ec68 54 #endif