Software serial, for when you are out of serial pins

Dependents:   BufferedSoftSerial neurGAI_Seeed_BLUETOOTH LPC-SD-35 ESP-WROOM-02_test ... more

SoftSerial_Ticker.h

Committer:
Sissors
Date:
2014-04-27
Revision:
6:517082212c00

File content as of revision 6:517082212c00:

//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