It has only one change from original one. I added robotfeedback message on it.

Dependencies:   BufferedSerial

Dependents:   RobotFeedback mobileRobotITU

Fork of ros_lib_indigo by Gary Servin

Committer:
randalthor
Date:
Mon Jan 30 09:19:27 2017 +0000
Revision:
3:ee325a31eec4
Parent:
2:920c2ef78ddd
NewPinsGroundVehicle

Who changed what in which revision?

UserRevisionLine numberNew contents of line
randalthor 3:ee325a31eec4 1 #ifndef _ROS_beginner_tutorials_mobileRobot_h
randalthor 3:ee325a31eec4 2 #define _ROS_beginner_tutorials_mobileRobot_h
randalthor 3:ee325a31eec4 3
randalthor 3:ee325a31eec4 4 #include <stdint.h>
randalthor 3:ee325a31eec4 5 #include <string.h>
randalthor 3:ee325a31eec4 6 #include <stdlib.h>
randalthor 3:ee325a31eec4 7 #include "ros/msg.h"
randalthor 3:ee325a31eec4 8
randalthor 3:ee325a31eec4 9 namespace beginner_tutorials
randalthor 3:ee325a31eec4 10 {
randalthor 3:ee325a31eec4 11
randalthor 3:ee325a31eec4 12 class mobileRobot : public ros::Msg
randalthor 3:ee325a31eec4 13 {
randalthor 3:ee325a31eec4 14 public:
randalthor 3:ee325a31eec4 15 typedef float _cmd_velocity_linx_type;
randalthor 3:ee325a31eec4 16 _cmd_velocity_linx_type cmd_velocity_linx;
randalthor 3:ee325a31eec4 17 typedef float _cmd_velocity_angz_type;
randalthor 3:ee325a31eec4 18 _cmd_velocity_angz_type cmd_velocity_angz;
randalthor 3:ee325a31eec4 19 typedef float _real_velocity_linx_type;
randalthor 3:ee325a31eec4 20 _real_velocity_linx_type real_velocity_linx;
randalthor 3:ee325a31eec4 21 typedef float _real_velocity_angz_type;
randalthor 3:ee325a31eec4 22 _real_velocity_angz_type real_velocity_angz;
randalthor 3:ee325a31eec4 23 typedef float _pwm_1_type;
randalthor 3:ee325a31eec4 24 _pwm_1_type pwm_1;
randalthor 3:ee325a31eec4 25 typedef float _pwm_2_type;
randalthor 3:ee325a31eec4 26 _pwm_2_type pwm_2;
randalthor 3:ee325a31eec4 27 typedef float _dc_current_1_type;
randalthor 3:ee325a31eec4 28 _dc_current_1_type dc_current_1;
randalthor 3:ee325a31eec4 29 typedef float _dc_current_2_type;
randalthor 3:ee325a31eec4 30 _dc_current_2_type dc_current_2;
randalthor 3:ee325a31eec4 31 typedef int32_t _encoder_1_type;
randalthor 3:ee325a31eec4 32 _encoder_1_type encoder_1;
randalthor 3:ee325a31eec4 33 typedef int32_t _encoder_2_type;
randalthor 3:ee325a31eec4 34 _encoder_2_type encoder_2;
randalthor 3:ee325a31eec4 35
randalthor 3:ee325a31eec4 36 mobileRobot():
randalthor 3:ee325a31eec4 37 cmd_velocity_linx(0),
randalthor 3:ee325a31eec4 38 cmd_velocity_angz(0),
randalthor 3:ee325a31eec4 39 real_velocity_linx(0),
randalthor 3:ee325a31eec4 40 real_velocity_angz(0),
randalthor 3:ee325a31eec4 41 pwm_1(0),
randalthor 3:ee325a31eec4 42 pwm_2(0),
randalthor 3:ee325a31eec4 43 dc_current_1(0),
randalthor 3:ee325a31eec4 44 dc_current_2(0),
randalthor 3:ee325a31eec4 45 encoder_1(0),
randalthor 3:ee325a31eec4 46 encoder_2(0)
randalthor 3:ee325a31eec4 47 {
randalthor 3:ee325a31eec4 48 }
randalthor 3:ee325a31eec4 49
randalthor 3:ee325a31eec4 50 virtual int serialize(unsigned char *outbuffer) const
randalthor 3:ee325a31eec4 51 {
randalthor 3:ee325a31eec4 52 int offset = 0;
randalthor 3:ee325a31eec4 53 union {
randalthor 3:ee325a31eec4 54 float real;
randalthor 3:ee325a31eec4 55 uint32_t base;
randalthor 3:ee325a31eec4 56 } u_cmd_velocity_linx;
randalthor 3:ee325a31eec4 57 u_cmd_velocity_linx.real = this->cmd_velocity_linx;
randalthor 3:ee325a31eec4 58 *(outbuffer + offset + 0) = (u_cmd_velocity_linx.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 59 *(outbuffer + offset + 1) = (u_cmd_velocity_linx.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 60 *(outbuffer + offset + 2) = (u_cmd_velocity_linx.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 61 *(outbuffer + offset + 3) = (u_cmd_velocity_linx.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 62 offset += sizeof(this->cmd_velocity_linx);
randalthor 3:ee325a31eec4 63 union {
randalthor 3:ee325a31eec4 64 float real;
randalthor 3:ee325a31eec4 65 uint32_t base;
randalthor 3:ee325a31eec4 66 } u_cmd_velocity_angz;
randalthor 3:ee325a31eec4 67 u_cmd_velocity_angz.real = this->cmd_velocity_angz;
randalthor 3:ee325a31eec4 68 *(outbuffer + offset + 0) = (u_cmd_velocity_angz.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 69 *(outbuffer + offset + 1) = (u_cmd_velocity_angz.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 70 *(outbuffer + offset + 2) = (u_cmd_velocity_angz.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 71 *(outbuffer + offset + 3) = (u_cmd_velocity_angz.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 72 offset += sizeof(this->cmd_velocity_angz);
randalthor 3:ee325a31eec4 73 union {
randalthor 3:ee325a31eec4 74 float real;
randalthor 3:ee325a31eec4 75 uint32_t base;
randalthor 3:ee325a31eec4 76 } u_real_velocity_linx;
randalthor 3:ee325a31eec4 77 u_real_velocity_linx.real = this->real_velocity_linx;
randalthor 3:ee325a31eec4 78 *(outbuffer + offset + 0) = (u_real_velocity_linx.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 79 *(outbuffer + offset + 1) = (u_real_velocity_linx.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 80 *(outbuffer + offset + 2) = (u_real_velocity_linx.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 81 *(outbuffer + offset + 3) = (u_real_velocity_linx.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 82 offset += sizeof(this->real_velocity_linx);
randalthor 3:ee325a31eec4 83 union {
randalthor 3:ee325a31eec4 84 float real;
randalthor 3:ee325a31eec4 85 uint32_t base;
randalthor 3:ee325a31eec4 86 } u_real_velocity_angz;
randalthor 3:ee325a31eec4 87 u_real_velocity_angz.real = this->real_velocity_angz;
randalthor 3:ee325a31eec4 88 *(outbuffer + offset + 0) = (u_real_velocity_angz.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 89 *(outbuffer + offset + 1) = (u_real_velocity_angz.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 90 *(outbuffer + offset + 2) = (u_real_velocity_angz.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 91 *(outbuffer + offset + 3) = (u_real_velocity_angz.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 92 offset += sizeof(this->real_velocity_angz);
randalthor 3:ee325a31eec4 93 union {
randalthor 3:ee325a31eec4 94 float real;
randalthor 3:ee325a31eec4 95 uint32_t base;
randalthor 3:ee325a31eec4 96 } u_pwm_1;
randalthor 3:ee325a31eec4 97 u_pwm_1.real = this->pwm_1;
randalthor 3:ee325a31eec4 98 *(outbuffer + offset + 0) = (u_pwm_1.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 99 *(outbuffer + offset + 1) = (u_pwm_1.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 100 *(outbuffer + offset + 2) = (u_pwm_1.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 101 *(outbuffer + offset + 3) = (u_pwm_1.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 102 offset += sizeof(this->pwm_1);
randalthor 3:ee325a31eec4 103 union {
randalthor 3:ee325a31eec4 104 float real;
randalthor 3:ee325a31eec4 105 uint32_t base;
randalthor 3:ee325a31eec4 106 } u_pwm_2;
randalthor 3:ee325a31eec4 107 u_pwm_2.real = this->pwm_2;
randalthor 3:ee325a31eec4 108 *(outbuffer + offset + 0) = (u_pwm_2.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 109 *(outbuffer + offset + 1) = (u_pwm_2.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 110 *(outbuffer + offset + 2) = (u_pwm_2.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 111 *(outbuffer + offset + 3) = (u_pwm_2.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 112 offset += sizeof(this->pwm_2);
randalthor 3:ee325a31eec4 113 union {
randalthor 3:ee325a31eec4 114 float real;
randalthor 3:ee325a31eec4 115 uint32_t base;
randalthor 3:ee325a31eec4 116 } u_dc_current_1;
randalthor 3:ee325a31eec4 117 u_dc_current_1.real = this->dc_current_1;
randalthor 3:ee325a31eec4 118 *(outbuffer + offset + 0) = (u_dc_current_1.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 119 *(outbuffer + offset + 1) = (u_dc_current_1.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 120 *(outbuffer + offset + 2) = (u_dc_current_1.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 121 *(outbuffer + offset + 3) = (u_dc_current_1.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 122 offset += sizeof(this->dc_current_1);
randalthor 3:ee325a31eec4 123 union {
randalthor 3:ee325a31eec4 124 float real;
randalthor 3:ee325a31eec4 125 uint32_t base;
randalthor 3:ee325a31eec4 126 } u_dc_current_2;
randalthor 3:ee325a31eec4 127 u_dc_current_2.real = this->dc_current_2;
randalthor 3:ee325a31eec4 128 *(outbuffer + offset + 0) = (u_dc_current_2.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 129 *(outbuffer + offset + 1) = (u_dc_current_2.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 130 *(outbuffer + offset + 2) = (u_dc_current_2.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 131 *(outbuffer + offset + 3) = (u_dc_current_2.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 132 offset += sizeof(this->dc_current_2);
randalthor 3:ee325a31eec4 133 union {
randalthor 3:ee325a31eec4 134 int32_t real;
randalthor 3:ee325a31eec4 135 uint32_t base;
randalthor 3:ee325a31eec4 136 } u_encoder_1;
randalthor 3:ee325a31eec4 137 u_encoder_1.real = this->encoder_1;
randalthor 3:ee325a31eec4 138 *(outbuffer + offset + 0) = (u_encoder_1.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 139 *(outbuffer + offset + 1) = (u_encoder_1.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 140 *(outbuffer + offset + 2) = (u_encoder_1.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 141 *(outbuffer + offset + 3) = (u_encoder_1.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 142 offset += sizeof(this->encoder_1);
randalthor 3:ee325a31eec4 143 union {
randalthor 3:ee325a31eec4 144 int32_t real;
randalthor 3:ee325a31eec4 145 uint32_t base;
randalthor 3:ee325a31eec4 146 } u_encoder_2;
randalthor 3:ee325a31eec4 147 u_encoder_2.real = this->encoder_2;
randalthor 3:ee325a31eec4 148 *(outbuffer + offset + 0) = (u_encoder_2.base >> (8 * 0)) & 0xFF;
randalthor 3:ee325a31eec4 149 *(outbuffer + offset + 1) = (u_encoder_2.base >> (8 * 1)) & 0xFF;
randalthor 3:ee325a31eec4 150 *(outbuffer + offset + 2) = (u_encoder_2.base >> (8 * 2)) & 0xFF;
randalthor 3:ee325a31eec4 151 *(outbuffer + offset + 3) = (u_encoder_2.base >> (8 * 3)) & 0xFF;
randalthor 3:ee325a31eec4 152 offset += sizeof(this->encoder_2);
randalthor 3:ee325a31eec4 153 return offset;
randalthor 3:ee325a31eec4 154 }
randalthor 3:ee325a31eec4 155
randalthor 3:ee325a31eec4 156 virtual int deserialize(unsigned char *inbuffer)
randalthor 3:ee325a31eec4 157 {
randalthor 3:ee325a31eec4 158 int offset = 0;
randalthor 3:ee325a31eec4 159 union {
randalthor 3:ee325a31eec4 160 float real;
randalthor 3:ee325a31eec4 161 uint32_t base;
randalthor 3:ee325a31eec4 162 } u_cmd_velocity_linx;
randalthor 3:ee325a31eec4 163 u_cmd_velocity_linx.base = 0;
randalthor 3:ee325a31eec4 164 u_cmd_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 165 u_cmd_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 166 u_cmd_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 167 u_cmd_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 168 this->cmd_velocity_linx = u_cmd_velocity_linx.real;
randalthor 3:ee325a31eec4 169 offset += sizeof(this->cmd_velocity_linx);
randalthor 3:ee325a31eec4 170 union {
randalthor 3:ee325a31eec4 171 float real;
randalthor 3:ee325a31eec4 172 uint32_t base;
randalthor 3:ee325a31eec4 173 } u_cmd_velocity_angz;
randalthor 3:ee325a31eec4 174 u_cmd_velocity_angz.base = 0;
randalthor 3:ee325a31eec4 175 u_cmd_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 176 u_cmd_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 177 u_cmd_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 178 u_cmd_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 179 this->cmd_velocity_angz = u_cmd_velocity_angz.real;
randalthor 3:ee325a31eec4 180 offset += sizeof(this->cmd_velocity_angz);
randalthor 3:ee325a31eec4 181 union {
randalthor 3:ee325a31eec4 182 float real;
randalthor 3:ee325a31eec4 183 uint32_t base;
randalthor 3:ee325a31eec4 184 } u_real_velocity_linx;
randalthor 3:ee325a31eec4 185 u_real_velocity_linx.base = 0;
randalthor 3:ee325a31eec4 186 u_real_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 187 u_real_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 188 u_real_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 189 u_real_velocity_linx.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 190 this->real_velocity_linx = u_real_velocity_linx.real;
randalthor 3:ee325a31eec4 191 offset += sizeof(this->real_velocity_linx);
randalthor 3:ee325a31eec4 192 union {
randalthor 3:ee325a31eec4 193 float real;
randalthor 3:ee325a31eec4 194 uint32_t base;
randalthor 3:ee325a31eec4 195 } u_real_velocity_angz;
randalthor 3:ee325a31eec4 196 u_real_velocity_angz.base = 0;
randalthor 3:ee325a31eec4 197 u_real_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 198 u_real_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 199 u_real_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 200 u_real_velocity_angz.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 201 this->real_velocity_angz = u_real_velocity_angz.real;
randalthor 3:ee325a31eec4 202 offset += sizeof(this->real_velocity_angz);
randalthor 3:ee325a31eec4 203 union {
randalthor 3:ee325a31eec4 204 float real;
randalthor 3:ee325a31eec4 205 uint32_t base;
randalthor 3:ee325a31eec4 206 } u_pwm_1;
randalthor 3:ee325a31eec4 207 u_pwm_1.base = 0;
randalthor 3:ee325a31eec4 208 u_pwm_1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 209 u_pwm_1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 210 u_pwm_1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 211 u_pwm_1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 212 this->pwm_1 = u_pwm_1.real;
randalthor 3:ee325a31eec4 213 offset += sizeof(this->pwm_1);
randalthor 3:ee325a31eec4 214 union {
randalthor 3:ee325a31eec4 215 float real;
randalthor 3:ee325a31eec4 216 uint32_t base;
randalthor 3:ee325a31eec4 217 } u_pwm_2;
randalthor 3:ee325a31eec4 218 u_pwm_2.base = 0;
randalthor 3:ee325a31eec4 219 u_pwm_2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 220 u_pwm_2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 221 u_pwm_2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 222 u_pwm_2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 223 this->pwm_2 = u_pwm_2.real;
randalthor 3:ee325a31eec4 224 offset += sizeof(this->pwm_2);
randalthor 3:ee325a31eec4 225 union {
randalthor 3:ee325a31eec4 226 float real;
randalthor 3:ee325a31eec4 227 uint32_t base;
randalthor 3:ee325a31eec4 228 } u_dc_current_1;
randalthor 3:ee325a31eec4 229 u_dc_current_1.base = 0;
randalthor 3:ee325a31eec4 230 u_dc_current_1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 231 u_dc_current_1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 232 u_dc_current_1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 233 u_dc_current_1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 234 this->dc_current_1 = u_dc_current_1.real;
randalthor 3:ee325a31eec4 235 offset += sizeof(this->dc_current_1);
randalthor 3:ee325a31eec4 236 union {
randalthor 3:ee325a31eec4 237 float real;
randalthor 3:ee325a31eec4 238 uint32_t base;
randalthor 3:ee325a31eec4 239 } u_dc_current_2;
randalthor 3:ee325a31eec4 240 u_dc_current_2.base = 0;
randalthor 3:ee325a31eec4 241 u_dc_current_2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 242 u_dc_current_2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 243 u_dc_current_2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 244 u_dc_current_2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 245 this->dc_current_2 = u_dc_current_2.real;
randalthor 3:ee325a31eec4 246 offset += sizeof(this->dc_current_2);
randalthor 3:ee325a31eec4 247 union {
randalthor 3:ee325a31eec4 248 int32_t real;
randalthor 3:ee325a31eec4 249 uint32_t base;
randalthor 3:ee325a31eec4 250 } u_encoder_1;
randalthor 3:ee325a31eec4 251 u_encoder_1.base = 0;
randalthor 3:ee325a31eec4 252 u_encoder_1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 253 u_encoder_1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 254 u_encoder_1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 255 u_encoder_1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 256 this->encoder_1 = u_encoder_1.real;
randalthor 3:ee325a31eec4 257 offset += sizeof(this->encoder_1);
randalthor 3:ee325a31eec4 258 union {
randalthor 3:ee325a31eec4 259 int32_t real;
randalthor 3:ee325a31eec4 260 uint32_t base;
randalthor 3:ee325a31eec4 261 } u_encoder_2;
randalthor 3:ee325a31eec4 262 u_encoder_2.base = 0;
randalthor 3:ee325a31eec4 263 u_encoder_2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
randalthor 3:ee325a31eec4 264 u_encoder_2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
randalthor 3:ee325a31eec4 265 u_encoder_2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
randalthor 3:ee325a31eec4 266 u_encoder_2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
randalthor 3:ee325a31eec4 267 this->encoder_2 = u_encoder_2.real;
randalthor 3:ee325a31eec4 268 offset += sizeof(this->encoder_2);
randalthor 3:ee325a31eec4 269 return offset;
randalthor 3:ee325a31eec4 270 }
randalthor 3:ee325a31eec4 271
randalthor 3:ee325a31eec4 272 const char * getType(){ return "beginner_tutorials/mobileRobot"; };
randalthor 3:ee325a31eec4 273 const char * getMD5(){ return "5e54beb06e233db01abe11e2006b8b2e"; };
randalthor 3:ee325a31eec4 274
randalthor 3:ee325a31eec4 275 };
randalthor 3:ee325a31eec4 276
randalthor 3:ee325a31eec4 277 }
randalthor 2:920c2ef78ddd 278 #endif