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 |
|---|---|---|
|
|
Sinyal kulesinin bağlı olduğu Akıllı Bağlantı Noktası, |
Ö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 Functions1 — 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 );
Parameters4 — 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 );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Kullanılacak renkler:
|
|
|
LED’in durumu:
|
|
|
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 = |
|
|
Sarı ve beyaz LED’lerin parlaklığı 32 bitlik bir değer kullanılarak ifade edilir (örneğin, sarı açık = |
|
|
Kontrol edilecek LED’in indeksi:
|
|
|
LED’in parlaklık seviyesi 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
|
|
Kırmızı LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
|
|
Sarı LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
|
|
Yeşil LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
|
|
Mavi LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
|
|
Beyaz LED’in parlaklığı 0 ile 255 arasında değişir; 0 kapalı, 255 ise maksimum parlaklıktır. |
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 Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Kırmızı LED’in durumu:
|
|
|
Sarı LED’in durumu:
|
|
|
Yeşil LED’in durumu:
|
|
|
Mavi LED’in durumu:
|
|
|
Beyaz LED’in durumu:
|
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);
setBlink#
Sinyal Kulesi üzerindeki bir LED’in yanıp sönme durumunu, LED’in kimliğine göre ayarlar. Bu yanıp sönen ışıklar, robotun beklemesi veya dikkat gerekmesi gibi belirli koşulların karşılandığını göstermek için kullanılabilir.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
LED Kimliği:
|
|
|
|
Bu fonksiyon bir değer döndürmez.
setBlinkTime#
Sinyal kulesindeki LED’lerin yanıp sönme aralıklarını ayarlar.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
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. |
|
|
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. |
Bu fonksiyon bir değer döndürmez.
enableBlink#
Sinyal kulesindeki birden fazla LED’in kimlik numaralarına göre yanıp sönmesini sağlar.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
LED Kimliği:
|
|
|
İkinci LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Üçüncü LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Dördüncü LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Beşinci LED’in indeksi (isteğe bağlı). Varsayılan değer
|
Bu fonksiyon bir değer döndürmez.
disableBlink#
Sinyal kulesindeki birden fazla LED’in kimlik numaralarına göre yanıp sönmesini devre dışı bırakır.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
İlk LED’in indeksi.
|
|
|
İkinci LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Üçüncü LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Dördüncü LED’in indeksi (isteğe bağlı). Varsayılan değer
|
|
|
Beşinci LED’in indeksi (isteğe bağlı). Varsayılan değer
|
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 Functionsbool pressing();
Bu fonksiyonun parametresi yoktur.
Return ValuesSinyal 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 Functionsvoid pressed( void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Tampona basıldığında çağrılacak bir fonksiyona işaretçi. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri ç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 Functionsvoid released( void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Tampon bırakıldığında çağrılacak bir fonksiyona işaretçi. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri ç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); }