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:
Sat Mar 04 14:07:56 2017 +0000
Revision:
4:80d9bee5079a
fatih

Who changed what in which revision?

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