This program is porting rosserial_arduino for mbed http://www.ros.org/wiki/rosserial_arduino This program supported the revision of 169 of rosserial. This program contains an example.
Dependencies: rosserial_mbed_lib mbed Servo
Diff: MbedHardware.h
- Revision:
- 0:06fc856e99ca
- Child:
- 1:098e75fd5ad2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MbedHardware.h Fri Aug 19 09:06:16 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_ */