Regulator czasowy#
Wstęp#
Timer w VEX CTE pozwala śledzić upływ czasu i wykonywać czynności w oparciu o interwały czasowe. Można go używać do pomiaru czasu trwania danej czynności lub resetowania w celu przeprowadzenia nowych operacji pomiaru czasu.
Uwaga: Timer jest dostępny tylko wtedy, gdy mózg został skonstruowany przy użyciu brain = Brain(), ponieważ cała funkcjonalność timera jest realizowana za pomocą metod na instancji Brain.
Ta strona używa nazwy brain jako przykładowej nazwy „brain”. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.
Poniżej znajduje się lista wszystkich metod:
timer_reset– Resetuje licznik do zera.timer_time– Zwraca czas, który upłynął od rozpoczęcia projektu.timer_event– Wywołuje funkcję po określonej liczbie milisekund, z opcjonalnymi argumentami.
reset_timera#
timer_reset ustawia timer na zero. Można tego użyć do pomiaru czasu dla innych sekcji kodu w tym samym projekcie.
Usage:
brain.timer_reset()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
if arm.is_done():
brain.timer_reset()
czas_timera#
timer_time zwraca aktualny czas, który upłynął od rozpoczęcia timera, w określonych jednostkach — liczba całkowita dla MSEC lub liczba zmiennoprzecinkowa dla SECONDS.
Usage:
brain.timer_time(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka reprezentująca czas:
|
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
if arm.is_done():
brain.timer_reset()
zdarzenie_timera#
timer_event wywołuje funkcję po upływie określonego czasu.
Usage:
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 Używanie funkcji z parametrami. |
def move_arm():
arm.move_inc(0, 100, 0)
# Move the arm after a 5000 millisecond delay
timer_event(move_arm, 5000)