ros melodic library with custom message

Dependents:   Robot_team1_QEI_Douglas Robot_team1

Revision:
0:020db18a476d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ros_lib/MbedHardware.h	Wed Oct 30 14:59:49 2019 +0000
@@ -0,0 +1,60 @@
+/*
+ * MbedHardware
+ *
+ *  Created on: Aug 17, 2011
+ *      Author: nucho
+ */
+
+#ifndef ROS_MBED_HARDWARE_H_
+#define ROS_MBED_HARDWARE_H_
+
+#include "mbed.h"
+
+#include "BufferedSerial.h"
+
+class MbedHardware {
+  public:
+    MbedHardware(PinName tx, PinName rx, long baud = 57600)
+      :iostream(tx, rx){
+      baud_ = baud;
+      t.start();
+    }
+
+    MbedHardware()
+      :iostream(USBTX, USBRX) {
+        baud_ = 57600;
+        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:
+    BufferedSerial iostream;
+    long baud_;
+    Timer t;
+};
+
+
+#endif /* ROS_MBED_HARDWARE_H_ */