Таймер#

Введение#

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

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

Методы — Управление таймером мозга и взаимодействие с ним.

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

  • clear — Сбрасывает таймер на ноль.

  • system — Возвращает количество миллисекунд, в течение которых мозг был включен.

  • system_high_res — Возвращает количество микросекунд, в течение которых мозг был включен.

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

Конструктор — Создание дополнительных таймеров.

  • Timer — Создает дополнительный таймер.

время#

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

Usage:
brain.timer.time(units)

Параметры

Описание

units

Единица измерения времени: MSEC (по умолчанию) – миллисекунды, или 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 обнуляет таймер. Это можно использовать для измерения времени выполнения дополнительных участков кода в рамках одного проекта.

Usage:
brain.timer.clear()

Параметры

Описание

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

# 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 возвращает количество миллисекунд, в течение которых мозг был включен.

Usage:
brain.timer.system()

Параметры

Описание

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

# 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 возвращает количество микросекунд, в течение которых мозг был включен.

Usage:
brain.timer.system_high_res()

Параметры

Описание

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

# 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 вызывает функцию по истечении заданного промежутка времени.

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

Параметры

Описание

callback

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

delay

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

arg

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

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

Строители#

Конструкторы используются для ручного создания объектов Timer Timer , которые необходимы для создания любых дополнительных таймеров, помимо brain.timer brain.timer.

В приведенных ниже примерах настроенный таймер будет называться timer_1 и будет использоваться во всех последующих примерах в этой документации по API при обращении к методам класса Timer.

Timer#

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

Usage:
Timer()

Параметры

Описание

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

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)