|
|
| (10 intermediate revisions by 2 users not shown) |
| Line 5: |
Line 5: |
| | |- | | |- |
| | | width="20%" style="color:gray;" | Version | | | width="20%" style="color:gray;" | Version |
| − | | 1.1 | + | | 14.0 |
| | |- | | |- |
| | | width="20%" style="color:gray;" | Category | | | width="20%" style="color:gray;" | Category |
| Line 15: |
Line 15: |
| | 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. | | 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. |
| | | | |
| − | ==Component Source Code== | + | ==Version information== |
| | | | |
| − | Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_TimerComponent.fcfx FC_Comp_Source_TimerComponent.fcfx]
| + | 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 |
| | + | |
| | | | |
| − | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerComponent.fcfx FC_Comp_Source_TimerComponent.fcfx]
| |
| | | | |
| | ==Detailed description== | | ==Detailed description== |
| | + | |
| | + | |
| | + | |
| | + | |
| | | | |
| | | | |
| Line 39: |
Line 49: |
| | | | |
| | | | |
| − | ''<span style="color:red;">No additional examples</span>''
| |
| | | | |
| − | ==Macro reference==
| |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountSeconds'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a number of whole seconds, rounded down to the nearest second
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StartCounter'''
| |
| − | |-
| |
| − | | colspan="2" | Starts the timer counting.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| |
| − | | width="90%" | ResetCounters
| |
| − | |-
| |
| − | | colspan="2" | Range: 0-1 where 0=Do Not Reset and 1=Reset
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountString'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a floating point string in seconds.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Precision
| |
| − | |-
| |
| − | | colspan="2" | Number of decimal places to display in string
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| | + | 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. |
| | + | |
| | + | {{Fcfile|TimerExample.fcfx|Timer Example}} |
| | + | |
| | + | ==Macro reference== |
| | + | |
| | + | ===GetCountMicroSeconds=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 105: |
Line 77: |
| | | | |
| | | | |
| | + | ===GetCountMilliseconds=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 118: |
Line 91: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===GetCountReal=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StopCounter'''
| |
| − | |-
| |
| − | | colspan="2" | Stops the timer counting.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ResetCounter'''
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 157: |
Line 105: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===GetCountSeconds=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRawCount'''
| |
| − | |-
| |
| − | | colspan="2" | Efficient command to collect the integer number of instructions since the timer was started.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | | |
| − | | |
| − | ==Property reference==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Timer
| |
| − | |-
| |
| − | | colspan="2" | Timer Peripheral to use to monitor the passage of time.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Bit Depth
| |
| − | |-
| |
| − | | colspan="2" | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Instruction Rate
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Rollover Frequency
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Rollover Time
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Max Time Measurement
| |
| − | |-
| |
| − | | colspan="2" | Max time in seconds that we can measure before rolling over and starting again.
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Timer Delay (ms)
| |
| − | |-
| |
| − | | colspan="2" | Number of milliseconds between timer events which increment the simulated timer counter variable. 10ms will yield the highest resolution. Values less than this will likely just increase the error and making the timer run slow. Higher delays will yield greater accuracy.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Decimal Points
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |}==Macro reference==
| |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 238: |
Line 119: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===GetCountString=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StartCounter'''
| |
| − | |-
| |
| − | | colspan="2" | Starts the timer counting.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| |
| − | | width="90%" | ResetCounters
| |
| − | |-
| |
| − | | colspan="2" | Range: 0-1 where 0=Do Not Reset and 1=Reset
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 274: |
Line 138: |
| | | | |
| | | | |
| | + | ===GetRawCount=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountMicroSeconds''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRawCount''' |
| | |- | | |- |
| − | | colspan="2" | Returns the count value as a number of whole microseconds, rounded down to the nearest microsecond | + | | colspan="2" | Efficient command to collect the integer number of instructions since the timer was started. |
| | |- | | |- |
| | |- | | |- |
| Line 287: |
Line 152: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===ResetCounter=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountMilliseconds'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a number of whole milliseconds, rounded down to the nearest millisecond
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StopCounter'''
| |
| − | |-
| |
| − | | colspan="2" | Stops the timer counting.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 326: |
Line 166: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===StartCounter=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountReal'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a floating point value in seconds.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRawCount'''
| |
| − | |-
| |
| − | | colspan="2" | Efficient command to collect the integer number of instructions since the timer was started.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | | |
| − | | |
| − | ==Property reference==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Timer
| |
| − | |-
| |
| − | | colspan="2" | Timer Peripheral to use to monitor the passage of time.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Bit Depth
| |
| − | |-
| |
| − | | colspan="2" | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Instruction Rate
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Rollover Frequency
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Rollover Time
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Max Time Measurement
| |
| − | |-
| |
| − | | colspan="2" | Max time in seconds that we can measure before rolling over and starting again.
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Timer Delay (ms)
| |
| − | |-
| |
| − | | colspan="2" | Number of milliseconds between timer events which increment the simulated timer counter variable. 10ms will yield the highest resolution. Values less than this will likely just increase the error and making the timer run slow. Higher delays will yield greater accuracy.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| |
| − | | width="90%" | Decimal Points
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |}==Macro reference==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountSeconds'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a number of whole seconds, rounded down to the nearest second
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 438: |
Line 185: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===StopCounter=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountString'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a floating point string in seconds.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Precision
| |
| − | |-
| |
| − | | colspan="2" | Number of decimal places to display in string
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountMicroSeconds'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a number of whole microseconds, rounded down to the nearest microsecond
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountMilliseconds'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a number of whole milliseconds, rounded down to the nearest millisecond
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 493: |
Line 197: |
| | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
| | |} | | |} |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ResetCounter'''
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetCountReal'''
| |
| − | |-
| |
| − | | colspan="2" | Returns the count value as a floating point value in seconds.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRawCount'''
| |
| − | |-
| |
| − | | colspan="2" | Efficient command to collect the integer number of instructions since the timer was started.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| | | | |
| | | | |
| Line 548: |
Line 211: |
| | |- | | |- |
| | | colspan="2" | Timer Peripheral to use to monitor the passage of time. | | | colspan="2" | Timer Peripheral to use to monitor the passage of time. |
| | + | |- |
| | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| | + | | width="90%" | Prescaler |
| | + | |- |
| | + | | colspan="2" | |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] |
| Line 554: |
Line 222: |
| | | colspan="2" | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing. | | | colspan="2" | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing. |
| | |- | | |- |
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | + | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] |
| | | width="90%" | Instruction Rate | | | width="90%" | Instruction Rate |
| | |- | | |- |
| Line 560: |
Line 228: |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] |
| − | | width="90%" | Rollover Frequency | + | | width="90%" | Timer Resolution (ms) |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| − | | width="90%" | Rollover Time
| |
| | |- | | |- |
| | | colspan="2" | | | | colspan="2" | |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] |
| − | | width="90%" | Max Time Measurement | + | | width="90%" | Max Time Measurement (s) |
| | |- | | |- |
| | | 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. |
| Line 588: |
Line 251: |
| | | colspan="2" | | | | colspan="2" | |
| | |} | | |} |
| | + | |
| | + | ==Component Source Code== |
| | + | |
| | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_TimerComponent.fcfx FC_Comp_Source_TimerComponent.fcfx] |
| | + | |
| | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerComponent.fcfx FC_Comp_Source_TimerComponent.fcfx] |