for_developers:timing_measurement
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
for_developers:timing_measurement [2016/08/17 11:10] – [How the timer works] gehrig | for_developers:timing_measurement [2016/10/24 07:55] – [Implementation] graf | ||
---|---|---|---|
Line 7: | Line 7: | ||
* jitter: |actual period - set period| | * jitter: |actual period - set period| | ||
Of these three measurements the minimal value, maximal value, mean value and the variance are calculated. | Of these three measurements the minimal value, maximal value, mean value and the variance are calculated. | ||
+ | |||
+ | Implementation in // | ||
+ | <code cpp> | ||
+ | ... | ||
+ | loop { | ||
+ | counter.tick(); | ||
+ | //code under test (list.run(); | ||
+ | counter.tock(); | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
===== Influence of the measurement on the real time performance of the system ===== | ===== Influence of the measurement on the real time performance of the system ===== | ||
Line 18: | Line 29: | ||
===== Implementation ===== | ===== Implementation ===== | ||
- | To integrate the measurement, | + | To integrate the measurement, |
<code cpp> | <code cpp> | ||
using namespace eeros:: | using namespace eeros:: | ||
Line 24: | Line 35: | ||
- | eeros:: | + | eeros:: |
- | td.monitors.push_back([& | + | per.monitors.push_back([& |
static int ticks = 0; // mseconds | static int ticks = 0; // mseconds | ||
Line 33: | Line 44: | ||
// timing measurement (tictoc) | // timing measurement (tictoc) | ||
- | eeros::PeriodicCounter counter = c; | + | PeriodicCounter counter = c; |
c.reset(); | c.reset(); | ||
std::cout << "CS: period max: " << setw(7) | std::cout << "CS: period max: " << setw(7) | ||
Line 40: | Line 51: | ||
}); | }); | ||
- | eeros:: | + | eeros:: |
</ | </ | ||