ROS Serial library for Mbed platforms for ROS Indigo Igloo. Check http://wiki.ros.org/rosserial_mbed/ for more information
Dependents: rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more
DisparityImage.h
00001 #ifndef _ROS_stereo_msgs_DisparityImage_h 00002 #define _ROS_stereo_msgs_DisparityImage_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 #include "std_msgs/Header.h" 00009 #include "sensor_msgs/Image.h" 00010 #include "sensor_msgs/RegionOfInterest.h" 00011 00012 namespace stereo_msgs 00013 { 00014 00015 class DisparityImage : public ros::Msg 00016 { 00017 public: 00018 std_msgs::Header header; 00019 sensor_msgs::Image image; 00020 float f; 00021 float T; 00022 sensor_msgs::RegionOfInterest valid_window; 00023 float min_disparity; 00024 float max_disparity; 00025 float delta_d; 00026 00027 DisparityImage(): 00028 header(), 00029 image(), 00030 f(0), 00031 T(0), 00032 valid_window(), 00033 min_disparity(0), 00034 max_disparity(0), 00035 delta_d(0) 00036 { 00037 } 00038 00039 virtual int serialize(unsigned char *outbuffer) const 00040 { 00041 int offset = 0; 00042 offset += this->header.serialize(outbuffer + offset); 00043 offset += this->image.serialize(outbuffer + offset); 00044 union { 00045 float real; 00046 uint32_t base; 00047 } u_f; 00048 u_f.real = this->f; 00049 *(outbuffer + offset + 0) = (u_f.base >> (8 * 0)) & 0xFF; 00050 *(outbuffer + offset + 1) = (u_f.base >> (8 * 1)) & 0xFF; 00051 *(outbuffer + offset + 2) = (u_f.base >> (8 * 2)) & 0xFF; 00052 *(outbuffer + offset + 3) = (u_f.base >> (8 * 3)) & 0xFF; 00053 offset += sizeof(this->f); 00054 union { 00055 float real; 00056 uint32_t base; 00057 } u_T; 00058 u_T.real = this->T; 00059 *(outbuffer + offset + 0) = (u_T.base >> (8 * 0)) & 0xFF; 00060 *(outbuffer + offset + 1) = (u_T.base >> (8 * 1)) & 0xFF; 00061 *(outbuffer + offset + 2) = (u_T.base >> (8 * 2)) & 0xFF; 00062 *(outbuffer + offset + 3) = (u_T.base >> (8 * 3)) & 0xFF; 00063 offset += sizeof(this->T); 00064 offset += this->valid_window.serialize(outbuffer + offset); 00065 union { 00066 float real; 00067 uint32_t base; 00068 } u_min_disparity; 00069 u_min_disparity.real = this->min_disparity; 00070 *(outbuffer + offset + 0) = (u_min_disparity.base >> (8 * 0)) & 0xFF; 00071 *(outbuffer + offset + 1) = (u_min_disparity.base >> (8 * 1)) & 0xFF; 00072 *(outbuffer + offset + 2) = (u_min_disparity.base >> (8 * 2)) & 0xFF; 00073 *(outbuffer + offset + 3) = (u_min_disparity.base >> (8 * 3)) & 0xFF; 00074 offset += sizeof(this->min_disparity); 00075 union { 00076 float real; 00077 uint32_t base; 00078 } u_max_disparity; 00079 u_max_disparity.real = this->max_disparity; 00080 *(outbuffer + offset + 0) = (u_max_disparity.base >> (8 * 0)) & 0xFF; 00081 *(outbuffer + offset + 1) = (u_max_disparity.base >> (8 * 1)) & 0xFF; 00082 *(outbuffer + offset + 2) = (u_max_disparity.base >> (8 * 2)) & 0xFF; 00083 *(outbuffer + offset + 3) = (u_max_disparity.base >> (8 * 3)) & 0xFF; 00084 offset += sizeof(this->max_disparity); 00085 union { 00086 float real; 00087 uint32_t base; 00088 } u_delta_d; 00089 u_delta_d.real = this->delta_d; 00090 *(outbuffer + offset + 0) = (u_delta_d.base >> (8 * 0)) & 0xFF; 00091 *(outbuffer + offset + 1) = (u_delta_d.base >> (8 * 1)) & 0xFF; 00092 *(outbuffer + offset + 2) = (u_delta_d.base >> (8 * 2)) & 0xFF; 00093 *(outbuffer + offset + 3) = (u_delta_d.base >> (8 * 3)) & 0xFF; 00094 offset += sizeof(this->delta_d); 00095 return offset; 00096 } 00097 00098 virtual int deserialize(unsigned char *inbuffer) 00099 { 00100 int offset = 0; 00101 offset += this->header.deserialize(inbuffer + offset); 00102 offset += this->image.deserialize(inbuffer + offset); 00103 union { 00104 float real; 00105 uint32_t base; 00106 } u_f; 00107 u_f.base = 0; 00108 u_f.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); 00109 u_f.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00110 u_f.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00111 u_f.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00112 this->f = u_f.real; 00113 offset += sizeof(this->f); 00114 union { 00115 float real; 00116 uint32_t base; 00117 } u_T; 00118 u_T.base = 0; 00119 u_T.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); 00120 u_T.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00121 u_T.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00122 u_T.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00123 this->T = u_T.real; 00124 offset += sizeof(this->T); 00125 offset += this->valid_window.deserialize(inbuffer + offset); 00126 union { 00127 float real; 00128 uint32_t base; 00129 } u_min_disparity; 00130 u_min_disparity.base = 0; 00131 u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); 00132 u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00133 u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00134 u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00135 this->min_disparity = u_min_disparity.real; 00136 offset += sizeof(this->min_disparity); 00137 union { 00138 float real; 00139 uint32_t base; 00140 } u_max_disparity; 00141 u_max_disparity.base = 0; 00142 u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); 00143 u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00144 u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00145 u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00146 this->max_disparity = u_max_disparity.real; 00147 offset += sizeof(this->max_disparity); 00148 union { 00149 float real; 00150 uint32_t base; 00151 } u_delta_d; 00152 u_delta_d.base = 0; 00153 u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); 00154 u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00155 u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00156 u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00157 this->delta_d = u_delta_d.real; 00158 offset += sizeof(this->delta_d); 00159 return offset; 00160 } 00161 00162 const char * getType(){ return "stereo_msgs/DisparityImage"; }; 00163 const char * getMD5(){ return "04a177815f75271039fa21f16acad8c9"; }; 00164 00165 }; 00166 00167 } 00168 #endif
Generated on Tue Jul 12 2022 18:39:39 by 1.7.2