Regulator czasowy#

Wstęp#

Timer robota VEX AIM Coding Robot śledzi upływ czasu od rozpoczęcia projektu. Można go używać do pomiaru czasu trwania zadania lub resetowania w celu wykonania nowych operacji pomiaru czasu.

Poniżej znajduje się lista wszystkich metod:

Metody – Kontroluj timer.

  • reset – Resetuje licznik do zera.

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

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

Konstruktor – Utwórz timer do śledzenia czasu.

  • Timer – Utwórz nowy obiekt timera, którego można używać z tymi metodami.

Metody#

reset#

reset ustawia timer na zero. Można tego użyć do pomiaru czasu kolejnych sekcji kodu w tym samym projekcie.

Stosowanie:

timer.reset()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Display how long a turn takes
robot.move_for(100, 0)
timer.reset()
robot.turn_for(RIGHT, 90)
robot.screen.print("Time elapsed:")
robot.screen.next_row()
robot.screen.print("%d seconds" % timer.time(SECONDS))

time#

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

Stosowanie:

timer.time(units)

Parametry

Opis

units

Jednostka reprezentująca czas: MSEC (domyślnie) – milisekundy lub SECONDS

# Print the time in seconds
# and in milliseconds on the next row.
while timer.time(SECONDS) <= 5:
    robot.screen.clear_screen()
    robot.screen.set_cursor(1, 1)
    robot.screen.print("Time: %d" % timer.time(MSEC))
    robot.screen.next_row()
    robot.screen.print("Time: %.2f" % timer.time(SECONDS))
    wait(50, MSEC)

event#

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

Stosowanie:

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 Używanie zdarzeń z parametrami.

# Create a function to play a sparkle sound
def timer_callback():
    robot.sound.play(SPARKLE)

# Call the function after 2000 milliseconds (2 seconds)
timer.event(timer_callback, 2000)

Konstruktor#

Timer#

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

Usage:
Timer()

Parametr

Opis

Ten konstruktor nie ma żadnych parametrów.

## Display 2 timers with a 2 second difference
wait(2, SECONDS)

stopwatch = Timer()

while True:
    robot.screen.clear_screen()

    robot.screen.set_cursor(1, 1)
    robot.screen.print("Timer:")
    robot.screen.set_cursor(2, 1)
    robot.screen.print(timer.time(SECONDS))

    robot.screen.set_cursor(4, 1)
    robot.screen.print("Stopwatch:")
    robot.screen.set_cursor(5, 1)
    robot.screen.print(stopwatch.time(SECONDS))

    wait(0.1, SECONDS)