Timer#
Introduction#
The Timer in VEX IQ (2nd Gen) allows you to track elapsed time and perform actions based on time intervals. It can be used to measure how long something takes or reset for new timing operations.
Below is a list of all methods:
Methods — Control and interact with the Brain’s timer.
time— Returns how much time has passed.clear— Resets the timer to zero.system— Returns the number of milliseconds the Brain has been powered on.system_high_res— Returns the number of microseconds the Brain has been powered on.event— Registers a function to be called after a specified number of milliseconds.
Constructor — Create additional timers.
Timer— Creates an additional timer.
time#
time returns the time since the timer was last reset as a decimal. The timer is automatically reset at the start of a project.
Usage:
brain.timer.time(units)
Parameters |
Description |
|---|---|
|
The unit that represents the time: |
# Display the current time on the timer
while True:
brain.screen.set_cursor(1, 1)
brain.screen.clear_screen()
brain.screen.print(brain.timer.time(SECONDS))
wait(50, MSEC)
clear#
clear sets the timer to zero. This can be used to time additional sections of code within the same project.
Usage:
brain.timer.clear()
Parameters |
Description |
|---|---|
This method has no parameters. |
# Reset the timer when a button is pressed
while True:
brain.screen.set_cursor(1, 1)
brain.screen.clear_screen()
brain.screen.print(brain.timer.time(SECONDS))
wait(50, MSEC)
if brain.buttonCheck.pressing():
brain.timer.clear()
system#
system returns the number of milliseconds the brain has been powered on.
Usage:
brain.timer.system()
Parameters |
Description |
|---|---|
This method has no parameters. |
# Display the time the brain has been on in milliseconds
while True:
brain.screen.set_cursor(1, 1)
brain.screen.clear_screen()
brain.screen.print(brain.timer.system())
brain.screen.print(" MSEC")
wait(50, MSEC)
system_high_res#
system_high_res returns the number of microseconds the brain has been powered on.
Usage:
brain.timer.system_high_res()
Parameters |
Description |
|---|---|
This method has no parameters. |
# Display the time the brain has been on in microseconds
while True:
brain.screen.set_cursor(1, 1)
brain.screen.clear_screen()
brain.screen.print(brain.timer.system_high_res())
wait(50, MSEC)
event#
event calls a function after a specified amount of time passes.
Usage:
brain.timer.event(callback, delay, arg)
Parameters |
Description |
|---|---|
|
A function to execute when the timer event occurs. |
|
The delay before the function is called, in milliseconds. |
|
Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information. |
# Define a function timer_event
def timer_event():
drivetrain.drive_for(FORWARD, 200, MM)
# Drive forward after a 5000 millisecond delay
brain.timer.event(timer_event, 5000)
Constructors#
Constructors are used to manually create Timer objects, which are necessary for creating any additional timers besides brain.timer.
For the examples below, the configured Timer will be named timer_1 and will be used in all subsequent examples throughout this API documentation when referring to Timer class methods.
Timer#
Timer creates a new timer. A Timer object will immediately begin counting the moment it is created and will work with all brain.timer methods.
Usage:
Timer()
Parameters |
Description |
|---|---|
This constructor has no parameters. |
wait(2, SECONDS)
timer_1 = Timer()
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Brain: ")
brain.screen.print(brain.timer.time(SECONDS))
brain.screen.next_row()
brain.screen.print("timer_1: ")
brain.screen.print(timer_1.time(SECONDS))
wait(15, MSEC)