ROS Serial library for Mbed platforms for ROS Kinetic Kame. Check http://wiki.ros.org/rosserial_mbed/ for more information.

Dependencies:   BufferedSerial

Committer:
gosari
Date:
Thu Jan 27 11:36:16 2022 +0000
Revision:
2:65cba0dcf634
for message communication with mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gosari 2:65cba0dcf634 1 #ifndef _ROS_hero_msgs_hero_flipper_command_h
gosari 2:65cba0dcf634 2 #define _ROS_hero_msgs_hero_flipper_command_h
gosari 2:65cba0dcf634 3
gosari 2:65cba0dcf634 4 #include <stdint.h>
gosari 2:65cba0dcf634 5 #include <string.h>
gosari 2:65cba0dcf634 6 #include <stdlib.h>
gosari 2:65cba0dcf634 7 #include "ros/msg.h"
gosari 2:65cba0dcf634 8
gosari 2:65cba0dcf634 9 namespace hero_msgs
gosari 2:65cba0dcf634 10 {
gosari 2:65cba0dcf634 11
gosari 2:65cba0dcf634 12 class hero_flipper_command : public ros::Msg
gosari 2:65cba0dcf634 13 {
gosari 2:65cba0dcf634 14 public:
gosari 2:65cba0dcf634 15 typedef uint8_t _RobotMode_type;
gosari 2:65cba0dcf634 16 _RobotMode_type RobotMode;
gosari 2:65cba0dcf634 17 typedef int16_t _SweepA_type;
gosari 2:65cba0dcf634 18 _SweepA_type SweepA;
gosari 2:65cba0dcf634 19 typedef int16_t _SweepB_type;
gosari 2:65cba0dcf634 20 _SweepB_type SweepB;
gosari 2:65cba0dcf634 21 typedef int16_t _WalkDelay_type;
gosari 2:65cba0dcf634 22 _WalkDelay_type WalkDelay;
gosari 2:65cba0dcf634 23 typedef int16_t _WalkWait_type;
gosari 2:65cba0dcf634 24 _WalkWait_type WalkWait;
gosari 2:65cba0dcf634 25 typedef uint8_t _StepCount_type;
gosari 2:65cba0dcf634 26 _StepCount_type StepCount;
gosari 2:65cba0dcf634 27 typedef int16_t _WalkHeading_type;
gosari 2:65cba0dcf634 28 _WalkHeading_type WalkHeading;
gosari 2:65cba0dcf634 29 typedef uint8_t _Amplitude_type;
gosari 2:65cba0dcf634 30 _Amplitude_type Amplitude;
gosari 2:65cba0dcf634 31 typedef float _Period_type;
gosari 2:65cba0dcf634 32 _Period_type Period;
gosari 2:65cba0dcf634 33 typedef uint8_t _iteration_type;
gosari 2:65cba0dcf634 34 _iteration_type iteration;
gosari 2:65cba0dcf634 35 typedef uint8_t _OffsetAngle_type;
gosari 2:65cba0dcf634 36 _OffsetAngle_type OffsetAngle;
gosari 2:65cba0dcf634 37 typedef uint8_t _LegSwingPart_type;
gosari 2:65cba0dcf634 38 _LegSwingPart_type LegSwingPart;
gosari 2:65cba0dcf634 39 typedef uint16_t _LegSwingDelay_type;
gosari 2:65cba0dcf634 40 _LegSwingDelay_type LegSwingDelay;
gosari 2:65cba0dcf634 41
gosari 2:65cba0dcf634 42 hero_flipper_command():
gosari 2:65cba0dcf634 43 RobotMode(0),
gosari 2:65cba0dcf634 44 SweepA(0),
gosari 2:65cba0dcf634 45 SweepB(0),
gosari 2:65cba0dcf634 46 WalkDelay(0),
gosari 2:65cba0dcf634 47 WalkWait(0),
gosari 2:65cba0dcf634 48 StepCount(0),
gosari 2:65cba0dcf634 49 WalkHeading(0),
gosari 2:65cba0dcf634 50 Amplitude(0),
gosari 2:65cba0dcf634 51 Period(0),
gosari 2:65cba0dcf634 52 iteration(0),
gosari 2:65cba0dcf634 53 OffsetAngle(0),
gosari 2:65cba0dcf634 54 LegSwingPart(0),
gosari 2:65cba0dcf634 55 LegSwingDelay(0)
gosari 2:65cba0dcf634 56 {
gosari 2:65cba0dcf634 57 }
gosari 2:65cba0dcf634 58
gosari 2:65cba0dcf634 59 virtual int serialize(unsigned char *outbuffer) const
gosari 2:65cba0dcf634 60 {
gosari 2:65cba0dcf634 61 int offset = 0;
gosari 2:65cba0dcf634 62 *(outbuffer + offset + 0) = (this->RobotMode >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 63 offset += sizeof(this->RobotMode);
gosari 2:65cba0dcf634 64 union {
gosari 2:65cba0dcf634 65 int16_t real;
gosari 2:65cba0dcf634 66 uint16_t base;
gosari 2:65cba0dcf634 67 } u_SweepA;
gosari 2:65cba0dcf634 68 u_SweepA.real = this->SweepA;
gosari 2:65cba0dcf634 69 *(outbuffer + offset + 0) = (u_SweepA.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 70 *(outbuffer + offset + 1) = (u_SweepA.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 71 offset += sizeof(this->SweepA);
gosari 2:65cba0dcf634 72 union {
gosari 2:65cba0dcf634 73 int16_t real;
gosari 2:65cba0dcf634 74 uint16_t base;
gosari 2:65cba0dcf634 75 } u_SweepB;
gosari 2:65cba0dcf634 76 u_SweepB.real = this->SweepB;
gosari 2:65cba0dcf634 77 *(outbuffer + offset + 0) = (u_SweepB.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 78 *(outbuffer + offset + 1) = (u_SweepB.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 79 offset += sizeof(this->SweepB);
gosari 2:65cba0dcf634 80 union {
gosari 2:65cba0dcf634 81 int16_t real;
gosari 2:65cba0dcf634 82 uint16_t base;
gosari 2:65cba0dcf634 83 } u_WalkDelay;
gosari 2:65cba0dcf634 84 u_WalkDelay.real = this->WalkDelay;
gosari 2:65cba0dcf634 85 *(outbuffer + offset + 0) = (u_WalkDelay.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 86 *(outbuffer + offset + 1) = (u_WalkDelay.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 87 offset += sizeof(this->WalkDelay);
gosari 2:65cba0dcf634 88 union {
gosari 2:65cba0dcf634 89 int16_t real;
gosari 2:65cba0dcf634 90 uint16_t base;
gosari 2:65cba0dcf634 91 } u_WalkWait;
gosari 2:65cba0dcf634 92 u_WalkWait.real = this->WalkWait;
gosari 2:65cba0dcf634 93 *(outbuffer + offset + 0) = (u_WalkWait.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 94 *(outbuffer + offset + 1) = (u_WalkWait.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 95 offset += sizeof(this->WalkWait);
gosari 2:65cba0dcf634 96 *(outbuffer + offset + 0) = (this->StepCount >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 97 offset += sizeof(this->StepCount);
gosari 2:65cba0dcf634 98 union {
gosari 2:65cba0dcf634 99 int16_t real;
gosari 2:65cba0dcf634 100 uint16_t base;
gosari 2:65cba0dcf634 101 } u_WalkHeading;
gosari 2:65cba0dcf634 102 u_WalkHeading.real = this->WalkHeading;
gosari 2:65cba0dcf634 103 *(outbuffer + offset + 0) = (u_WalkHeading.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 104 *(outbuffer + offset + 1) = (u_WalkHeading.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 105 offset += sizeof(this->WalkHeading);
gosari 2:65cba0dcf634 106 *(outbuffer + offset + 0) = (this->Amplitude >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 107 offset += sizeof(this->Amplitude);
gosari 2:65cba0dcf634 108 union {
gosari 2:65cba0dcf634 109 float real;
gosari 2:65cba0dcf634 110 uint32_t base;
gosari 2:65cba0dcf634 111 } u_Period;
gosari 2:65cba0dcf634 112 u_Period.real = this->Period;
gosari 2:65cba0dcf634 113 *(outbuffer + offset + 0) = (u_Period.base >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 114 *(outbuffer + offset + 1) = (u_Period.base >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 115 *(outbuffer + offset + 2) = (u_Period.base >> (8 * 2)) & 0xFF;
gosari 2:65cba0dcf634 116 *(outbuffer + offset + 3) = (u_Period.base >> (8 * 3)) & 0xFF;
gosari 2:65cba0dcf634 117 offset += sizeof(this->Period);
gosari 2:65cba0dcf634 118 *(outbuffer + offset + 0) = (this->iteration >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 119 offset += sizeof(this->iteration);
gosari 2:65cba0dcf634 120 *(outbuffer + offset + 0) = (this->OffsetAngle >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 121 offset += sizeof(this->OffsetAngle);
gosari 2:65cba0dcf634 122 *(outbuffer + offset + 0) = (this->LegSwingPart >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 123 offset += sizeof(this->LegSwingPart);
gosari 2:65cba0dcf634 124 *(outbuffer + offset + 0) = (this->LegSwingDelay >> (8 * 0)) & 0xFF;
gosari 2:65cba0dcf634 125 *(outbuffer + offset + 1) = (this->LegSwingDelay >> (8 * 1)) & 0xFF;
gosari 2:65cba0dcf634 126 offset += sizeof(this->LegSwingDelay);
gosari 2:65cba0dcf634 127 return offset;
gosari 2:65cba0dcf634 128 }
gosari 2:65cba0dcf634 129
gosari 2:65cba0dcf634 130 virtual int deserialize(unsigned char *inbuffer)
gosari 2:65cba0dcf634 131 {
gosari 2:65cba0dcf634 132 int offset = 0;
gosari 2:65cba0dcf634 133 this->RobotMode = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 134 offset += sizeof(this->RobotMode);
gosari 2:65cba0dcf634 135 union {
gosari 2:65cba0dcf634 136 int16_t real;
gosari 2:65cba0dcf634 137 uint16_t base;
gosari 2:65cba0dcf634 138 } u_SweepA;
gosari 2:65cba0dcf634 139 u_SweepA.base = 0;
gosari 2:65cba0dcf634 140 u_SweepA.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 141 u_SweepA.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 142 this->SweepA = u_SweepA.real;
gosari 2:65cba0dcf634 143 offset += sizeof(this->SweepA);
gosari 2:65cba0dcf634 144 union {
gosari 2:65cba0dcf634 145 int16_t real;
gosari 2:65cba0dcf634 146 uint16_t base;
gosari 2:65cba0dcf634 147 } u_SweepB;
gosari 2:65cba0dcf634 148 u_SweepB.base = 0;
gosari 2:65cba0dcf634 149 u_SweepB.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 150 u_SweepB.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 151 this->SweepB = u_SweepB.real;
gosari 2:65cba0dcf634 152 offset += sizeof(this->SweepB);
gosari 2:65cba0dcf634 153 union {
gosari 2:65cba0dcf634 154 int16_t real;
gosari 2:65cba0dcf634 155 uint16_t base;
gosari 2:65cba0dcf634 156 } u_WalkDelay;
gosari 2:65cba0dcf634 157 u_WalkDelay.base = 0;
gosari 2:65cba0dcf634 158 u_WalkDelay.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 159 u_WalkDelay.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 160 this->WalkDelay = u_WalkDelay.real;
gosari 2:65cba0dcf634 161 offset += sizeof(this->WalkDelay);
gosari 2:65cba0dcf634 162 union {
gosari 2:65cba0dcf634 163 int16_t real;
gosari 2:65cba0dcf634 164 uint16_t base;
gosari 2:65cba0dcf634 165 } u_WalkWait;
gosari 2:65cba0dcf634 166 u_WalkWait.base = 0;
gosari 2:65cba0dcf634 167 u_WalkWait.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 168 u_WalkWait.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 169 this->WalkWait = u_WalkWait.real;
gosari 2:65cba0dcf634 170 offset += sizeof(this->WalkWait);
gosari 2:65cba0dcf634 171 this->StepCount = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 172 offset += sizeof(this->StepCount);
gosari 2:65cba0dcf634 173 union {
gosari 2:65cba0dcf634 174 int16_t real;
gosari 2:65cba0dcf634 175 uint16_t base;
gosari 2:65cba0dcf634 176 } u_WalkHeading;
gosari 2:65cba0dcf634 177 u_WalkHeading.base = 0;
gosari 2:65cba0dcf634 178 u_WalkHeading.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 179 u_WalkHeading.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 180 this->WalkHeading = u_WalkHeading.real;
gosari 2:65cba0dcf634 181 offset += sizeof(this->WalkHeading);
gosari 2:65cba0dcf634 182 this->Amplitude = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 183 offset += sizeof(this->Amplitude);
gosari 2:65cba0dcf634 184 union {
gosari 2:65cba0dcf634 185 float real;
gosari 2:65cba0dcf634 186 uint32_t base;
gosari 2:65cba0dcf634 187 } u_Period;
gosari 2:65cba0dcf634 188 u_Period.base = 0;
gosari 2:65cba0dcf634 189 u_Period.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
gosari 2:65cba0dcf634 190 u_Period.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 191 u_Period.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
gosari 2:65cba0dcf634 192 u_Period.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
gosari 2:65cba0dcf634 193 this->Period = u_Period.real;
gosari 2:65cba0dcf634 194 offset += sizeof(this->Period);
gosari 2:65cba0dcf634 195 this->iteration = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 196 offset += sizeof(this->iteration);
gosari 2:65cba0dcf634 197 this->OffsetAngle = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 198 offset += sizeof(this->OffsetAngle);
gosari 2:65cba0dcf634 199 this->LegSwingPart = ((uint8_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 200 offset += sizeof(this->LegSwingPart);
gosari 2:65cba0dcf634 201 this->LegSwingDelay = ((uint16_t) (*(inbuffer + offset)));
gosari 2:65cba0dcf634 202 this->LegSwingDelay |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
gosari 2:65cba0dcf634 203 offset += sizeof(this->LegSwingDelay);
gosari 2:65cba0dcf634 204 return offset;
gosari 2:65cba0dcf634 205 }
gosari 2:65cba0dcf634 206
gosari 2:65cba0dcf634 207 const char * getType(){ return "hero_msgs/hero_flipper_command"; };
gosari 2:65cba0dcf634 208 const char * getMD5(){ return "5fbfca8fff5085fed6726f12aa490760"; };
gosari 2:65cba0dcf634 209
gosari 2:65cba0dcf634 210 };
gosari 2:65cba0dcf634 211
gosari 2:65cba0dcf634 212 }
gosari 2:65cba0dcf634 213 #endif