Таймер#

Вступ#

Таймер у VEX IQ (2-го покоління) дозволяє відстежувати час, що минув, і виконувати дії на основі часових інтервалів. Його можна використовувати для вимірювання часу виконання певних дій або скидання часу для нових операцій.

Нижче наведено список усіх методів:

Методи — Керування таймером мозку та взаємодія з ним.

  • time — Повертає, скільки часу минуло.

  • clear — Скидає таймер на нуль.

  • system — Повертає кількість мілісекунд, протягом яких Brain був увімкнений.

  • system_high_res — Повертає кількість мікросекунд, протягом яких Brain був увімкнений.

  • 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 повертає кількість мілісекунд, протягом яких brain був увімкнений.

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 повертає кількість мікросекунд, протягом яких brain був увімкнений.

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 , які необхідні для створення будь-яких додаткових таймерів, окрім 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)