ROS Serial library for Mbed platforms for ROS Indigo Igloo. Check http://wiki.ros.org/rosserial_mbed/ for more information

Dependencies:   BufferedSerial

Dependents:   rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers SetModelState.h Source File

SetModelState.h

00001 #ifndef _ROS_SERVICE_SetModelState_h
00002 #define _ROS_SERVICE_SetModelState_h
00003 #include <stdint.h>
00004 #include <string.h>
00005 #include <stdlib.h>
00006 #include "ros/msg.h"
00007 #include "gazebo_msgs/ModelState.h"
00008 
00009 namespace gazebo_msgs
00010 {
00011 
00012 static const char SETMODELSTATE[] = "gazebo_msgs/SetModelState";
00013 
00014   class SetModelStateRequest : public ros::Msg
00015   {
00016     public:
00017       gazebo_msgs::ModelState model_state;
00018 
00019     SetModelStateRequest():
00020       model_state()
00021     {
00022     }
00023 
00024     virtual int serialize(unsigned char *outbuffer) const
00025     {
00026       int offset = 0;
00027       offset += this->model_state.serialize(outbuffer + offset);
00028       return offset;
00029     }
00030 
00031     virtual int deserialize(unsigned char *inbuffer)
00032     {
00033       int offset = 0;
00034       offset += this->model_state.deserialize(inbuffer + offset);
00035      return offset;
00036     }
00037 
00038     const char * getType(){ return SETMODELSTATE; };
00039     const char * getMD5(){ return "cb042b0e91880f4661b29ea5b6234350"; };
00040 
00041   };
00042 
00043   class SetModelStateResponse : public ros::Msg
00044   {
00045     public:
00046       bool success;
00047       const char* status_message;
00048 
00049     SetModelStateResponse():
00050       success(0),
00051       status_message("")
00052     {
00053     }
00054 
00055     virtual int serialize(unsigned char *outbuffer) const
00056     {
00057       int offset = 0;
00058       union {
00059         bool real;
00060         uint8_t base;
00061       } u_success;
00062       u_success.real = this->success;
00063       *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF;
00064       offset += sizeof(this->success);
00065       uint32_t length_status_message = strlen(this->status_message);
00066       memcpy(outbuffer + offset, &length_status_message, sizeof(uint32_t));
00067       offset += 4;
00068       memcpy(outbuffer + offset, this->status_message, length_status_message);
00069       offset += length_status_message;
00070       return offset;
00071     }
00072 
00073     virtual int deserialize(unsigned char *inbuffer)
00074     {
00075       int offset = 0;
00076       union {
00077         bool real;
00078         uint8_t base;
00079       } u_success;
00080       u_success.base = 0;
00081       u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00082       this->success = u_success.real;
00083       offset += sizeof(this->success);
00084       uint32_t length_status_message;
00085       memcpy(&length_status_message, (inbuffer + offset), sizeof(uint32_t));
00086       offset += 4;
00087       for(unsigned int k= offset; k< offset+length_status_message; ++k){
00088           inbuffer[k-1]=inbuffer[k];
00089       }
00090       inbuffer[offset+length_status_message-1]=0;
00091       this->status_message = (char *)(inbuffer + offset-1);
00092       offset += length_status_message;
00093      return offset;
00094     }
00095 
00096     const char * getType(){ return SETMODELSTATE; };
00097     const char * getMD5(){ return "2ec6f3eff0161f4257b808b12bc830c2"; };
00098 
00099   };
00100 
00101   class SetModelState {
00102     public:
00103     typedef SetModelStateRequest Request;
00104     typedef SetModelStateResponse Response;
00105   };
00106 
00107 }
00108 #endif