ros melodic library with custom message
Dependents: Robot_team1_QEI_Douglas Robot_team1
Diff: ros_lib/MbedHardware.h
- 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_ */