Menara Sinyal#
Perkenalan#
Kelas signaltower digunakan untuk mengubah lampu dan mendeteksi interaksi dengan Menara Sinyal CTE.
Konstruktor Kelas#
signaltower(
int32_t index );
Destruktor Kelas#
Menghancurkan objek signaltower dan melepaskan sumber daya terkait.
virtual ~signaltower();
Parameter#
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Port Pintar yang terhubung ke Menara Sinyal, ditulis sebagai |
Contoh#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Fungsi Keanggotaan#
Kelas signaltower menyediakan fungsi anggota berikut:
setColor - Mengontrol warna dan status LED pada Menara Sinyal menggunakan berbagai metode input.
setColors - Mengatur status semua LED pada Menara Sinyal secara individual.
setBlink - Mengatur status kedip LED pada Menara Sinyal berdasarkan ID LED.
setBlinkTime - Mengatur waktu antara kedipan LED pada Menara Sinyal.
enableBlink - Mengaktifkan kedipan untuk beberapa LED pada Menara Sinyal berdasarkan ID-nya.
disableBlink - Menonaktifkan kedipan untuk beberapa LED pada Menara Sinyal berdasarkan ID-nya.
penekanan - Mengembalikan apakah bumper Menara Sinyal sedang ditekan.
ditekan - Mendaftarkan fungsi yang akan dipanggil ketika bumper Menara Sinyal ditekan.
released - Mendaftarkan fungsi yang akan dipanggil ketika bumper Menara Sinyal dilepaskan.
setColor#
Mengontrol warna dan status LED pada Menara Sinyal menggunakan berbagai metode input. Lampu-lampu ini dapat digunakan untuk melacak posisi robot dalam suatu proyek atau untuk menunjukkan kapan kondisi tertentu terpenuhi.
Available Functions1 — Mengatur warna Menara Sinyal menggunakan vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Mengatur warna LED menggunakan nilai RGB dan YW 32-bit.
void setColor( uint32_t rgb, uint32_t yw );
3 — Mengatur kecerahan masing-masing LED berdasarkan ID LED.
void setColor( ledId id, uint32_t value );
Parameters4 Mengatur tingkat kecerahan untuk semua LED secara individual.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Warna yang digunakan:
|
|
|
Status LED:
|
|
|
Kecerahan LED merah, hijau, dan biru menggunakan nilai 32-bit (misalnya, merah menyala = |
|
|
Kecerahan LED kuning dan putih menggunakan nilai 32-bit (misalnya, kuning menyala = |
|
|
Indeks LED yang akan dikontrol:
|
|
|
Tingkat kecerahan LED berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
|
|
Tingkat kecerahan LED merah berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
|
|
Tingkat kecerahan LED kuning berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
|
|
Tingkat kecerahan LED hijau berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
|
|
Tingkat kecerahan LED biru berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
|
|
Tingkat kecerahan LED putih berkisar dari 0 hingga 255, dengan 0 berarti mati dan 255 berarti kecerahan maksimal. |
Fungsi ini tidak mengembalikan nilai.
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#
Mengatur status semua LED pada Menara Sinyal secara individual. Lampu-lampu ini dapat digunakan untuk melacak posisi robot dalam suatu proyek atau untuk menunjukkan kapan kondisi tertentu terpenuhi.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Status LED merah:
|
|
|
Status LED kuning:
|
|
|
Status LED hijau:
|
|
|
Status LED biru:
|
|
|
Status LED putih:
|
Fungsi ini tidak mengembalikan nilai.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Mengatur status kedip LED pada Menara Sinyal berdasarkan ID LED tersebut. Lampu berkedip ini dapat digunakan untuk menunjukkan kapan kondisi tertentu terpenuhi, seperti saat robot sedang menunggu atau saat dibutuhkan perhatian.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
ID LED:
|
|
|
|
Fungsi ini tidak mengembalikan nilai.
setBlinkTime#
Mengatur waktu antar kedipan LED pada Menara Sinyal.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Waktu dalam milidetik yang dibutuhkan LED untuk menyala saat berkedip. Maksimum adalah 2500ms. Nilai 0 secara default berarti 500ms. |
|
|
Waktu dalam milidetik yang dibutuhkan agar LED mati saat berkedip. Maksimum adalah 2500ms. Nilai 0 menggunakan nilai onTime. Nilai default adalah 0. |
Fungsi ini tidak mengembalikan nilai.
enableBlink#
Mengaktifkan kedipan untuk beberapa LED pada Menara Sinyal berdasarkan ID-nya.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
ID LED:
|
|
|
Indeks LED kedua (opsional). Nilai default adalah
|
|
|
Indeks LED ketiga (opsional). Nilai default adalah
|
|
|
Indeks LED keempat (opsional). Nilai default adalah
|
|
|
Indeks LED kelima (opsional). Nilai default adalah
|
Fungsi ini tidak mengembalikan nilai.
disableBlink#
Menonaktifkan kedipan untuk beberapa LED pada Menara Sinyal berdasarkan ID-nya.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Indeks LED pertama.
|
|
|
Indeks LED kedua (opsional). Nilai default adalah
|
|
|
Indeks LED ketiga (opsional). Nilai default adalah
|
|
|
Indeks LED keempat (opsional). Nilai default adalah
|
|
|
Indeks LED kelima (opsional). Nilai default adalah
|
Fungsi ini tidak mengembalikan nilai.
pressing#
Mengembalikan nilai bogie yang menunjukkan apakah bumper Menara Sinyal sedang ditekan. Ini dapat digunakan sebagai pemberhentian darurat.
Available Functionsbool pressing();
Fungsi ini tidak memiliki parameter.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah bumper Menara Sinyal sedang ditekan atau tidak.
true— Bumper Menara Sinyal saat ini sedang dicetak.false— Bumper Menara Sinyal tidak ditekan.
pressed#
Mendaftarkan fungsi yang akan dipanggil ketika bumper Menara Sinyal ditekan.
Available Functionsvoid pressed( void (* callback)(void) );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Penunjuk ke fungsi yang akan dipanggil saat bumper ditekan. |
Fungsi ini tidak mengembalikan nilai.
ExamplesDefinisikan fungsi callback (di luar
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Daftarkan fungsi callback di dalam
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#
Mendaftarkan fungsi yang akan dipanggil saat bumper Menara Sinyal dilepas.
Available Functionsvoid released( void (* callback)(void) );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Pointer ke sebuah fungsi yang akan dipanggil ketika bumper dilepas. |
Fungsi ini tidak mengembalikan nilai.
ExamplesDefinisikan fungsi callback (di luar
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Daftarkan fungsi callback di dalam
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); }