ROS Serial library for Mbed platforms for ROS Indigo Igloo. Check http://wiki.ros.org/rosserial_mbed/ for more information
Dependents: rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more
GetLinkState.h
00001 #ifndef _ROS_SERVICE_GetLinkState_h 00002 #define _ROS_SERVICE_GetLinkState_h 00003 #include <stdint.h> 00004 #include <string.h> 00005 #include <stdlib.h> 00006 #include "ros/msg.h" 00007 #include "gazebo_msgs/LinkState.h" 00008 00009 namespace gazebo_msgs 00010 { 00011 00012 static const char GETLINKSTATE[] = "gazebo_msgs/GetLinkState"; 00013 00014 class GetLinkStateRequest : public ros::Msg 00015 { 00016 public: 00017 const char* link_name; 00018 const char* reference_frame; 00019 00020 GetLinkStateRequest(): 00021 link_name(""), 00022 reference_frame("") 00023 { 00024 } 00025 00026 virtual int serialize(unsigned char *outbuffer) const 00027 { 00028 int offset = 0; 00029 uint32_t length_link_name = strlen(this->link_name); 00030 memcpy(outbuffer + offset, &length_link_name, sizeof(uint32_t)); 00031 offset += 4; 00032 memcpy(outbuffer + offset, this->link_name, length_link_name); 00033 offset += length_link_name; 00034 uint32_t length_reference_frame = strlen(this->reference_frame); 00035 memcpy(outbuffer + offset, &length_reference_frame, sizeof(uint32_t)); 00036 offset += 4; 00037 memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); 00038 offset += length_reference_frame; 00039 return offset; 00040 } 00041 00042 virtual int deserialize(unsigned char *inbuffer) 00043 { 00044 int offset = 0; 00045 uint32_t length_link_name; 00046 memcpy(&length_link_name, (inbuffer + offset), sizeof(uint32_t)); 00047 offset += 4; 00048 for(unsigned int k= offset; k< offset+length_link_name; ++k){ 00049 inbuffer[k-1]=inbuffer[k]; 00050 } 00051 inbuffer[offset+length_link_name-1]=0; 00052 this->link_name = (char *)(inbuffer + offset-1); 00053 offset += length_link_name; 00054 uint32_t length_reference_frame; 00055 memcpy(&length_reference_frame, (inbuffer + offset), sizeof(uint32_t)); 00056 offset += 4; 00057 for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ 00058 inbuffer[k-1]=inbuffer[k]; 00059 } 00060 inbuffer[offset+length_reference_frame-1]=0; 00061 this->reference_frame = (char *)(inbuffer + offset-1); 00062 offset += length_reference_frame; 00063 return offset; 00064 } 00065 00066 const char * getType(){ return GETLINKSTATE; }; 00067 const char * getMD5(){ return "7551675c30aaa71f7c288d4864552001"; }; 00068 00069 }; 00070 00071 class GetLinkStateResponse : public ros::Msg 00072 { 00073 public: 00074 gazebo_msgs::LinkState link_state; 00075 bool success; 00076 const char* status_message; 00077 00078 GetLinkStateResponse(): 00079 link_state(), 00080 success(0), 00081 status_message("") 00082 { 00083 } 00084 00085 virtual int serialize(unsigned char *outbuffer) const 00086 { 00087 int offset = 0; 00088 offset += this->link_state.serialize(outbuffer + offset); 00089 union { 00090 bool real; 00091 uint8_t base; 00092 } u_success; 00093 u_success.real = this->success; 00094 *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; 00095 offset += sizeof(this->success); 00096 uint32_t length_status_message = strlen(this->status_message); 00097 memcpy(outbuffer + offset, &length_status_message, sizeof(uint32_t)); 00098 offset += 4; 00099 memcpy(outbuffer + offset, this->status_message, length_status_message); 00100 offset += length_status_message; 00101 return offset; 00102 } 00103 00104 virtual int deserialize(unsigned char *inbuffer) 00105 { 00106 int offset = 0; 00107 offset += this->link_state.deserialize(inbuffer + offset); 00108 union { 00109 bool real; 00110 uint8_t base; 00111 } u_success; 00112 u_success.base = 0; 00113 u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); 00114 this->success = u_success.real; 00115 offset += sizeof(this->success); 00116 uint32_t length_status_message; 00117 memcpy(&length_status_message, (inbuffer + offset), sizeof(uint32_t)); 00118 offset += 4; 00119 for(unsigned int k= offset; k< offset+length_status_message; ++k){ 00120 inbuffer[k-1]=inbuffer[k]; 00121 } 00122 inbuffer[offset+length_status_message-1]=0; 00123 this->status_message = (char *)(inbuffer + offset-1); 00124 offset += length_status_message; 00125 return offset; 00126 } 00127 00128 const char * getType(){ return GETLINKSTATE; }; 00129 const char * getMD5(){ return "8ba55ad34f9c072e75c0de57b089753b"; }; 00130 00131 }; 00132 00133 class GetLinkState { 00134 public: 00135 typedef GetLinkStateRequest Request; 00136 typedef GetLinkStateResponse Response; 00137 }; 00138 00139 } 00140 #endif
Generated on Tue Jul 12 2022 18:39:39 by 1.7.2