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

Dependencies:   BufferedSerial

Dependents:   rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Kill.h Source File

Kill.h

00001 #ifndef _ROS_SERVICE_Kill_h
00002 #define _ROS_SERVICE_Kill_h
00003 #include <stdint.h>
00004 #include <string.h>
00005 #include <stdlib.h>
00006 #include "ros/msg.h"
00007 
00008 namespace turtlesim
00009 {
00010 
00011 static const char KILL[] = "turtlesim/Kill";
00012 
00013   class KillRequest : public ros::Msg
00014   {
00015     public:
00016       const char* name;
00017 
00018     KillRequest():
00019       name("")
00020     {
00021     }
00022 
00023     virtual int serialize(unsigned char *outbuffer) const
00024     {
00025       int offset = 0;
00026       uint32_t length_name = strlen(this->name);
00027       memcpy(outbuffer + offset, &length_name, sizeof(uint32_t));
00028       offset += 4;
00029       memcpy(outbuffer + offset, this->name, length_name);
00030       offset += length_name;
00031       return offset;
00032     }
00033 
00034     virtual int deserialize(unsigned char *inbuffer)
00035     {
00036       int offset = 0;
00037       uint32_t length_name;
00038       memcpy(&length_name, (inbuffer + offset), sizeof(uint32_t));
00039       offset += 4;
00040       for(unsigned int k= offset; k< offset+length_name; ++k){
00041           inbuffer[k-1]=inbuffer[k];
00042       }
00043       inbuffer[offset+length_name-1]=0;
00044       this->name = (char *)(inbuffer + offset-1);
00045       offset += length_name;
00046      return offset;
00047     }
00048 
00049     const char * getType(){ return KILL; };
00050     const char * getMD5(){ return "c1f3d28f1b044c871e6eff2e9fc3c667"; };
00051 
00052   };
00053 
00054   class KillResponse : public ros::Msg
00055   {
00056     public:
00057 
00058     KillResponse()
00059     {
00060     }
00061 
00062     virtual int serialize(unsigned char *outbuffer) const
00063     {
00064       int offset = 0;
00065       return offset;
00066     }
00067 
00068     virtual int deserialize(unsigned char *inbuffer)
00069     {
00070       int offset = 0;
00071      return offset;
00072     }
00073 
00074     const char * getType(){ return KILL; };
00075     const char * getMD5(){ return "d41d8cd98f00b204e9800998ecf8427e"; };
00076 
00077   };
00078 
00079   class Kill {
00080     public:
00081     typedef KillRequest Request;
00082     typedef KillResponse Response;
00083   };
00084 
00085 }
00086 #endif