Ajastin#

Johdanto#

VEX AIR -droneohjaimen ajastin seuraa kulunutta aikaa projektin alusta. Sitä voidaan käyttää mittaamaan, kuinka kauan jokin kestää, tai nollaamaan ajastus uusia ajoitustoimintoja varten.

Alla on luettelo kaikista käytettävissä olevista menetelmistä:

Toiminto – Ohjaa ajastinta.

  • reset – Nollaa ajastimen.

Getter – Ilmoittaa ajastimen nykyisen arvon.

  • time – Palauttaa kuluneen ajan.

Takaisinsoitto – Käynnistää funktiot viiveen jälkeen.

  • event – Rekisteröi funktion kutsuttavaksi tietyn millisekuntien määrän kuluttua.

Konstructor - Luo ajastin ajan seuraamiseen.

  • Timer - Luo uusi ajastinobjekti, jota voidaan käyttää näiden metodien kanssa.

Toiminta#

reset#

reset asettaa ajastimen nollaan. Tätä voidaan käyttää saman projektin muiden koodiosien ajanottamiseen.

Usage:
timer.reset()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# Display the time the drone takes to climb upwards.
drone.take_off(500)
timer.reset()
drone.climb_for(UP, 500)
controller.screen.print("Time elapsed: ")
controller.screen.print(timer.time(SECONDS))
drone.land()

Getter#

time#

time palauttaa ajastimen viimeisimmästä nollauksesta kuluneen ajan desimaalilukuna. Ajastin nollautuu automaattisesti projektin alussa.

Usage:
timer.time(units)

Parametrit

Kuvaus

units

Aikaa edustava yksikkö: MSEC (oletus) – millisekuntia tai SECONDS

# Display the time in two units.
while True:
    controller.screen.clear_screen()
    controller.screen.set_cursor(1, 1)
    controller.screen.print("Time: {} ms".format(timer.time(MSEC)))
    controller.screen.next_row()
    controller.screen.print("Time: {:.2f} s".format(timer.time(SECONDS)))
    wait(50, MSEC)

Takaisinsoitto#

event#

event kutsuu funktiota tietyn ajan kuluttua.

Käyttö:

timer.event(callback, delay, arg)

Parametrit

Kuvaus

callback

Funktio, joka suoritetaan, kun ajastintapahtuma tapahtuu.

delay

Viive millisekunteina ennen funktion kutsumista.

arg

Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Tapahtumien käyttö parametrien kanssa.

# Create a function to play a looping sound.
def on_timer():
    controller.sound.play(LOOPING)

# Play the sound after 4 seconds (4000 mS).
timer.event(on_timer, 4000)

Rakentaja#

Timer#

Timer luo uuden ajastimen. Timer -objekti alkaa välittömästi laskea aikaa luomishetkestä ja toimii kaikkien timer -metodin kanssa.

Usage:
Timer()

Parametri

Kuvaus

Tällä konstruktorilla ei ole parametreja.

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

stopwatch = Timer()

while True:
    controller.screen.clear_screen()

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

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

    wait(0.1, SECONDS)