rosserial library for mbed Inspired by nucho's rosserial library This library is still under development

Dependencies:   MODSERIAL mbed

Dependents:   mbed_roshydro_test

Library still under development!

Committer:
akashvibhute
Date:
Sun Feb 15 10:53:43 2015 +0000
Revision:
0:30537dec6e0b
First commit; Library still need to be debugged, compilation issues with new mbed and modserial updates.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akashvibhute 0:30537dec6e0b 1 #ifndef _ROS_sensor_msgs_LaserScan_h
akashvibhute 0:30537dec6e0b 2 #define _ROS_sensor_msgs_LaserScan_h
akashvibhute 0:30537dec6e0b 3
akashvibhute 0:30537dec6e0b 4 #include <stdint.h>
akashvibhute 0:30537dec6e0b 5 #include <string.h>
akashvibhute 0:30537dec6e0b 6 #include <stdlib.h>
akashvibhute 0:30537dec6e0b 7 #include "ros/msg.h"
akashvibhute 0:30537dec6e0b 8 #include "std_msgs/Header.h"
akashvibhute 0:30537dec6e0b 9
akashvibhute 0:30537dec6e0b 10 namespace sensor_msgs
akashvibhute 0:30537dec6e0b 11 {
akashvibhute 0:30537dec6e0b 12
akashvibhute 0:30537dec6e0b 13 class LaserScan : public ros::Msg
akashvibhute 0:30537dec6e0b 14 {
akashvibhute 0:30537dec6e0b 15 public:
akashvibhute 0:30537dec6e0b 16 std_msgs::Header header;
akashvibhute 0:30537dec6e0b 17 float angle_min;
akashvibhute 0:30537dec6e0b 18 float angle_max;
akashvibhute 0:30537dec6e0b 19 float angle_increment;
akashvibhute 0:30537dec6e0b 20 float time_increment;
akashvibhute 0:30537dec6e0b 21 float scan_time;
akashvibhute 0:30537dec6e0b 22 float range_min;
akashvibhute 0:30537dec6e0b 23 float range_max;
akashvibhute 0:30537dec6e0b 24 uint8_t ranges_length;
akashvibhute 0:30537dec6e0b 25 float st_ranges;
akashvibhute 0:30537dec6e0b 26 float * ranges;
akashvibhute 0:30537dec6e0b 27 uint8_t intensities_length;
akashvibhute 0:30537dec6e0b 28 float st_intensities;
akashvibhute 0:30537dec6e0b 29 float * intensities;
akashvibhute 0:30537dec6e0b 30
akashvibhute 0:30537dec6e0b 31 virtual int serialize(unsigned char *outbuffer) const
akashvibhute 0:30537dec6e0b 32 {
akashvibhute 0:30537dec6e0b 33 int offset = 0;
akashvibhute 0:30537dec6e0b 34 offset += this->header.serialize(outbuffer + offset);
akashvibhute 0:30537dec6e0b 35 union {
akashvibhute 0:30537dec6e0b 36 float real;
akashvibhute 0:30537dec6e0b 37 uint32_t base;
akashvibhute 0:30537dec6e0b 38 } u_angle_min;
akashvibhute 0:30537dec6e0b 39 u_angle_min.real = this->angle_min;
akashvibhute 0:30537dec6e0b 40 *(outbuffer + offset + 0) = (u_angle_min.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 41 *(outbuffer + offset + 1) = (u_angle_min.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 42 *(outbuffer + offset + 2) = (u_angle_min.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 43 *(outbuffer + offset + 3) = (u_angle_min.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 44 offset += sizeof(this->angle_min);
akashvibhute 0:30537dec6e0b 45 union {
akashvibhute 0:30537dec6e0b 46 float real;
akashvibhute 0:30537dec6e0b 47 uint32_t base;
akashvibhute 0:30537dec6e0b 48 } u_angle_max;
akashvibhute 0:30537dec6e0b 49 u_angle_max.real = this->angle_max;
akashvibhute 0:30537dec6e0b 50 *(outbuffer + offset + 0) = (u_angle_max.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 51 *(outbuffer + offset + 1) = (u_angle_max.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 52 *(outbuffer + offset + 2) = (u_angle_max.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 53 *(outbuffer + offset + 3) = (u_angle_max.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 54 offset += sizeof(this->angle_max);
akashvibhute 0:30537dec6e0b 55 union {
akashvibhute 0:30537dec6e0b 56 float real;
akashvibhute 0:30537dec6e0b 57 uint32_t base;
akashvibhute 0:30537dec6e0b 58 } u_angle_increment;
akashvibhute 0:30537dec6e0b 59 u_angle_increment.real = this->angle_increment;
akashvibhute 0:30537dec6e0b 60 *(outbuffer + offset + 0) = (u_angle_increment.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 61 *(outbuffer + offset + 1) = (u_angle_increment.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 62 *(outbuffer + offset + 2) = (u_angle_increment.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 63 *(outbuffer + offset + 3) = (u_angle_increment.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 64 offset += sizeof(this->angle_increment);
akashvibhute 0:30537dec6e0b 65 union {
akashvibhute 0:30537dec6e0b 66 float real;
akashvibhute 0:30537dec6e0b 67 uint32_t base;
akashvibhute 0:30537dec6e0b 68 } u_time_increment;
akashvibhute 0:30537dec6e0b 69 u_time_increment.real = this->time_increment;
akashvibhute 0:30537dec6e0b 70 *(outbuffer + offset + 0) = (u_time_increment.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 71 *(outbuffer + offset + 1) = (u_time_increment.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 72 *(outbuffer + offset + 2) = (u_time_increment.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 73 *(outbuffer + offset + 3) = (u_time_increment.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 74 offset += sizeof(this->time_increment);
akashvibhute 0:30537dec6e0b 75 union {
akashvibhute 0:30537dec6e0b 76 float real;
akashvibhute 0:30537dec6e0b 77 uint32_t base;
akashvibhute 0:30537dec6e0b 78 } u_scan_time;
akashvibhute 0:30537dec6e0b 79 u_scan_time.real = this->scan_time;
akashvibhute 0:30537dec6e0b 80 *(outbuffer + offset + 0) = (u_scan_time.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 81 *(outbuffer + offset + 1) = (u_scan_time.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 82 *(outbuffer + offset + 2) = (u_scan_time.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 83 *(outbuffer + offset + 3) = (u_scan_time.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 84 offset += sizeof(this->scan_time);
akashvibhute 0:30537dec6e0b 85 union {
akashvibhute 0:30537dec6e0b 86 float real;
akashvibhute 0:30537dec6e0b 87 uint32_t base;
akashvibhute 0:30537dec6e0b 88 } u_range_min;
akashvibhute 0:30537dec6e0b 89 u_range_min.real = this->range_min;
akashvibhute 0:30537dec6e0b 90 *(outbuffer + offset + 0) = (u_range_min.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 91 *(outbuffer + offset + 1) = (u_range_min.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 92 *(outbuffer + offset + 2) = (u_range_min.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 93 *(outbuffer + offset + 3) = (u_range_min.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 94 offset += sizeof(this->range_min);
akashvibhute 0:30537dec6e0b 95 union {
akashvibhute 0:30537dec6e0b 96 float real;
akashvibhute 0:30537dec6e0b 97 uint32_t base;
akashvibhute 0:30537dec6e0b 98 } u_range_max;
akashvibhute 0:30537dec6e0b 99 u_range_max.real = this->range_max;
akashvibhute 0:30537dec6e0b 100 *(outbuffer + offset + 0) = (u_range_max.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 101 *(outbuffer + offset + 1) = (u_range_max.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 102 *(outbuffer + offset + 2) = (u_range_max.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 103 *(outbuffer + offset + 3) = (u_range_max.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 104 offset += sizeof(this->range_max);
akashvibhute 0:30537dec6e0b 105 *(outbuffer + offset++) = ranges_length;
akashvibhute 0:30537dec6e0b 106 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 107 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 108 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 109 for( uint8_t i = 0; i < ranges_length; i++){
akashvibhute 0:30537dec6e0b 110 union {
akashvibhute 0:30537dec6e0b 111 float real;
akashvibhute 0:30537dec6e0b 112 uint32_t base;
akashvibhute 0:30537dec6e0b 113 } u_rangesi;
akashvibhute 0:30537dec6e0b 114 u_rangesi.real = this->ranges[i];
akashvibhute 0:30537dec6e0b 115 *(outbuffer + offset + 0) = (u_rangesi.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 116 *(outbuffer + offset + 1) = (u_rangesi.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 117 *(outbuffer + offset + 2) = (u_rangesi.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 118 *(outbuffer + offset + 3) = (u_rangesi.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 119 offset += sizeof(this->ranges[i]);
akashvibhute 0:30537dec6e0b 120 }
akashvibhute 0:30537dec6e0b 121 *(outbuffer + offset++) = intensities_length;
akashvibhute 0:30537dec6e0b 122 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 123 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 124 *(outbuffer + offset++) = 0;
akashvibhute 0:30537dec6e0b 125 for( uint8_t i = 0; i < intensities_length; i++){
akashvibhute 0:30537dec6e0b 126 union {
akashvibhute 0:30537dec6e0b 127 float real;
akashvibhute 0:30537dec6e0b 128 uint32_t base;
akashvibhute 0:30537dec6e0b 129 } u_intensitiesi;
akashvibhute 0:30537dec6e0b 130 u_intensitiesi.real = this->intensities[i];
akashvibhute 0:30537dec6e0b 131 *(outbuffer + offset + 0) = (u_intensitiesi.base >> (8 * 0)) & 0xFF;
akashvibhute 0:30537dec6e0b 132 *(outbuffer + offset + 1) = (u_intensitiesi.base >> (8 * 1)) & 0xFF;
akashvibhute 0:30537dec6e0b 133 *(outbuffer + offset + 2) = (u_intensitiesi.base >> (8 * 2)) & 0xFF;
akashvibhute 0:30537dec6e0b 134 *(outbuffer + offset + 3) = (u_intensitiesi.base >> (8 * 3)) & 0xFF;
akashvibhute 0:30537dec6e0b 135 offset += sizeof(this->intensities[i]);
akashvibhute 0:30537dec6e0b 136 }
akashvibhute 0:30537dec6e0b 137 return offset;
akashvibhute 0:30537dec6e0b 138 }
akashvibhute 0:30537dec6e0b 139
akashvibhute 0:30537dec6e0b 140 virtual int deserialize(unsigned char *inbuffer)
akashvibhute 0:30537dec6e0b 141 {
akashvibhute 0:30537dec6e0b 142 int offset = 0;
akashvibhute 0:30537dec6e0b 143 offset += this->header.deserialize(inbuffer + offset);
akashvibhute 0:30537dec6e0b 144 union {
akashvibhute 0:30537dec6e0b 145 float real;
akashvibhute 0:30537dec6e0b 146 uint32_t base;
akashvibhute 0:30537dec6e0b 147 } u_angle_min;
akashvibhute 0:30537dec6e0b 148 u_angle_min.base = 0;
akashvibhute 0:30537dec6e0b 149 u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 150 u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 151 u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 152 u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 153 this->angle_min = u_angle_min.real;
akashvibhute 0:30537dec6e0b 154 offset += sizeof(this->angle_min);
akashvibhute 0:30537dec6e0b 155 union {
akashvibhute 0:30537dec6e0b 156 float real;
akashvibhute 0:30537dec6e0b 157 uint32_t base;
akashvibhute 0:30537dec6e0b 158 } u_angle_max;
akashvibhute 0:30537dec6e0b 159 u_angle_max.base = 0;
akashvibhute 0:30537dec6e0b 160 u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 161 u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 162 u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 163 u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 164 this->angle_max = u_angle_max.real;
akashvibhute 0:30537dec6e0b 165 offset += sizeof(this->angle_max);
akashvibhute 0:30537dec6e0b 166 union {
akashvibhute 0:30537dec6e0b 167 float real;
akashvibhute 0:30537dec6e0b 168 uint32_t base;
akashvibhute 0:30537dec6e0b 169 } u_angle_increment;
akashvibhute 0:30537dec6e0b 170 u_angle_increment.base = 0;
akashvibhute 0:30537dec6e0b 171 u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 172 u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 173 u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 174 u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 175 this->angle_increment = u_angle_increment.real;
akashvibhute 0:30537dec6e0b 176 offset += sizeof(this->angle_increment);
akashvibhute 0:30537dec6e0b 177 union {
akashvibhute 0:30537dec6e0b 178 float real;
akashvibhute 0:30537dec6e0b 179 uint32_t base;
akashvibhute 0:30537dec6e0b 180 } u_time_increment;
akashvibhute 0:30537dec6e0b 181 u_time_increment.base = 0;
akashvibhute 0:30537dec6e0b 182 u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 183 u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 184 u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 185 u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 186 this->time_increment = u_time_increment.real;
akashvibhute 0:30537dec6e0b 187 offset += sizeof(this->time_increment);
akashvibhute 0:30537dec6e0b 188 union {
akashvibhute 0:30537dec6e0b 189 float real;
akashvibhute 0:30537dec6e0b 190 uint32_t base;
akashvibhute 0:30537dec6e0b 191 } u_scan_time;
akashvibhute 0:30537dec6e0b 192 u_scan_time.base = 0;
akashvibhute 0:30537dec6e0b 193 u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 194 u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 195 u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 196 u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 197 this->scan_time = u_scan_time.real;
akashvibhute 0:30537dec6e0b 198 offset += sizeof(this->scan_time);
akashvibhute 0:30537dec6e0b 199 union {
akashvibhute 0:30537dec6e0b 200 float real;
akashvibhute 0:30537dec6e0b 201 uint32_t base;
akashvibhute 0:30537dec6e0b 202 } u_range_min;
akashvibhute 0:30537dec6e0b 203 u_range_min.base = 0;
akashvibhute 0:30537dec6e0b 204 u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 205 u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 206 u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 207 u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 208 this->range_min = u_range_min.real;
akashvibhute 0:30537dec6e0b 209 offset += sizeof(this->range_min);
akashvibhute 0:30537dec6e0b 210 union {
akashvibhute 0:30537dec6e0b 211 float real;
akashvibhute 0:30537dec6e0b 212 uint32_t base;
akashvibhute 0:30537dec6e0b 213 } u_range_max;
akashvibhute 0:30537dec6e0b 214 u_range_max.base = 0;
akashvibhute 0:30537dec6e0b 215 u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 216 u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 217 u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 218 u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 219 this->range_max = u_range_max.real;
akashvibhute 0:30537dec6e0b 220 offset += sizeof(this->range_max);
akashvibhute 0:30537dec6e0b 221 uint8_t ranges_lengthT = *(inbuffer + offset++);
akashvibhute 0:30537dec6e0b 222 if(ranges_lengthT > ranges_length)
akashvibhute 0:30537dec6e0b 223 this->ranges = (float*)realloc(this->ranges, ranges_lengthT * sizeof(float));
akashvibhute 0:30537dec6e0b 224 offset += 3;
akashvibhute 0:30537dec6e0b 225 ranges_length = ranges_lengthT;
akashvibhute 0:30537dec6e0b 226 for( uint8_t i = 0; i < ranges_length; i++){
akashvibhute 0:30537dec6e0b 227 union {
akashvibhute 0:30537dec6e0b 228 float real;
akashvibhute 0:30537dec6e0b 229 uint32_t base;
akashvibhute 0:30537dec6e0b 230 } u_st_ranges;
akashvibhute 0:30537dec6e0b 231 u_st_ranges.base = 0;
akashvibhute 0:30537dec6e0b 232 u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 233 u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 234 u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 235 u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 236 this->st_ranges = u_st_ranges.real;
akashvibhute 0:30537dec6e0b 237 offset += sizeof(this->st_ranges);
akashvibhute 0:30537dec6e0b 238 memcpy( &(this->ranges[i]), &(this->st_ranges), sizeof(float));
akashvibhute 0:30537dec6e0b 239 }
akashvibhute 0:30537dec6e0b 240 uint8_t intensities_lengthT = *(inbuffer + offset++);
akashvibhute 0:30537dec6e0b 241 if(intensities_lengthT > intensities_length)
akashvibhute 0:30537dec6e0b 242 this->intensities = (float*)realloc(this->intensities, intensities_lengthT * sizeof(float));
akashvibhute 0:30537dec6e0b 243 offset += 3;
akashvibhute 0:30537dec6e0b 244 intensities_length = intensities_lengthT;
akashvibhute 0:30537dec6e0b 245 for( uint8_t i = 0; i < intensities_length; i++){
akashvibhute 0:30537dec6e0b 246 union {
akashvibhute 0:30537dec6e0b 247 float real;
akashvibhute 0:30537dec6e0b 248 uint32_t base;
akashvibhute 0:30537dec6e0b 249 } u_st_intensities;
akashvibhute 0:30537dec6e0b 250 u_st_intensities.base = 0;
akashvibhute 0:30537dec6e0b 251 u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
akashvibhute 0:30537dec6e0b 252 u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
akashvibhute 0:30537dec6e0b 253 u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
akashvibhute 0:30537dec6e0b 254 u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
akashvibhute 0:30537dec6e0b 255 this->st_intensities = u_st_intensities.real;
akashvibhute 0:30537dec6e0b 256 offset += sizeof(this->st_intensities);
akashvibhute 0:30537dec6e0b 257 memcpy( &(this->intensities[i]), &(this->st_intensities), sizeof(float));
akashvibhute 0:30537dec6e0b 258 }
akashvibhute 0:30537dec6e0b 259 return offset;
akashvibhute 0:30537dec6e0b 260 }
akashvibhute 0:30537dec6e0b 261
akashvibhute 0:30537dec6e0b 262 virtual const char * getType(){ return "sensor_msgs/LaserScan"; };
akashvibhute 0:30537dec6e0b 263 virtual const char * getMD5(){ return "90c7ef2dc6895d81024acba2ac42f369"; };
akashvibhute 0:30537dec6e0b 264
akashvibhute 0:30537dec6e0b 265 };
akashvibhute 0:30537dec6e0b 266
akashvibhute 0:30537dec6e0b 267 }
akashvibhute 0:30537dec6e0b 268 #endif