-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathTimerObject.h
47 lines (36 loc) · 1 KB
/
TimerObject.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdlib.h"
#include "Arduino.h"
#ifndef TIMER_OBJECT_H
#define TIMER_OBJECT_H
typedef void (*CallBackType)();
class TimerObject{
private:
void Create(unsigned long int ms, CallBackType callback, bool isSingle);
unsigned long int msInterval;
bool blEnabled;
bool blSingleShot;
CallBackType onRun;
bool Tick();
unsigned long LastTime;
unsigned long DiffTime;//used when I pause the Timer and need to resume
public:
TimerObject(unsigned long int ms);
TimerObject(unsigned long int ms, CallBackType callback);
TimerObject(unsigned long int ms, CallBackType callback, bool isSingle);
~TimerObject();
void setInterval(unsigned long int ms);
void setEnabled(bool Enabled);
void setSingleShot(bool isSingle);
void setOnTimer(CallBackType callback);
void Start();
void Resume();
void Pause();
void Stop();
void Update();
unsigned long int getInterval();
unsigned long int getCurrentTime();
CallBackType getOnTimerCallback();
bool isEnabled();
bool isSingleShot();
};
#endif // TIMER_OBJECT_H