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 |
|---|---|
|
Aikaa edustava yksikkö: |
# 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 |
|---|---|
|
Funktio, joka suoritetaan, kun ajastintapahtuma tapahtuu. |
|
Viive millisekunteina ennen funktion kutsumista. |
|
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)