Таймер#

Введение#

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

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

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

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

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

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

timer_reset#

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

Usage:
brain.timer_reset()

Параметры

Описание

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

def main():
    # Reset the timer every 3 seconds
    while True:
        brain.clear()
        brain.print(brain.timer.time(SECONDS))
        if brain.timer_time(SECONDS) > 3: 
            brain.timer_reset()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

timer_time#

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

Usage:
brain.timer_time(units)

Параметры

Описание

units

Единица измерения времени: SECONDS

def main():
    # Display the current time on the timer
    while True:
        brain.clear()
        brain.print(brain.timer_time(SECONDS))
        wait(50, MSEC)

# VR threads — Do not delete
vr_thread(main)

timer_event#

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

Usage:
brain.timer_event(callback, delay)

Параметры

Описание

callback

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

delay

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

def timer_event():
    # Drive forward
    drivetrain.drive_for(FORWARD, 200, MM)

def main():
    # Drive forward after a 5000 millisecond delay
    brain.timer_event(timer_event, 5000)

# VR threads — Do not delete
vr_thread(main)