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.
Fork of rosserial_mbed_lib by
Int64MultiArray.h
00001 #ifndef _ROS_std_msgs_Int64MultiArray_h 00002 #define _ROS_std_msgs_Int64MultiArray_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 class Int64MultiArray : public ros::Msg { 00013 public: 00014 std_msgs::MultiArrayLayout layout; 00015 unsigned char data_length; 00016 int64_t st_data; 00017 int64_t * data; 00018 00019 virtual int serialize(unsigned char *outbuffer) const { 00020 int offset = 0; 00021 offset += this->layout.serialize(outbuffer + offset); 00022 *(outbuffer + offset++) = data_length; 00023 *(outbuffer + offset++) = 0; 00024 *(outbuffer + offset++) = 0; 00025 *(outbuffer + offset++) = 0; 00026 for ( unsigned char i = 0; i < data_length; i++) { 00027 union { 00028 int64_t real; 00029 uint64_t base; 00030 } u_datai; 00031 u_datai.real = this->data[i]; 00032 *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; 00033 *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; 00034 *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; 00035 *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; 00036 *(outbuffer + offset + 4) = (u_datai.base >> (8 * 4)) & 0xFF; 00037 *(outbuffer + offset + 5) = (u_datai.base >> (8 * 5)) & 0xFF; 00038 *(outbuffer + offset + 6) = (u_datai.base >> (8 * 6)) & 0xFF; 00039 *(outbuffer + offset + 7) = (u_datai.base >> (8 * 7)) & 0xFF; 00040 offset += sizeof(this->data[i]); 00041 } 00042 return offset; 00043 } 00044 00045 virtual int deserialize(unsigned char *inbuffer) { 00046 int offset = 0; 00047 offset += this->layout.deserialize(inbuffer + offset); 00048 unsigned char data_lengthT = *(inbuffer + offset++); 00049 if (data_lengthT > data_length) 00050 this->data = (int64_t*)realloc(this->data, data_lengthT * sizeof(int64_t)); 00051 offset += 3; 00052 data_length = data_lengthT; 00053 for ( unsigned char i = 0; i < data_length; i++) { 00054 union { 00055 int64_t real; 00056 uint64_t base; 00057 } u_st_data; 00058 u_st_data.base = 0; 00059 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 0))) << (8 * 0); 00060 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 1))) << (8 * 1); 00061 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 2))) << (8 * 2); 00062 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 3))) << (8 * 3); 00063 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 4))) << (8 * 4); 00064 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 5))) << (8 * 5); 00065 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 6))) << (8 * 6); 00066 u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 7))) << (8 * 7); 00067 this->st_data = u_st_data.real; 00068 offset += sizeof(this->st_data); 00069 memcpy( &(this->data[i]), &(this->st_data), sizeof(int64_t)); 00070 } 00071 return offset; 00072 } 00073 00074 virtual const char * getType() { 00075 return "std_msgs/Int64MultiArray"; 00076 }; 00077 virtual const char * getMD5() { 00078 return "54865aa6c65be0448113a2afc6a49270"; 00079 }; 00080 00081 }; 00082 00083 } 00084 #endif
Generated on Tue Jul 12 2022 19:53:57 by
1.7.2
