Ajastin#

Johdanto#

VEX IQ:n (2. sukupolvi) ajastin mahdollistaa kuluneen ajan seuraamisen ja toimintojen suorittamisen aikavälien perusteella. Sitä voidaan käyttää mittaamaan, kuinka kauan jokin kestää, tai nollaamaan ajastin uusia ajoitustoimintoja varten.

Alla on luettelo kaikista menetelmistä:

Menetelmät — Ohjaa ja ole vuorovaikutuksessa aivojen ajastimen kanssa.

  • time — Palauttaa kuluneen ajan.

  • clear — Nollaa ajastimen.

  • system — Palauttaa millisekuntien määrän, jonka aivot ovat olleet päällä.

  • system_high_res — Palauttaa aivojen käynnistysajan mikrosekunteina.

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

Konstruktori — Luo lisää ajastimia.

  • Timer — Luo lisäajastimen.

aika#

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

Usage:
brain.timer.time(units)

Parametrit

Kuvaus

units

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

# 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)

selkeä#

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

Usage:
brain.timer.clear()

Parametrit

Kuvaus

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

# 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()

järjestelmä#

system palauttaa millisekuntien määrän, jonka brain on ollut päällä.

Usage:
brain.timer.system()

Parametrit

Kuvaus

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

# 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)

järjestelmän_korkea_resoluutio#

system_high_res palauttaa mikrosekuntien määrän, jonka brain on ollut päällä.

Usage:
brain.timer.system_high_res()

Parametrit

Kuvaus

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

# 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)

tapahtuma#

event kutsuu funktiota tietyn ajan kuluttua.

Usage:
brain.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 Funktiot parametreilla.

# 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)

Rakentajat#

Konstruktoreita käytetään luomaan manuaalisesti Timer -objektia, jotka ovat välttämättömiä kaikkien muiden ajastinten luomiseen brain.timer -objektin lisäksi.

Alla olevissa esimerkeissä konfiguroidun ajastimen nimeksi annetaan timer_1 , ja sitä käytetään kaikissa seuraavissa esimerkeissä tässä API-dokumentaatiossa viitattaessa Timer -luokan metodeihin.

Timer#

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

Usage:
Timer()

Parametrit

Kuvaus

Tällä konstruktorilla ei ole parametreja.

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)