discoLight
Loading...
Searching...
No Matches
FreeRunningRepeatingTask.h
Go to the documentation of this file.
1
29#ifndef FREERUNNINGREPEATINGTASK_H_
30#define FREERUNNINGREPEATINGTASK_H_
31
32#include "RunnableClass.h"
33
34#include <chrono>
35
36namespace SWE4211RPi {
37
38
40private:
45
50
55
59 long lastWallTime = 0;
60
65
69 void invokeRun();
70
71public:
77 FreeRunningRepeatingTask(std::string threadName, int priority=1);
78
83
84public:
85
90 virtual void taskMethod()=0;
91
95 void run() final;
96
100 virtual void printInformation();
101
106 virtual double getCPUUsageInfo();
107
111 virtual void resetThreadDiagnostics();
112
113protected:
120 virtual void startChildRunnables() final;
121
122
128 virtual void stopChildRunnables() final;
129
136 virtual void startChildTasks();
137
143 virtual void stopChildTasks();
144};
145
146}
147#endif /* FREERUNNINGREPEATINGTASK_H_ */
148
149
Definition FreeRunningRepeatingTask.h:39
virtual ~FreeRunningRepeatingTask()
Definition FreeRunningRepeatingTask.cpp:32
virtual void startChildRunnables() final
Definition FreeRunningRepeatingTask.cpp:155
long lastExecutionTime
Definition FreeRunningRepeatingTask.h:49
void run() final
Definition FreeRunningRepeatingTask.cpp:80
virtual void stopChildTasks()
Definition FreeRunningRepeatingTask.cpp:145
long missedDeadlineCount
Definition FreeRunningRepeatingTask.h:54
long worstCaseWallTime
Definition FreeRunningRepeatingTask.h:64
virtual void printInformation()
Definition FreeRunningRepeatingTask.cpp:52
long lastWallTime
Definition FreeRunningRepeatingTask.h:59
virtual double getCPUUsageInfo()
Definition FreeRunningRepeatingTask.cpp:43
virtual void stopChildRunnables() final
Definition FreeRunningRepeatingTask.cpp:159
virtual void startChildTasks()
Definition FreeRunningRepeatingTask.cpp:141
virtual void resetThreadDiagnostics()
Definition FreeRunningRepeatingTask.cpp:69
long worstCaseExecutionTime
Definition FreeRunningRepeatingTask.h:44
Definition RunnableClass.h:45
int priority
Definition RunnableClass.h:93