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/15 14:01] – gehrig | for_developers:timing_measurement [2016/08/17 11:10] – [How the timer works] gehrig | ||
---|---|---|---|
Line 2: | Line 2: | ||
===== How the timer works ===== | ===== How the timer works ===== | ||
- | The timer function is included in the Executer object. It measures | + | The timer function is included in the Executer object. It registers |
+ | * run time: counter.tock() - counter.tick() | ||
+ | * period: counter.tick()[t=n] - counter.tick()[t=n-1] | ||
+ | * jitter: |actual period - set period| | ||
+ | Of these three measurements the minimal value, maximal value, mean value and the variance | ||
===== 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 9: | Line 13: | ||
===== Accuracy of the measurement ===== | ===== Accuracy of the measurement ===== | ||
- | This measurement provides only statistical data over 1000 (or 100) cycles at a time and not for each iteration. To measure jitter for each iteration use the //signalProbeBlock//. | + | This measurement provides only statistical data over 1000 (or 100) cycles at a time and not for each iteration. To measure jitter for each iteration use the [[: |
It is possible to measure a 15% CPU load and over 300us run time per 1ms period. This indicates, that the run time measurement is not accurate. | It is possible to measure a 15% CPU load and over 300us run time per 1ms period. This indicates, that the run time measurement is not accurate. |