Timer#

Introduction#

The Timer in VEX IQ (2nd Gen) allows you to track elapsed time and perform actions based on time intervals. With various methods for time management, you can create precise and timed operations within your program.

Below is a list of all methods:

Methods – Control and interact with the Brain’s timer.

  • time – Returns the elapsed time since the project started.

  • 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 – Calls a function after a specified number of milliseconds, with optional arguments.

Constructor – Create additional timers.

  • Timer – Creates an additional timer.

time#

time returns the current elapsed time of the timer in the specified units — an integer for MSEC or a float for SECONDS.

Usage:
brain.timer.time(units)

Parameters

Description

units

The time units are milliseconds MSEC (default) or SECONDS.

# 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.

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.

Usage:
brain.timer.event(callback, delay, arg)

Parameters

Description

callback

A function to execute when the timer event occurs.

delay

The delay before the function is called, in milliseconds.

arg

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)