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