Sinyal Kulesi#

giriiş#

signaltower sınıfı, ışıkları değiştirmek ve CTE Sinyal Kulesi ile etkileşimleri tespit etmek için kullanılır.

Sınıf Oluşturucuları#

signaltower( 
  int32_t  index );

Sınıf Yıkıcısı#

signaltower nesnesini yok eder ve ilgili kaynakları serbest bırakır.

virtual ~signaltower();

Parametreler#

Parametre

Tip

Tanım

index

int32_t

Sinyal kulesinin bağlı olduğu Akıllı Bağlantı Noktası, PORTxşeklinde yazılır; burada x bağlantı noktası numarasıdır (örneğin, PORT1).

Örnekler#

// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);

Üye Fonksiyonları#

signaltower sınıfı aşağıdaki üye işlevlerini sağlar:

  • setColor - Çeşitli giriş yöntemlerini kullanarak Sinyal Kulesi üzerindeki LED renklerini ve durumlarını kontrol eder.

  • setColors - Sinyal Kulesindeki tüm LED’lerin durumunu ayrı ayrı ayarlar.

  • setBlink - Sinyal Kulesindeki bir LED’in yanıp sönme durumunu LED’in kimliğine göre ayarlar.

  • setBlinkTime - Sinyal Kulesindeki LED’lerin yanıp sönmeleri arasındaki süreyi ayarlar.

  • enableBlink - Sinyal Kulesindeki birden fazla LED’in kimliklerine göre yanıp sönmesini etkinleştirir.

  • disableBlink - Sinyal Kulesindeki birden fazla LED’in kimliklerine göre yanıp sönmesini devre dışı bırakır.

  • basma - Sinyal Kulesi tamponunun şu anda basılı olup olmadığını döndürür.

  • basıldı - Sinyal Kulesi tamponuna basıldığında çağrılacak bir fonksiyonu kaydeder.

  • serbest bırakıldı - Sinyal Kulesi tamponu serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.

setColor#

Çeşitli giriş yöntemleri kullanarak Sinyal Kulesi üzerindeki LED renklerini ve durumlarını kontrol eder. Bu ışıklar, robotun bir projede nerede olduğunu takip etmek veya belirli koşullar karşılandığında bunu göstermek için kullanılabilir.

Available Functions

1 — Sinyal Kulesini vex::color kullanarak bir renge ayarlar.

void setColor( 
  vex::color         color, 
  signaltower::state state = signaltower::state::on );

2 — 32 bit RGB ve YW değerlerini kullanarak LED renklerini ayarlar.

void setColor( 
  uint32_t rgb, 
  uint32_t yw );

3 — LED kimliğine göre her bir LED’in parlaklığını ayrı ayrı ayarlar.

void setColor( 
  ledId id, 
  uint32_t value );

4 — Tüm LED’ler için parlaklık seviyelerini ayrı ayrı ayarlar.

void setColor( 
  uint8_t r, 
  uint8_t y, 
  uint8_t g, 
  uint8_t b, 
  uint8_t w );

Parameters

Parametre

Tip

Tanım

color

vex::color

Kullanılacak renkler:

  • red
  • yellow
  • green
  • blue
  • white
  • all

state

signaltower::state

LED’in durumu:

  • on (Varsayılan) – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

rgb

uint32_t

Kırmızı, yeşil ve mavi LED’lerin parlaklığı 32 bitlik bir değer kullanılarak ifade edilir (örneğin, kırmızı açık = 0xFF0000, yeşil açık = 0x00FF00ve mavi açık = 0x0000FF).

yw

uint32_t

Sarı ve beyaz LED’lerin parlaklığı 32 bitlik bir değer kullanılarak ifade edilir (örneğin, sarı açık = 0xFF00 ve beyaz açık = 0x00FF).

id

ledId

Kontrol edilecek LED’in indeksi:

  • 0 – kırmızı
  • 1 – yeşil
  • 2 – mavi
  • 3 – beyaz
  • 4 – sarı

