Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TestVirtualisation Bf_SoftSerial_IR
SoftSerial_Ticker_IR.h
- Committer:
- kenjiArai
- Date:
- 2018-12-28
- Revision:
- 14:dc766032cdd6
- Parent:
- 13:2b5649a1278a
- Child:
- 15:8d343be3382d
File content as of revision 14:dc766032cdd6:
// Apply for Infrared LED and IR-Detector
// Modified by JH1PJL Dec. 28th, 2018
// A modified version of the regular ticker/timeout libraries
// to allow us to do timeout without losing accuracy
#ifndef FLEXTICKERIR_H
#define FLEXTICKERIR_H
#include "mbed.h"
class FlexTicker_IR: 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(uint32_t offset) {
event.timestamp = us_ticker_read() - offset;
}
protected:
virtual void handler() {
_function.call();
}
unsigned int _delay;
FunctionPointer _function;
};
#endif