Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
UInt16MultiArray.h
00001 #ifndef _ROS_std_msgs_UInt16MultiArray_h 00002 #define _ROS_std_msgs_UInt16MultiArray_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 #include "std_msgs/MultiArrayLayout.h" 00009 00010 namespace std_msgs 00011 { 00012 00013 class UInt16MultiArray : public ros::Msg 00014 { 00015 public: 00016 typedef std_msgs::MultiArrayLayout _layout_type; 00017 _layout_type layout; 00018 uint32_t data_length; 00019 typedef uint16_t _data_type; 00020 _data_type st_data; 00021 _data_type * data; 00022 00023 UInt16MultiArray(): 00024 layout(), 00025 data_length(0), data(NULL) 00026 { 00027 } 00028 00029 virtual int serialize(unsigned char *outbuffer) const 00030 { 00031 int offset = 0; 00032 offset += this->layout.serialize(outbuffer + offset); 00033 *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; 00034 *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; 00035 *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; 00036 *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; 00037 offset += sizeof(this->data_length); 00038 for( uint32_t i = 0; i < data_length; i++){ 00039 *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; 00040 *(outbuffer + offset + 1) = (this->data[i] >> (8 * 1)) & 0xFF; 00041 offset += sizeof(this->data[i]); 00042 } 00043 return offset; 00044 } 00045 00046 virtual int deserialize(unsigned char *inbuffer) 00047 { 00048 int offset = 0; 00049 offset += this->layout.deserialize(inbuffer + offset); 00050 uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); 00051 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00052 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00053 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00054 offset += sizeof(this->data_length); 00055 if(data_lengthT > data_length) 00056 this->data = (uint16_t*)realloc(this->data, data_lengthT * sizeof(uint16_t)); 00057 data_length = data_lengthT; 00058 for( uint32_t i = 0; i < data_length; i++){ 00059 this->st_data = ((uint16_t) (*(inbuffer + offset))); 00060 this->st_data |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); 00061 offset += sizeof(this->st_data); 00062 memcpy( &(this->data[i]), &(this->st_data), sizeof(uint16_t)); 00063 } 00064 return offset; 00065 } 00066 00067 const char * getType(){ return "std_msgs/UInt16MultiArray"; }; 00068 const char * getMD5(){ return "52f264f1c973c4b73790d384c6cb4484"; }; 00069 00070 }; 00071 00072 } 00073 #endif
Generated on Wed Jul 13 2022 23:30:19 by
