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
SetLinkProperties.h
00001 #ifndef _ROS_SERVICE_SetLinkProperties_h 00002 #define _ROS_SERVICE_SetLinkProperties_h 00003 #include <stdint.h> 00004 #include <string.h> 00005 #include <stdlib.h> 00006 #include "ros/msg.h" 00007 #include "geometry_msgs/Pose.h" 00008 00009 namespace gazebo_msgs 00010 { 00011 00012 static const char SETLINKPROPERTIES[] = "gazebo_msgs/SetLinkProperties"; 00013 00014 class SetLinkPropertiesRequest : public ros::Msg 00015 { 00016 public: 00017 const char* link_name; 00018 geometry_msgs::Pose com; 00019 bool gravity_mode; 00020 double mass; 00021 double ixx; 00022 double ixy; 00023 double ixz; 00024 double iyy; 00025 double iyz; 00026 double izz; 00027 00028 SetLinkPropertiesRequest(): 00029 link_name(""), 00030 com(), 00031 gravity_mode(0), 00032 mass(0), 00033 ixx(0), 00034 ixy(0), 00035 ixz(0), 00036 iyy(0), 00037 iyz(0), 00038 izz(0) 00039 { 00040 } 00041 00042 virtual int serialize(unsigned char *outbuffer) const 00043 { 00044 int offset = 0; 00045 uint32_t length_link_name = strlen(this->link_name); 00046 memcpy(outbuffer + offset, &length_link_name, sizeof(uint32_t)); 00047 offset += 4; 00048 memcpy(outbuffer + offset, this->link_name, length_link_name); 00049 offset += length_link_name; 00050 offset += this->com.serialize(outbuffer + offset); 00051 union { 00052 bool real; 00053 uint8_t base; 00054 } u_gravity_mode; 00055 u_gravity_mode.real = this->gravity_mode; 00056 *(outbuffer + offset + 0) = (u_gravity_mode.base >> (8 * 0)) & 0xFF; 00057 offset += sizeof(this->gravity_mode); 00058 union { 00059 double real; 00060 uint64_t base; 00061 } u_mass; 00062 u_mass.real = this->mass; 00063 *(outbuffer + offset + 0) = (u_mass.base >> (8 * 0)) & 0xFF; 00064 *(outbuffer + offset + 1) = (u_mass.base >> (8 * 1)) & 0xFF; 00065 *(outbuffer + offset + 2) = (u_mass.base >> (8 * 2)) & 0xFF; 00066 *(outbuffer + offset + 3) = (u_mass.base >> (8 * 3)) & 0xFF; 00067 *(outbuffer + offset + 4) = (u_mass.base >> (8 * 4)) & 0xFF; 00068 *(outbuffer + offset + 5) = (u_mass.base >> (8 * 5)) & 0xFF; 00069 *(outbuffer + offset + 6) = (u_mass.base >> (8 * 6)) & 0xFF; 00070 *(outbuffer + offset + 7) = (u_mass.base >> (8 * 7)) & 0xFF; 00071 offset += sizeof(this->mass); 00072 union { 00073 double real; 00074 uint64_t base; 00075 } u_ixx; 00076 u_ixx.real = this->ixx; 00077 *(outbuffer + offset + 0) = (u_ixx.base >> (8 * 0)) & 0xFF; 00078 *(outbuffer + offset + 1) = (u_ixx.base >> (8 * 1)) & 0xFF; 00079 *(outbuffer + offset + 2) = (u_ixx.base >> (8 * 2)) & 0xFF; 00080 *(outbuffer + offset + 3) = (u_ixx.base >> (8 * 3)) & 0xFF; 00081 *(outbuffer + offset + 4) = (u_ixx.base >> (8 * 4)) & 0xFF; 00082 *(outbuffer + offset + 5) = (u_ixx.base >> (8 * 5)) & 0xFF; 00083 *(outbuffer + offset + 6) = (u_ixx.base >> (8 * 6)) & 0xFF; 00084 *(outbuffer + offset + 7) = (u_ixx.base >> (8 * 7)) & 0xFF; 00085 offset += sizeof(this->ixx); 00086 union { 00087 double real; 00088 uint64_t base; 00089 } u_ixy; 00090 u_ixy.real = this->ixy; 00091 *(outbuffer + offset + 0) = (u_ixy.base >> (8 * 0)) & 0xFF; 00092 *(outbuffer + offset + 1) = (u_ixy.base >> (8 * 1)) & 0xFF; 00093 *(outbuffer + offset + 2) = (u_ixy.base >> (8 * 2)) & 0xFF; 00094 *(outbuffer + offset + 3) = (u_ixy.base >> (8 * 3)) & 0xFF; 00095 *(outbuffer + offset + 4) = (u_ixy.base >> (8 * 4)) & 0xFF; 00096 *(outbuffer + offset + 5) = (u_ixy.base >> (8 * 5)) & 0xFF; 00097 *(outbuffer + offset + 6) = (u_ixy.base >> (8 * 6)) & 0xFF; 00098 *(outbuffer + offset + 7) = (u_ixy.base >> (8 * 7)) & 0xFF; 00099 offset += sizeof(this->ixy); 00100 union { 00101 double real; 00102 uint64_t base; 00103 } u_ixz; 00104 u_ixz.real = this->ixz; 00105 *(outbuffer + offset + 0) = (u_ixz.base >> (8 * 0)) & 0xFF; 00106 *(outbuffer + offset + 1) = (u_ixz.base >> (8 * 1)) & 0xFF; 00107 *(outbuffer + offset + 2) = (u_ixz.base >> (8 * 2)) & 0xFF; 00108 *(outbuffer + offset + 3) = (u_ixz.base >> (8 * 3)) & 0xFF; 00109 *(outbuffer + offset + 4) = (u_ixz.base >> (8 * 4)) & 0xFF; 00110 *(outbuffer + offset + 5) = (u_ixz.base >> (8 * 5)) & 0xFF; 00111 *(outbuffer + offset + 6) = (u_ixz.base >> (8 * 6)) & 0xFF; 00112 *(outbuffer + offset + 7) = (u_ixz.base >> (8 * 7)) & 0xFF; 00113 offset += sizeof(this->ixz); 00114 union { 00115 double real; 00116 uint64_t base; 00117 } u_iyy; 00118 u_iyy.real = this->iyy; 00119 *(outbuffer + offset + 0) = (u_iyy.base >> (8 * 0)) & 0xFF; 00120 *(outbuffer + offset + 1) = (u_iyy.base >> (8 * 1)) & 0xFF; 00121 *(outbuffer + offset + 2) = (u_iyy.base >> (8 * 2)) & 0xFF; 00122 *(outbuffer + offset + 3) = (u_iyy.base >> (8 * 3)) & 0xFF; 00123 *(outbuffer + offset + 4) = (u_iyy.base >> (8 * 4)) & 0xFF; 00124 *(outbuffer + offset + 5) = (u_iyy.base >> (8 * 5)) & 0xFF; 00125 *(outbuffer + offset + 6) = (u_iyy.base >> (8 * 6)) & 0xFF; 00126 *(outbuffer + offset + 7) = (u_iyy.base >> (8 * 7)) & 0xFF; 00127 offset += sizeof(this->iyy); 00128 union { 00129 double real; 00130 uint64_t base; 00131 } u_iyz; 00132 u_iyz.real = this->iyz; 00133 *(outbuffer + offset + 0) = (u_iyz.base >> (8 * 0)) & 0xFF; 00134 *(outbuffer + offset + 1) = (u_iyz.base >> (8 * 1)) & 0xFF; 00135 *(outbuffer + offset + 2) = (u_iyz.base >> (8 * 2)) & 0xFF; 00136 *(outbuffer + offset + 3) = (u_iyz.base >> (8 * 3)) & 0xFF; 00137 *(outbuffer + offset + 4) = (u_iyz.base >> (8 * 4)) & 0xFF; 00138 *(outbuffer + offset + 5) = (u_iyz.base >> (8 * 5)) & 0xFF; 00139 *(outbuffer + offset + 6) = (u_iyz.base >> (8 * 6)) & 0xFF; 00140 *(outbuffer + offset + 7) = (u_iyz.base >> (8 * 7)) & 0xFF; 00141 offset += sizeof(this->iyz); 00142 union { 00143 double real; 00144 uint64_t base; 00145 } u_izz; 00146 u_izz.real = this->izz; 00147 *(outbuffer + offset + 0) = (u_izz.base >> (8 * 0)) & 0xFF; 00148 *(outbuffer + offset + 1) = (u_izz.base >> (8 * 1)) & 0xFF; 00149 *(outbuffer + offset + 2) = (u_izz.base >> (8 * 2)) & 0xFF; 00150 *(outbuffer + offset + 3) = (u_izz.base >> (8 * 3)) & 0xFF; 00151 *(outbuffer + offset + 4) = (u_izz.base >> (8 * 4)) & 0xFF; 00152 *(outbuffer + offset + 5) = (u_izz.base >> (8 * 5)) & 0xFF; 00153 *(outbuffer + offset + 6) = (u_izz.base >> (8 * 6)) & 0xFF; 00154 *(outbuffer + offset + 7) = (u_izz.base >> (8 * 7)) & 0xFF; 00155 offset += sizeof(this->izz); 00156 return offset; 00157 } 00158 00159 virtual int deserialize(unsigned char *inbuffer) 00160 { 00161 int offset = 0; 00162 uint32_t length_link_name; 00163 memcpy(&length_link_name, (inbuffer + offset), sizeof(uint32_t)); 00164 offset += 4; 00165 for(unsigned int k= offset; k< offset+length_link_name; ++k){ 00166 inbuffer[k-1]=inbuffer[k]; 00167 } 00168 inbuffer[offset+length_link_name-1]=0; 00169 this->link_name = (char *)(inbuffer + offset-1); 00170 offset += length_link_name; 00171 offset += this->com.deserialize(inbuffer + offset); 00172 union { 00173 bool real; 00174 uint8_t base; 00175 } u_gravity_mode; 00176 u_gravity_mode.base = 0; 00177 u_gravity_mode.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); 00178 this->gravity_mode = u_gravity_mode.real; 00179 offset += sizeof(this->gravity_mode); 00180 union { 00181 double real; 00182 uint64_t base; 00183 } u_mass; 00184 u_mass.base = 0; 00185 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00186 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00187 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00188 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00189 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00190 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00191 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00192 u_mass.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00193 this->mass = u_mass.real; 00194 offset += sizeof(this->mass); 00195 union { 00196 double real; 00197 uint64_t base; 00198 } u_ixx; 00199 u_ixx.base = 0; 00200 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00201 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00202 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00203 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00204 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00205 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00206 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00207 u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00208 this->ixx = u_ixx.real; 00209 offset += sizeof(this->ixx); 00210 union { 00211 double real; 00212 uint64_t base; 00213 } u_ixy; 00214 u_ixy.base = 0; 00215 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00216 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00217 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00218 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00219 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00220 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00221 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00222 u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00223 this->ixy = u_ixy.real; 00224 offset += sizeof(this->ixy); 00225 union { 00226 double real; 00227 uint64_t base; 00228 } u_ixz; 00229 u_ixz.base = 0; 00230 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00231 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00232 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00233 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00234 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00235 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00236 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00237 u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00238 this->ixz = u_ixz.real; 00239 offset += sizeof(this->ixz); 00240 union { 00241 double real; 00242 uint64_t base; 00243 } u_iyy; 00244 u_iyy.base = 0; 00245 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00246 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00247 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00248 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00249 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00250 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00251 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00252 u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00253 this->iyy = u_iyy.real; 00254 offset += sizeof(this->iyy); 00255 union { 00256 double real; 00257 uint64_t base; 00258 } u_iyz; 00259 u_iyz.base = 0; 00260 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00261 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00262 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00263 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00264 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00265 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00266 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00267 u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00268 this->iyz = u_iyz.real; 00269 offset += sizeof(this->iyz); 00270 union { 00271 double real; 00272 uint64_t base; 00273 } u_izz; 00274 u_izz.base = 0; 00275 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00276 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00277 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00278 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00279 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00280 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00281 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00282 u_izz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00283 this->izz = u_izz.real; 00284 offset += sizeof(this->izz); 00285 return offset; 00286 } 00287 00288 const char * getType(){ return SETLINKPROPERTIES; }; 00289 const char * getMD5(){ return "68ac74a4be01b165bc305b5ccdc45e91"; }; 00290 00291 }; 00292 00293 class SetLinkPropertiesResponse : public ros::Msg 00294 { 00295 public: 00296 bool success; 00297 const char* status_message; 00298 00299 SetLinkPropertiesResponse(): 00300 success(0), 00301 status_message("") 00302 { 00303 } 00304 00305 virtual int serialize(unsigned char *outbuffer) const 00306 { 00307 int offset = 0; 00308 union { 00309 bool real; 00310 uint8_t base; 00311 } u_success; 00312 u_success.real = this->success; 00313 *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; 00314 offset += sizeof(this->success); 00315 uint32_t length_status_message = strlen(this->status_message); 00316 memcpy(outbuffer + offset, &length_status_message, sizeof(uint32_t)); 00317 offset += 4; 00318 memcpy(outbuffer + offset, this->status_message, length_status_message); 00319 offset += length_status_message; 00320 return offset; 00321 } 00322 00323 virtual int deserialize(unsigned char *inbuffer) 00324 { 00325 int offset = 0; 00326 union { 00327 bool real; 00328 uint8_t base; 00329 } u_success; 00330 u_success.base = 0; 00331 u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); 00332 this->success = u_success.real; 00333 offset += sizeof(this->success); 00334 uint32_t length_status_message; 00335 memcpy(&length_status_message, (inbuffer + offset), sizeof(uint32_t)); 00336 offset += 4; 00337 for(unsigned int k= offset; k< offset+length_status_message; ++k){ 00338 inbuffer[k-1]=inbuffer[k]; 00339 } 00340 inbuffer[offset+length_status_message-1]=0; 00341 this->status_message = (char *)(inbuffer + offset-1); 00342 offset += length_status_message; 00343 return offset; 00344 } 00345 00346 const char * getType(){ return SETLINKPROPERTIES; }; 00347 const char * getMD5(){ return "2ec6f3eff0161f4257b808b12bc830c2"; }; 00348 00349 }; 00350 00351 class SetLinkProperties { 00352 public: 00353 typedef SetLinkPropertiesRequest Request; 00354 typedef SetLinkPropertiesResponse Response; 00355 }; 00356 00357 } 00358 #endif
Generated on Tue Jul 12 2022 18:39:40 by 1.7.2