It has only one change from original one. I added robotfeedback message on it.

Dependencies:   BufferedSerial

Dependents:   RobotFeedback mobileRobotITU

Fork of ros_lib_indigo by Gary Servin

Committer:
randalthor
Date:
Sat Mar 04 14:07:56 2017 +0000
Revision:
4:80d9bee5079a
Parent:
0:fd24f7ca9688
fatih

Who changed what in which revision?

UserRevisionLine numberNew contents of line
garyservin 0:fd24f7ca9688 1 #ifndef _ROS_smach_msgs_SmachContainerInitialStatusCmd_h
garyservin 0:fd24f7ca9688 2 #define _ROS_smach_msgs_SmachContainerInitialStatusCmd_h
garyservin 0:fd24f7ca9688 3
garyservin 0:fd24f7ca9688 4 #include <stdint.h>
garyservin 0:fd24f7ca9688 5 #include <string.h>
garyservin 0:fd24f7ca9688 6 #include <stdlib.h>
garyservin 0:fd24f7ca9688 7 #include "ros/msg.h"
garyservin 0:fd24f7ca9688 8
garyservin 0:fd24f7ca9688 9 namespace smach_msgs
garyservin 0:fd24f7ca9688 10 {
garyservin 0:fd24f7ca9688 11
garyservin 0:fd24f7ca9688 12 class SmachContainerInitialStatusCmd : public ros::Msg
garyservin 0:fd24f7ca9688 13 {
garyservin 0:fd24f7ca9688 14 public:
garyservin 0:fd24f7ca9688 15 const char* path;
garyservin 0:fd24f7ca9688 16 uint8_t initial_states_length;
garyservin 0:fd24f7ca9688 17 char* st_initial_states;
garyservin 0:fd24f7ca9688 18 char* * initial_states;
garyservin 0:fd24f7ca9688 19 const char* local_data;
garyservin 0:fd24f7ca9688 20
garyservin 0:fd24f7ca9688 21 SmachContainerInitialStatusCmd():
garyservin 0:fd24f7ca9688 22 path(""),
garyservin 0:fd24f7ca9688 23 initial_states_length(0), initial_states(NULL),
garyservin 0:fd24f7ca9688 24 local_data("")
garyservin 0:fd24f7ca9688 25 {
garyservin 0:fd24f7ca9688 26 }
garyservin 0:fd24f7ca9688 27
garyservin 0:fd24f7ca9688 28 virtual int serialize(unsigned char *outbuffer) const
garyservin 0:fd24f7ca9688 29 {
garyservin 0:fd24f7ca9688 30 int offset = 0;
garyservin 0:fd24f7ca9688 31 uint32_t length_path = strlen(this->path);
garyservin 0:fd24f7ca9688 32 memcpy(outbuffer + offset, &length_path, sizeof(uint32_t));
garyservin 0:fd24f7ca9688 33 offset += 4;
garyservin 0:fd24f7ca9688 34 memcpy(outbuffer + offset, this->path, length_path);
garyservin 0:fd24f7ca9688 35 offset += length_path;
garyservin 0:fd24f7ca9688 36 *(outbuffer + offset++) = initial_states_length;
garyservin 0:fd24f7ca9688 37 *(outbuffer + offset++) = 0;
garyservin 0:fd24f7ca9688 38 *(outbuffer + offset++) = 0;
garyservin 0:fd24f7ca9688 39 *(outbuffer + offset++) = 0;
garyservin 0:fd24f7ca9688 40 for( uint8_t i = 0; i < initial_states_length; i++){
garyservin 0:fd24f7ca9688 41 uint32_t length_initial_statesi = strlen(this->initial_states[i]);
garyservin 0:fd24f7ca9688 42 memcpy(outbuffer + offset, &length_initial_statesi, sizeof(uint32_t));
garyservin 0:fd24f7ca9688 43 offset += 4;
garyservin 0:fd24f7ca9688 44 memcpy(outbuffer + offset, this->initial_states[i], length_initial_statesi);
garyservin 0:fd24f7ca9688 45 offset += length_initial_statesi;
garyservin 0:fd24f7ca9688 46 }
garyservin 0:fd24f7ca9688 47 uint32_t length_local_data = strlen(this->local_data);
garyservin 0:fd24f7ca9688 48 memcpy(outbuffer + offset, &length_local_data, sizeof(uint32_t));
garyservin 0:fd24f7ca9688 49 offset += 4;
garyservin 0:fd24f7ca9688 50 memcpy(outbuffer + offset, this->local_data, length_local_data);
garyservin 0:fd24f7ca9688 51 offset += length_local_data;
garyservin 0:fd24f7ca9688 52 return offset;
garyservin 0:fd24f7ca9688 53 }
garyservin 0:fd24f7ca9688 54
garyservin 0:fd24f7ca9688 55 virtual int deserialize(unsigned char *inbuffer)
garyservin 0:fd24f7ca9688 56 {
garyservin 0:fd24f7ca9688 57 int offset = 0;
garyservin 0:fd24f7ca9688 58 uint32_t length_path;
garyservin 0:fd24f7ca9688 59 memcpy(&length_path, (inbuffer + offset), sizeof(uint32_t));
garyservin 0:fd24f7ca9688 60 offset += 4;
garyservin 0:fd24f7ca9688 61 for(unsigned int k= offset; k< offset+length_path; ++k){
garyservin 0:fd24f7ca9688 62 inbuffer[k-1]=inbuffer[k];
garyservin 0:fd24f7ca9688 63 }
garyservin 0:fd24f7ca9688 64 inbuffer[offset+length_path-1]=0;
garyservin 0:fd24f7ca9688 65 this->path = (char *)(inbuffer + offset-1);
garyservin 0:fd24f7ca9688 66 offset += length_path;
garyservin 0:fd24f7ca9688 67 uint8_t initial_states_lengthT = *(inbuffer + offset++);
garyservin 0:fd24f7ca9688 68 if(initial_states_lengthT > initial_states_length)
garyservin 0:fd24f7ca9688 69 this->initial_states = (char**)realloc(this->initial_states, initial_states_lengthT * sizeof(char*));
garyservin 0:fd24f7ca9688 70 offset += 3;
garyservin 0:fd24f7ca9688 71 initial_states_length = initial_states_lengthT;
garyservin 0:fd24f7ca9688 72 for( uint8_t i = 0; i < initial_states_length; i++){
garyservin 0:fd24f7ca9688 73 uint32_t length_st_initial_states;
garyservin 0:fd24f7ca9688 74 memcpy(&length_st_initial_states, (inbuffer + offset), sizeof(uint32_t));
garyservin 0:fd24f7ca9688 75 offset += 4;
garyservin 0:fd24f7ca9688 76 for(unsigned int k= offset; k< offset+length_st_initial_states; ++k){
garyservin 0:fd24f7ca9688 77 inbuffer[k-1]=inbuffer[k];
garyservin 0:fd24f7ca9688 78 }
garyservin 0:fd24f7ca9688 79 inbuffer[offset+length_st_initial_states-1]=0;
garyservin 0:fd24f7ca9688 80 this->st_initial_states = (char *)(inbuffer + offset-1);
garyservin 0:fd24f7ca9688 81 offset += length_st_initial_states;
garyservin 0:fd24f7ca9688 82 memcpy( &(this->initial_states[i]), &(this->st_initial_states), sizeof(char*));
garyservin 0:fd24f7ca9688 83 }
garyservin 0:fd24f7ca9688 84 uint32_t length_local_data;
garyservin 0:fd24f7ca9688 85 memcpy(&length_local_data, (inbuffer + offset), sizeof(uint32_t));
garyservin 0:fd24f7ca9688 86 offset += 4;
garyservin 0:fd24f7ca9688 87 for(unsigned int k= offset; k< offset+length_local_data; ++k){
garyservin 0:fd24f7ca9688 88 inbuffer[k-1]=inbuffer[k];
garyservin 0:fd24f7ca9688 89 }
garyservin 0:fd24f7ca9688 90 inbuffer[offset+length_local_data-1]=0;
garyservin 0:fd24f7ca9688 91 this->local_data = (char *)(inbuffer + offset-1);
garyservin 0:fd24f7ca9688 92 offset += length_local_data;
garyservin 0:fd24f7ca9688 93 return offset;
garyservin 0:fd24f7ca9688 94 }
garyservin 0:fd24f7ca9688 95
garyservin 0:fd24f7ca9688 96 const char * getType(){ return "smach_msgs/SmachContainerInitialStatusCmd"; };
garyservin 0:fd24f7ca9688 97 const char * getMD5(){ return "45f8cf31fc29b829db77f23001f788d6"; };
garyservin 0:fd24f7ca9688 98
garyservin 0:fd24f7ca9688 99 };
garyservin 0:fd24f7ca9688 100
garyservin 0:fd24f7ca9688 101 }
garyservin 0:fd24f7ca9688 102 #endif