Component: Timer (Timing): Difference between revisions
Appearance
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead"" |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 67: | Line 67: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCountMicroSeconds''' | ||
|- | |- | ||
| colspan="2" | Returns the count value as a number of whole microseconds, rounded down to the nearest microsecond | | colspan="2" | Returns the count value as a number of whole microseconds, rounded down to the nearest microsecond | ||
| Line 81: | Line 81: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCountMilliseconds''' | ||
|- | |- | ||
| colspan="2" | Returns the count value as a number of whole milliseconds, rounded down to the nearest millisecond | | colspan="2" | Returns the count value as a number of whole milliseconds, rounded down to the nearest millisecond | ||
| Line 95: | Line 95: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCountReal''' | ||
|- | |- | ||
| colspan="2" | Returns the count value as a floating point value in seconds. | | colspan="2" | Returns the count value as a floating point value in seconds. | ||
| Line 109: | Line 109: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCountSeconds''' | ||
|- | |- | ||
| colspan="2" | Returns the count value as a number of whole seconds, rounded down to the nearest second | | colspan="2" | Returns the count value as a number of whole seconds, rounded down to the nearest second | ||
| Line 123: | Line 123: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCountString''' | ||
|- | |- | ||
| colspan="2" | Returns the count value as a floating point string in seconds. | | colspan="2" | Returns the count value as a floating point string in seconds. | ||
| Line 142: | Line 142: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRawCount''' | ||
|- | |- | ||
| colspan="2" | Efficient command to collect the integer number of instructions since the timer was started. | | colspan="2" | Efficient command to collect the integer number of instructions since the timer was started. | ||
| Line 156: | Line 156: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ResetCounter''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 170: | Line 170: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''StartCounter''' | ||
|- | |- | ||
| colspan="2" | Starts the timer counting. | | colspan="2" | Starts the timer counting. | ||
| Line 189: | Line 189: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''StopCounter''' | ||
|- | |- | ||
| colspan="2" | Stops the timer counting. | | colspan="2" | Stops the timer counting. | ||
| Line 204: | Line 204: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 237: | Line 237: | ||
| colspan="2" | Max time in seconds that we can measure before rolling over and starting again. | | colspan="2" | Max time in seconds that we can measure before rolling over and starting again. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 14.0 |
| Category | Timing |
Timer component
Allows you to measure the passage of time via the use of a hardware timer peripheral. Works like a stopwatch with macros to start, stop and reset the timer counter. Returns time as integer Seconds, Milliseconds, Microseconds and also Floating Point and String.
Version information
Library Version, Component Version, Date, Author, Info 14, 14.0, 10-07-24, MW, Fixed a bug to reset simulation timer value when TimerReset() is called 18, 14.0, 07-02-25, BR, Hidden Postscaler property as it will cause issues with reported timings if used 19, 14.0, 07-02-25, BR, Changed default to TMR0 with 1:1 prescaler 20, 14.0, 07-02-25, BR, Added timer resolution property to show what resolution of timings can be acheived 21, 14.0, 07-02-25, BR, Hidden some of the less useful properties from the user 22, 14.0, 07-02-25, BR, Fixed a bug where the timer wouldn't correctly report the time when stopped
Detailed description
No detailed description exists yet for this component
Examples
Here is a basic example showing the operation of the timer component used to time a section of code or the duration of a specific event.
Macro reference
GetCountMicroSeconds
| GetCountMicroSeconds | |
| Returns the count value as a number of whole microseconds, rounded down to the nearest microsecond | |
| Return | |
GetCountMilliseconds
| GetCountMilliseconds | |
| Returns the count value as a number of whole milliseconds, rounded down to the nearest millisecond | |
| Return | |
GetCountReal
| GetCountReal | |
| Returns the count value as a floating point value in seconds. | |
| Return | |
GetCountSeconds
| GetCountSeconds | |
| Returns the count value as a number of whole seconds, rounded down to the nearest second | |
| Return | |
GetCountString
| GetCountString | |
| Returns the count value as a floating point string in seconds. | |
| Precision | |
| Number of decimal places to display in string | |
| Return | |
GetRawCount
| GetRawCount | |
| Efficient command to collect the integer number of instructions since the timer was started. | |
| Return | |
ResetCounter
| ResetCounter | |
| Return | |
StartCounter
| StartCounter | |
| Starts the timer counting. | |
| ResetCounters | |
| Range: 0-1 where 0=Do Not Reset and 1=Reset | |
| Return | |
StopCounter
| StopCounter | |
| Stops the timer counting. | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_TimerComponent.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_TimerComponent.fcfx