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:
0:77afd7560544
Child:
1:ff0ec969dad1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MbedHardware.h	Fri Aug 19 09:06:30 2011 +0000
@@ -0,0 +1,66 @@
+/*
+ * mbedHardware
+ *
+ *  Created on: Aug 17, 2011
+ *      Author: nucho
+ */
+
+#ifndef MBEDHARDWARE_H_
+#define MBEDHARDWARE_H_
+
+#include"mbed.h"
+
+class MbedHardware {
+public:
+    MbedHardware(Serial* io , long baud= 57600)
+            :iostream(*io){
+        baud_ = baud;
+        t.start();
+    }
+    MbedHardware()
+            :iostream(USBTX, USBRX) {
+        baud_ = 57600;
+        t.start();
+    }
+    MbedHardware(MbedHardware& h)
+            :iostream(h.iostream) {
+        this->baud_ = h.baud_;
+        
+        t.start();
+    }
+
+    void setBaud(long baud) {
+        this->baud_= baud;
+    }
+
+    int getBaud() {
+        return baud_;
+    }
+
+    void init() {
+        iostream.baud(baud_);
+    }
+
+    int read() {
+        if (iostream.readable()) {
+            return iostream.getc();
+        } else {
+            return -1;
+        }
+    };
+    void write(uint8_t* data, int length) {
+        for (int i=0; i<length; i++) iostream.putc(data[i]);
+    }
+
+    unsigned long time() {
+        return t.read_ms();
+    }
+
+protected:
+    long baud_;
+    Serial iostream;
+    Timer t;
+};
+
+
+#endif /* MBEDHARDWARE_H_ */