Zamanlayıcı#

giriiş#

VEX AIR Drone Kontrol Cihazının zamanlayıcısı, bir projenin başlangıcından itibaren geçen süreyi takip eder. Bir işlemin ne kadar sürdüğünü ölçmek veya yeni zamanlama işlemleri için sıfırlamak için kullanılabilir.

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

Yapılacak işlem – Zamanlayıcıyı kontrol edin.

  • reset – Zamanlayıcıyı sıfıra sıfırlar.

Getter – Geçerli zamanlayıcı değerini raporla.

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

Geri Çağrı – Gecikme sonrasında işlevleri tetikler.

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

Yapıcı Fonksiyon - Zamanı takip etmek için bir Zamanlayıcı oluşturun.

  • Timer - Bu yöntemlerle kullanılabilen yeni bir zamanlayıcı nesnesi oluşturun.

Aksiyon#

reset#

reset 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:
timer.reset()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 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:
timer.time(units)

Parametreler

Tanım

units

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

Geri çağırmak#

event#

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

Kullanım:

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 Olayları Kullanma bölümüne bakın.

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

Yapıcı#

Timer#

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

Usage:
Timer()

Parametre

Tanım

Bu yapıcı fonksiyonun parametresi yoktur.

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