| Line 1: |
Line 1: |
| | timer.'''getMilliSecCounter''' is a function that is part of the [[:Category:timer|timer]] functions. | | timer.'''getMilliSecCounter''' is a function that is part of the [[:Category:timer|timer]] functions. |
| | | | |
| − | Returns the amount of milliseconds elapsed since last calculator reboot. | + | Returns the amount of milliseconds elapsed since last calculator reboot.<br /> |
| | In the Computer software emulator, it returns an absolute negative time. | | In the Computer software emulator, it returns an absolute negative time. |
| | + | <br /> |
| | | | |
| | The counter rolls over to zero when it passes 2<sup>32</sup> milliseconds. | | The counter rolls over to zero when it passes 2<sup>32</sup> milliseconds. |
| | + | <br /><br /> |
| | | | |
| | {{Since|3.0}} | | {{Since|3.0}} |
| | | | |
| | == Syntax == | | == Syntax == |
| − | timer.'''getMilliSecCounter'''() | + | timer.'''getMilliSecCounter'''()<br /> |
| | (No arguments) | | (No arguments) |
| | | | |
| | == Example == | | == Example == |
| | <syntaxhighlight>theTime = timer.getMilliSecCounter()</syntaxhighlight> | | <syntaxhighlight>theTime = timer.getMilliSecCounter()</syntaxhighlight> |
| | + | |
| | + | == Good to know == |
| | + | In order to define a relative time origin, whether it's on calc or in the emulator, this can be an example : |
| | + | |
| | + | <source>function now() |
| | + | local now = timer.getMilliSecCounter() |
| | + | if now < 0 then |
| | + | now = now + 2^31 |
| | + | end |
| | + | return now |
| | + | end</source> |
| | + | |
| | + | |
| | + | If you want to do something after ''60'' seconds, for example, here is what you have to do : |
| | + | |
| | + | <source>timeleft = 60-math.floor((math.abs(timer.getMilliSecCounter()) - math.abs(startTime))*0.001) |
| | + | -- startTime would be a variable defined earlier as '0', for instance. |
| | + | if math.abs(math.floor(timeleft)) == 0 then |
| | + | -- your code here -- |
| | + | end</source> |
| | | | |
| | == See also == | | == See also == |