Software Serial lib
Dependents: BufferedSoftSerial
Fork of SoftSerial by
Diff: SoftSerial_Ticker.h
- Revision:
- 6:517082212c00
- Child:
- 11:2d4a883a687a
- Child:
- 12:df8c4d11ebf0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SoftSerial_Ticker.h Sun Apr 27 08:33:17 2014 +0000 @@ -0,0 +1,38 @@ +//A modified version of the regular ticker/timeout libraries to allow us to do timeout without losing accuracy + +#ifndef FLEXTICKER_H +#define FLEXTICKER_H + +#include "mbed.h" + +class FlexTicker: public TimerEvent { + public: + template<typename T> + void attach(T* tptr, void (T::*mptr)(void)) { + _function.attach(tptr, mptr); + } + + /** Detach the function + */ + void detach() { + remove(); + } + + void setNext(int delay) { + insert(event.timestamp + delay); + } + + void prime(void) { + event.timestamp = us_ticker_read(); + } + +protected: + virtual void handler() { + _function.call(); + } + + unsigned int _delay; + FunctionPointer _function; +}; + +#endif \ No newline at end of file