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.
ByteMultiArray.h
00001 #ifndef _ROS_std_msgs_ByteMultiArray_h 00002 #define _ROS_std_msgs_ByteMultiArray_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 ByteMultiArray : public ros::Msg 00014 { 00015 public: 00016 typedef std_msgs::MultiArrayLayout _layout_type; 00017 _layout_type layout; 00018 uint32_t data_length; 00019 typedef int8_t _data_type; 00020 _data_type st_data; 00021 _data_type * data; 00022 00023 ByteMultiArray(): 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 union { 00040 int8_t real; 00041 uint8_t base; 00042 } u_datai; 00043 u_datai.real = this->data[i]; 00044 *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; 00045 offset += sizeof(this->data[i]); 00046 } 00047 return offset; 00048 } 00049 00050 virtual int deserialize(unsigned char *inbuffer) 00051 { 00052 int offset = 0; 00053 offset += this->layout.deserialize(inbuffer + offset); 00054 uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); 00055 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00056 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00057 data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00058 offset += sizeof(this->data_length); 00059 if(data_lengthT > data_length) 00060 this->data = (int8_t*)realloc(this->data, data_lengthT * sizeof(int8_t)); 00061 data_length = data_lengthT; 00062 for( uint32_t i = 0; i < data_length; i++){ 00063 union { 00064 int8_t real; 00065 uint8_t base; 00066 } u_st_data; 00067 u_st_data.base = 0; 00068 u_st_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); 00069 this->st_data = u_st_data.real; 00070 offset += sizeof(this->st_data); 00071 memcpy( &(this->data[i]), &(this->st_data), sizeof(int8_t)); 00072 } 00073 return offset; 00074 } 00075 00076 const char * getType(){ return "std_msgs/ByteMultiArray"; }; 00077 const char * getMD5(){ return "70ea476cbcfd65ac2f68f3cda1e891fe"; }; 00078 00079 }; 00080 00081 } 00082 #endif
Generated on Wed Jul 13 2022 23:30:17 by
