Таймер#

Введение#

Таймер робота-программиста VEX AIM отслеживает прошедшее время с начала выполнения проекта. Его можно использовать для измерения времени выполнения какой-либо операции или для сброса таймера перед началом новых операций.

Ниже приведён список всех методов:

Способы – Управление таймером.

  • reset – Сбрасывает таймер до нуля.

  • time – Возвращает, сколько времени прошло.

  • event – Регистрирует функцию, которая будет вызвана через указанное количество миллисекунд.

Конструктор – Создайте таймер для отслеживания времени.

  • Timer – Создать новый объект таймера, который можно использовать с этими методами.

Методы#

reset#

reset обнуляет таймер. Это можно использовать для измерения времени выполнения дополнительных участков кода в рамках одного проекта.

Применение:

timer.reset()

Параметры

Описание

Этот метод не имеет параметров.

# Display how long a turn takes
robot.move_for(100, 0)
timer.reset()
robot.turn_for(RIGHT, 90)
robot.screen.print("Time elapsed:")
robot.screen.next_row()
robot.screen.print("%d seconds" % timer.time(SECONDS))

time#

time возвращает время с момента последнего сброса таймера в десятичном формате. Таймер автоматически сбрасывается в начале проекта.

Применение:

timer.time(units)

Параметры

Описание

units

Единица измерения времени: MSEC (по умолчанию) – миллисекунды, или SECONDS

# Print the time in seconds
# and in milliseconds on the next row.
while timer.time(SECONDS) <= 5:
    robot.screen.clear_screen()
    robot.screen.set_cursor(1, 1)
    robot.screen.print("Time: %d" % timer.time(MSEC))
    robot.screen.next_row()
    robot.screen.print("Time: %.2f" % timer.time(SECONDS))
    wait(50, MSEC)

event#

Событие event вызывает функцию по истечении заданного промежутка времени.

Применение:

timer.event(callback, delay, arg)

Параметры

Описание

callback

Функция, которая будет выполняться при срабатывании события таймера.

delay

Задержка перед вызовом функции в миллисекундах.

arg

Необязательно. Кортеж, содержащий аргументы для передачи в функцию обратного вызова. См. Использование событий с параметрами для получения дополнительной информации.

# Create a function to play a sparkle sound
def timer_callback():
    robot.sound.play(SPARKLE)

# Call the function after 2000 milliseconds (2 seconds)
timer.event(timer_callback, 2000)

Конструктор#

Timer#

Timer создает новый таймер. Timer немедленно начнет отсчет с момента своего создания и будет работать со всеми методами timer.

Usage:
Timer()

Параметр

Описание

Этот конструктор не имеет параметров.

## Display 2 timers with a 2 second difference
wait(2, SECONDS)

stopwatch = Timer()

while True:
    robot.screen.clear_screen()

    robot.screen.set_cursor(1, 1)
    robot.screen.print("Timer:")
    robot.screen.set_cursor(2, 1)
    robot.screen.print(timer.time(SECONDS))

    robot.screen.set_cursor(4, 1)
    robot.screen.print("Stopwatch:")
    robot.screen.set_cursor(5, 1)
    robot.screen.print(stopwatch.time(SECONDS))

    wait(0.1, SECONDS)