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 |
|---|---|
|
Jednostka reprezentująca czas: |
# 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 |
|---|---|
|
Funkcja do wykonania po wystąpieniu zdarzenia timera. |
|
Opóźnienie przed wywołaniem funkcji (w milisekundach). |
|
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)