This program is porting rosserial_arduino for mbed http://www.ros.org/wiki/rosserial_arduino This program supported the revision of 169 of rosserial.

Dependencies:  

Dependents:   rosserial_mbed robot_S2

Revision:
1:ff0ec969dad1
Parent:
0:77afd7560544
Child:
3:1cf99502f396
--- a/std_msgs/Int16MultiArray.h	Fri Aug 19 09:06:30 2011 +0000
+++ b/std_msgs/Int16MultiArray.h	Sun Oct 16 07:19:36 2011 +0000
@@ -15,8 +15,8 @@
     public:
       std_msgs::MultiArrayLayout layout;
       unsigned char data_length;
-      short st_data;
-      short * data;
+      int16_t st_data;
+      int16_t * data;
 
     virtual int serialize(unsigned char *outbuffer)
     {
@@ -28,8 +28,8 @@
       *(outbuffer + offset++) = 0;
       for( unsigned char i = 0; i < data_length; i++){
       union {
-        short real;
-        unsigned short base;
+        int16_t real;
+        uint16_t base;
       } u_datai;
       u_datai.real = this->data[i];
       *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF;
@@ -45,20 +45,20 @@
       offset += this->layout.deserialize(inbuffer + offset);
       unsigned char data_lengthT = *(inbuffer + offset++);
       if(data_lengthT > data_length)
-        this->data = (int*)realloc(this->data, data_lengthT * sizeof(int));
+        this->data = (int16_t*)realloc(this->data, data_lengthT * sizeof(int16_t));
       offset += 3;
       data_length = data_lengthT;
       for( unsigned char i = 0; i < data_length; i++){
       union {
-        short real;
-        unsigned short base;
+        int16_t real;
+        uint16_t base;
       } u_st_data;
       u_st_data.base = 0;
       u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 0))) << (8 * 0);
       u_st_data.base |= ((typeof(u_st_data.base)) (*(inbuffer + offset + 1))) << (8 * 1);
       this->st_data = u_st_data.real;
       offset += sizeof(this->st_data);
-        memcpy( &(this->data[i]), &(this->st_data), sizeof(int));
+        memcpy( &(this->data[i]), &(this->st_data), sizeof(int16_t));
       }
      return offset;
     }