Regulator czasowy#

Wstęp#

Timer w VEX IQ (2. generacji) umożliwia śledzenie upływu czasu i wykonywanie czynności w oparciu o interwały czasowe. Można go używać do pomiaru czasu trwania danej czynności lub resetowania w celu wykonania nowych operacji pomiaru czasu.

Poniżej znajduje się lista wszystkich metod:

Metody — Kontroluj i wchodź w interakcję z timerem mózgu.

  • time — Zwraca, ile czasu upłynęło.

  • clear — Resetuje licznik do zera.

  • system — Zwraca liczbę milisekund, przez które mózg był włączony.

  • system_high_res — Zwraca liczbę mikrosekund, przez które mózg był włączony.

  • event — Rejestruje funkcję, która ma zostać wywołana po określonej liczbie milisekund.

Konstruktor — Utwórz dodatkowe timery.

  • Timer — Tworzy dodatkowy timer.

czas#

time zwraca czas od ostatniego zresetowania timera w postaci ułamka dziesiętnego. Timer jest automatycznie resetowany na początku projektu.

Usage:
brain.timer.time(units)

Parametry

Opis

units

Jednostka reprezentująca czas: MSEC (domyślnie) – milisekundy lub 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)

jasne#

clear ustawia licznik na zero. Można go użyć do pomiaru czasu dla innych sekcji kodu w tym samym projekcie.

Usage:
brain.timer.clear()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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 zwraca liczbę milisekund, przez które mózg był włączony.

Usage:
brain.timer.system()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# 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_wysoka_rozdzielczość#

system_high_res zwraca liczbę mikrosekund, przez które mózg był włączony.

Usage:
brain.timer.system_high_res()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

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

wydarzenie#

Zdarzenie event wywołuje funkcję po upływie określonego czasu.

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

Parametry

Opis

callback

Funkcja do wykonania po wystąpieniu zdarzenia timera.

delay

Opóźnienie przed wywołaniem funkcji (w milisekundach).

arg

Opcjonalnie. Krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Funkcjach z parametrami.

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

Konstruktorzy#

Konstruktory służą do ręcznego tworzenia obiektów Timer , które są niezbędne do tworzenia dodatkowych timerów oprócz brain.timer.

W poniższych przykładach skonfigurowany Timer będzie nosił nazwę timer_1 i będzie używany we wszystkich kolejnych przykładach w tej dokumentacji API podczas odwoływania się do metod klasy Timer.

Timer#

Timer tworzy nowy timer. Timer rozpocznie odliczanie natychmiast po utworzeniu i będzie działał ze wszystkimi brain.timer.

Usage:
Timer()

Parametry

Opis

Ten konstruktor nie ma żadnych parametrów.

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)