Zamanlayıcı#

giriiş#

VEX IQ (2. Nesil)’deki Zamanlayıcı, geçen süreyi takip etmenize ve zaman aralıklarına bağlı olarak eylemler gerçekleştirmenize olanak tanır. Bir şeyin ne kadar sürdüğünü ölçmek veya yeni zamanlama işlemleri için sıfırlamak için kullanılabilir.

Aşağıda tüm yöntemlerin listesi bulunmaktadır:

Yöntemler — Beynin zamanlayıcısını kontrol edin ve onunla etkileşim kurun.

  • time — Ne kadar zaman geçtiğini döndürür.

  • clear — Zamanlayıcıyı sıfıra sıfırlar.

  • system — Beynin açık kaldığı milisaniye sayısını döndürür.

  • system_high_res — Beynin açık kaldığı mikrosaniye sayısını döndürür.

  • event — Belirtilen milisaniye sayısından sonra çağrılacak bir fonksiyonu kaydeder.

Yapıcı fonksiyon — Ek zamanlayıcılar oluşturun.

  • Timer — Ek bir zamanlayıcı oluşturur.

zaman#

time zamanlayıcının en son sıfırlanmasından bu yana geçen süreyi ondalık sayı olarak döndürür. Zamanlayıcı, projenin başlangıcında otomatik olarak sıfırlanır.

Usage:
brain.timer.time(units)

Parametreler

Tanım

units

Zamanı temsil eden birim: MSEC (varsayılan) – milisaniye veya 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)

temizlemek#

clear komutu zamanlayıcıyı sıfırlar. Bu, aynı proje içindeki ek kod bölümlerinin süresini ölçmek için kullanılabilir.

Usage:
brain.timer.clear()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

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

sistem#

system , beynin açık kaldığı milisaniye sayısını döndürür.

Usage:
brain.timer.system()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

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

sistem_yüksek_çözünürlük#

system_high_res , beynin açık kaldığı mikrosaniye sayısını döndürür.

Usage:
brain.timer.system_high_res()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

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

etkinlik#

event belirtilen süre geçtikten sonra bir fonksiyonu çağırır.

Usage:
brain.timer.event(callback, delay, arg)

Parametreler

Tanım

callback

Zamanlayıcı olayı gerçekleştiğinde çalıştırılacak bir fonksiyon.

delay

Fonksiyonun çağrılmasından önceki gecikme süresi, milisaniye cinsinden.

arg

İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir demet. Daha fazla bilgi için Parametreli Fonksiyonlar bölümüne bakın.

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

İnşaatçılar#

Yapıcılar, brain.timer yanı sıra herhangi bir ek zamanlayıcı oluşturmak için gerekli olan Timer nesnesini manuel olarak oluşturmak için kullanılır.

Aşağıdaki örneklerde, yapılandırılmış Zamanlayıcıya timer_1 adı verilecek ve bu API dokümantasyonunda Timer sınıf yöntemlerine atıfta bulunurken sonraki tüm örneklerde bu ad kullanılacaktır.

Timer#

Timer yeni bir zamanlayıcı oluşturur. Timer nesnesi oluşturulduğu anda hemen saymaya başlar ve tüm brain.timer yöntemleriyle çalışır.

Usage:
Timer()

Parametreler

Tanım

Bu yapıcı fonksiyonun parametresi yoktur.

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)