value

uint32_t

LED’in parlaklık seviyesi 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

r

uint8_t

Kırmızı LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

y

uint8_t

Sarı LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

g

uint8_t

Yeşil LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

b

uint8_t

Mavi LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

w

uint8_t

Beyaz LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples
// Set the Signal Tower to start blinking blue
SignalTower.setColor(vex::color::blue, signaltower::blink);

// Set the red, blue and white LEDs using hex values
SignalTower.setColor(0xFF00FF, 0x00FF);

// Set the green LED to full brightness by ID
SignalTower.setColor(1, 255);

// Set all LEDs to full brightness
SignalTower.setColor(255, 255, 255, 255, 255);

setColors#

Sinyal kulesindeki tüm LED’lerin durumunu ayrı ayrı ayarlar. Bu ışıklar, robotun bir projede nerede olduğunu takip etmek veya belirli koşullar karşılandığında bunu göstermek için kullanılabilir.

Available Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

Parametre

Tip

Tanım

rs

signaltower::state

Kırmızı LED’in durumu:

  • on – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

ys

signaltower::state

Sarı LED’in durumu:

  • on – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

gs

signaltower::state

Yeşil LED’in durumu:

  • on – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

bs

signaltower::state

Mavi LED’in durumu:

  • on – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

ws

signaltower::state

Beyaz LED’in durumu:

  • on – LED’i açar.
  • off – LED’i kapatır.
  • blink – LED’in yanıp sönmesini sağlar.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples
// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);

setBlinkTime#

Sinyal kulesindeki LED’lerin yanıp sönme aralıklarını ayarlar.

Available Functions
void setBlinkTime( 
  uint32_t onTime, 
  uint32_t offTime = 0 );

Parameters

Parametre

Tip

Tanım

onTime

uint32_t

LED’in yanıp sönmesi gereken süre (milisaniye cinsinden). Maksimum değer 2500 ms’dir. 0 değeri varsayılan olarak 500 ms’ye ayarlanmıştır.

offTime

uint32_t

LED’in yanıp sönerken kapalı kalması gereken süre (milisaniye cinsinden). Maksimum değer 2500 ms’dir. 0 değeri, onTime değerini kullanır. Varsayılan değer 0’dır.

Return Values

Bu fonksiyon bir değer döndürmez.

pressing#

Sinyal kulesinin tamponunun şu anda basılı olup olmadığını gösterir. Bu, acil durdurma olarak kullanılabilir.

Available Functions
bool pressing();

Parameters

Bu fonksiyonun parametresi yoktur.

Return Values

Sinyal kulesinin düğmesinin şu anda basılı olup olmadığını gösteren bir Boolean değeri döndürür.

  • true — Sinyal Kulesi’nin tamponuna şu anda basılıyor.

  • false — Sinyal Kulesi’nin tamponuna basılmıyor.

pressed#

Sinyal kulesi tamponuna basıldığında çağrılacak bir fonksiyonu kaydeder.

Available Functions
void pressed( void (* callback)(void) );

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Tampona basıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

// Display a message when bumper is pressed
void towerBumperPressed() {
  Brain.Screen.print("tower bumper pressed");
}

Geri çağrıyı main() fonksiyonunun içine kaydedin int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run towerBumperPressed when the tower bumper 
  // is pressed
  SignalTower.pressed(towerBumperPressed);
}

released#

Sinyal kulesi tamponu bırakıldığında çağrılacak bir fonksiyonu kaydeder.

Available Functions
void released( void (* callback)(void) );

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Tampon bırakıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

// Display a message when bumper is pressed
void towerBumperReleased() {
  Brain.Screen.print("tower bumper pressed");
}

Geri çağrıyı main() fonksiyonunun içine kaydedin int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run towerBumperReleased when the tower bumper 
  // is released
  SignalTower.released(towerBumperReleased);
}