Personal fork
Fork of rosserial_mbed_lib by
Embed:
(wiki syntax)
Show/hide line numbers
Int64.h
00001 #ifndef _ROS_std_msgs_Int64_h 00002 #define _ROS_std_msgs_Int64_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 00009 namespace std_msgs { 00010 00011 class Int64 : public ros::Msg { 00012 public: 00013 int64_t data; 00014 00015 virtual int serialize(unsigned char *outbuffer) const { 00016 int offset = 0; 00017 union { 00018 int64_t real; 00019 uint64_t base; 00020 } u_data; 00021 u_data.real = this->data; 00022 *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; 00023 *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; 00024 *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; 00025 *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; 00026 *(outbuffer + offset + 4) = (u_data.base >> (8 * 4)) & 0xFF; 00027 *(outbuffer + offset + 5) = (u_data.base >> (8 * 5)) & 0xFF; 00028 *(outbuffer + offset + 6) = (u_data.base >> (8 * 6)) & 0xFF; 00029 *(outbuffer + offset + 7) = (u_data.base >> (8 * 7)) & 0xFF; 00030 00031 offset += sizeof(this->data); 00032 return offset; 00033 } 00034 00035 virtual int deserialize(unsigned char *inbuffer) { 00036 int offset = 0; 00037 union { 00038 int64_t real; 00039 uint64_t base; 00040 } u_data; 00041 u_data.base = 0; 00042 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 0))) << (8 * 0); 00043 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 1))) << (8 * 1); 00044 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 2))) << (8 * 2); 00045 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 3))) << (8 * 3); 00046 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 4))) << (8 * 4); 00047 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 5))) << (8 * 5); 00048 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 6))) << (8 * 6); 00049 u_data.base |= ((typeof(u_data.base)) (*(inbuffer + offset + 7))) << (8 * 7); 00050 00051 this->data = u_data.real; 00052 offset += sizeof(this->data); 00053 return offset; 00054 } 00055 00056 virtual const char * getType() { 00057 return "std_msgs/Int64"; 00058 }; 00059 virtual const char * getMD5() { 00060 return "34add168574510e6e17f5d23ecc077ef"; 00061 }; 00062 00063 }; 00064 00065 } 00066 #endif
Generated on Tue Jul 12 2022 19:53:57 by 1.7.2