This program is porting rosserial_arduino for mbed http://www.ros.org/wiki/rosserial_arduino This program supported the revision of 169 of rosserial. This program contains an example.
Dependencies: rosserial_mbed_lib mbed Servo
geometry_msgs/Polygon.h
- Committer:
- nucho
- Date:
- 2011-10-16
- Revision:
- 1:098e75fd5ad2
- Parent:
- 0:06fc856e99ca
- Child:
- 3:dff241b66f84
File content as of revision 1:098e75fd5ad2:
#ifndef ros_geometry_msgs_Polygon_h #define ros_geometry_msgs_Polygon_h #include <stdint.h> #include <string.h> #include <stdlib.h> #include "../ros/msg.h" #include "geometry_msgs/Point32.h" namespace geometry_msgs { class Polygon : public ros::Msg { public: unsigned char points_length; geometry_msgs::Point32 st_points; geometry_msgs::Point32 * points; virtual int serialize(unsigned char *outbuffer) { int offset = 0; *(outbuffer + offset++) = points_length; *(outbuffer + offset++) = 0; *(outbuffer + offset++) = 0; *(outbuffer + offset++) = 0; for ( unsigned char i = 0; i < points_length; i++) { offset += this->points[i].serialize(outbuffer + offset); } return offset; } virtual int deserialize(unsigned char *inbuffer) { int offset = 0; unsigned char points_lengthT = *(inbuffer + offset++); if (points_lengthT > points_length) this->points = (geometry_msgs::Point32*)realloc(this->points, points_lengthT * sizeof(geometry_msgs::Point32)); offset += 3; points_length = points_lengthT; for ( unsigned char i = 0; i < points_length; i++) { offset += this->st_points.deserialize(inbuffer + offset); memcpy( &(this->points[i]), &(this->st_points), sizeof(geometry_msgs::Point32)); } return offset; } virtual const char * getType() { return "geometry_msgs/Polygon"; }; }; } #endif