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 |
|---|---|
|
Zamanı temsil eden birim: |
# 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 |
|---|---|
|
Zamanlayıcı olayı gerçekleştiğinde çalıştırılacak bir fonksiyon. |
|
Fonksiyonun çağrılmasından önceki gecikme süresi, milisaniye cinsinden. |
|
İ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)