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
Vertices.h
00001 #ifndef _ROS_pcl_msgs_Vertices_h 00002 #define _ROS_pcl_msgs_Vertices_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 00009 namespace pcl_msgs 00010 { 00011 00012 class Vertices : public ros::Msg 00013 { 00014 public: 00015 uint8_t vertices_length; 00016 uint32_t st_vertices; 00017 uint32_t * vertices; 00018 00019 Vertices(): 00020 vertices_length(0), vertices(NULL) 00021 { 00022 } 00023 00024 virtual int serialize(unsigned char *outbuffer) const 00025 { 00026 int offset = 0; 00027 *(outbuffer + offset++) = vertices_length; 00028 *(outbuffer + offset++) = 0; 00029 *(outbuffer + offset++) = 0; 00030 *(outbuffer + offset++) = 0; 00031 for( uint8_t i = 0; i < vertices_length; i++){ 00032 *(outbuffer + offset + 0) = (this->vertices[i] >> (8 * 0)) & 0xFF; 00033 *(outbuffer + offset + 1) = (this->vertices[i] >> (8 * 1)) & 0xFF; 00034 *(outbuffer + offset + 2) = (this->vertices[i] >> (8 * 2)) & 0xFF; 00035 *(outbuffer + offset + 3) = (this->vertices[i] >> (8 * 3)) & 0xFF; 00036 offset += sizeof(this->vertices[i]); 00037 } 00038 return offset; 00039 } 00040 00041 virtual int deserialize(unsigned char *inbuffer) 00042 { 00043 int offset = 0; 00044 uint8_t vertices_lengthT = *(inbuffer + offset++); 00045 if(vertices_lengthT > vertices_length) 00046 this->vertices = (uint32_t*)realloc(this->vertices, vertices_lengthT * sizeof(uint32_t)); 00047 offset += 3; 00048 vertices_length = vertices_lengthT; 00049 for( uint8_t i = 0; i < vertices_length; i++){ 00050 this->st_vertices = ((uint32_t) (*(inbuffer + offset))); 00051 this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00052 this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00053 this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00054 offset += sizeof(this->st_vertices); 00055 memcpy( &(this->vertices[i]), &(this->st_vertices), sizeof(uint32_t)); 00056 } 00057 return offset; 00058 } 00059 00060 const char * getType(){ return "pcl_msgs/Vertices"; }; 00061 const char * getMD5(){ return "39bd7b1c23763ddd1b882b97cb7cfe11"; }; 00062 00063 }; 00064 00065 } 00066 #endif
Generated on Tue Jul 12 2022 18:39:41 by 1.7.2