Сигнальна вежа#
Вступ#
Клас signaltower використовується для зміни освітлення та виявлення взаємодії із сигнальною вежею CTE.
Конструктори класів#
signaltower(
int32_t index );
Деструктор класів#
Знищує об’єкт signaltower та звільняє пов’язані з ним ресурси.
virtual ~signaltower();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Розумний порт, до якого підключена сигнальна вежа, записується як |
Приклади#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Функції-члени#
Клас signaltower надає такі функції-члени:
setColor – Керує кольорами та станами світлодіодів на сигнальній вежі за допомогою різних методів введення.
setColors – Встановлює стан усіх світлодіодів на сигнальній вежі окремо.
setBlink – Встановлює стан мигання світлодіода на сигнальній вежі за ідентифікатором світлодіода.
setBlinkTime – Встановлює час між миганнями світлодіодів на сигнальній вежі.
enableBlink – Вмикає мигання кількох світлодіодів на сигнальній вежі за їхніми ідентифікаторами.
disableBlink – Вимикає миготіння кількох світлодіодів на сигнальній вежі за їхніми ідентифікаторами.
pressing – Повертає, чи натискається бампер Signal Tower на даний момент.
натиснуто – Реєструє функцію, яка викликається при натисканні бампера Signal Tower.
released – Реєструє функцію, яка викликається при звільненні бампера Signal Tower.
setColor#
Керує кольорами та станами світлодіодів на сигнальній вежі за допомогою різних методів введення. Ці світлодіоди можна використовувати для відстеження положення робота в проекті або для індикації виконання певних умов.
Available Functions1 — Встановлює колір сигнальної вежі за допомогою vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Встановлює кольори світлодіодів, використовуючи 32-бітні значення RGB та YW.
void setColor( uint32_t rgb, uint32_t yw );
3 — Встановлює яскравість окремого світлодіода за його ідентифікатором.
void setColor( ledId id, uint32_t value );
Parameters4 — Встановлює рівні яскравості для всіх світлодіодів окремо.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Колір для використання:
|
|
|
Стан світлодіода:
|
|
|
Яскравість червоного, зеленого та синього світлодіодів з використанням 32-бітового значення (наприклад, червоний увімкнено = |
|
|
Яскравість жовтого та білого світлодіодів визначається 32-бітовим значенням (наприклад, жовтий увімкнено = |
|
|
Індекс світлодіода для керування:
|
|
|
Яскравість світлодіода від 0 до 255, де 0 вимкнено, а 255 – максимальна яскравість. |
|
|
Яскравість червоного світлодіода від 0 до 255, де 0 вимкнено, а 255 – максимальна яскравість. |
|
|
Яскравість жовтого світлодіода від 0 до 255, де 0 вимкнено, а 255 – максимальна яскравість. |
|
|
Яскравість зеленого світлодіода від 0 до 255, де 0 вимкнено, а 255 – максимальна яскравість. |
|
|
Яскравість синього світлодіода від 0 до 255, де 0 вимкнено, а 255 – максимальна яскравість. |
|
|
Яскравість білого світлодіода від 0 до 255, де 0 – вимкнено, а 255 – максимальна яскравість. |
Ця функція не повертає значення.
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#
Встановлює стан усіх світлодіодів на сигнальній вежі окремо. Ці індикатори можна використовувати для відстеження місця розташування робота в проекті або для індикації виконання певних умов.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Стан червоного світлодіода:
|
|
|
Стан жовтого світлодіода:
|
|
|
Стан зеленого світлодіода:
|
|
|
Стан синього світлодіода:
|
|
|
Стан білого світлодіода:
|
Ця функція не повертає значення.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Встановлює стан мигання світлодіода на сигнальній вежі за його ідентифікатором. Ці мигаючі вогні можна використовувати для відображення виконання певних умов, наприклад, коли робот чекає або коли потрібна увага.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Ідентифікатор світлодіода:
|
|
|
|
Ця функція не повертає значення.
setBlinkTime#
Встановлює час між миганнями світлодіодів на сигнальній вежі.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Час у мілісекундах, протягом якого світлодіод має блимати. Максимум – 2500 мс. Значення 0 за замовчуванням становить 500 мс. |
|
|
Час у мілісекундах, протягом якого світлодіод має бути вимкнений під час миготіння. Максимум 2500 мс. Значення 0 використовує значення onTime. Значення за замовчуванням — 0. |
Ця функція не повертає значення.
enableBlink#
Вмикає мигання кількох світлодіодів на сигнальній вежі за їхніми ідентифікаторами.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Ідентифікатор світлодіода:
|
|
|
Індекс другого світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс третього світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс четвертого світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс п’ятого світлодіода (необов’язково). Значення за замовчуванням
|
Ця функція не повертає значення.
disableBlink#
Вимикає мигання кількох світлодіодів на сигнальній вежі за їхніми ідентифікаторами.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Індекс першого світлодіода.
|
|
|
Індекс другого світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс третього світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс четвертого світлодіода (необов’язково). Значення за замовчуванням
|
|
|
Індекс п’ятого світлодіода (необов’язково). Значення за замовчуванням
|
Ця функція не повертає значення.
pressing#
Повертає, чи натискається на бампер сигнальної вежі. Це можна використовувати для екстреної зупинки.
Available Functionsbool pressing();
Ця функція не має параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи натискається бампер сигнальної вежі.
true— Наразі триває пресування бампера сигнальної вежі.false— Бампер сигнальної вежі не натискається.
pressed#
Реєструє функцію, яка викликається при натисканні бампера Signal Tower.
Available Functionsvoid pressed( void (* callback)(void) );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Вказівник на функцію, яка буде викликана при натисканні бампера. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Зареєструйте зворотний виклик всередині
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#
Реєструє функцію, яка викликається при звільненні бампера Signal Tower.
Available Functionsvoid released( void (* callback)(void) );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Вказівник на функцію, яка буде викликана після звільнення бампера. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }Зареєструйте зворотний виклик всередині
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); }