Simple task manager which uses a Ticker

Task.h

Committer:
Phlaphead
Date:
2011-01-14
Revision:
1:e95b703c6ad7
Parent:
0:e381c3adaa04
Child:
2:3cb7f5770feb

File content as of revision 1:e95b703c6ad7:

#ifndef Task_h
#define Task_h

#include "mbed.h"

#define DEFAULT_INTERVAL 1000 //1ms


class Task
{
    
public:

    Task();
    Task(int _interval);
    
    void start();
    virtual void tick() = 0;
    void stop();
    
    bool isRunning() { return running; }
    

protected:

    void setInterval(int _interval) { interval = _interval; }

    
private:

    Ticker ticker;
    int interval;
    bool running;
    
    void preTick();

};

#endif