신호탑#
소개#
signaltower 급은 신호등을 변경하고 CTE 신호탑과의 상호 작용을 감지하는 데 사용됩니다.
클래스 생성자#
signaltower(
int32_t index );
클래스 소멸자#
signaltower 객체를 파괴하고 관련 리소스를 해제합니다.
virtual ~signaltower();
매개변수#
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
신호탑이 연결된 스마트 포트는 |
예시#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
회원 기능#
signaltower 클래스는 다음과 같은 멤버 함수를 제공합니다.
setColor - 다양한 입력 방식을 사용하여 신호탑의 LED 색상 및 상태를 제어합니다.
setColors - 신호탑의 모든 LED의 상태를 개별적으로 설정합니다.
setBlink - LED ID로 신호탑의 LED의 깜빡임 상태를 설정합니다.
setBlinkTime - 신호탑의 LED 깜빡임 간격을 설정합니다.
enableBlink - 신호탑의 여러 LED를 ID로 깜빡이도록 활성화합니다.
disableBlink - ID로 신호탑의 여러 LED의 깜빡임을 비활성화합니다.
pressing - 신호탑 범퍼가 현재 눌려 있는지 여부를 반환합니다.
pressed - 신호탑 범퍼가 눌렸을 때 호출될 함수를 등록합니다.
released - 신호탑 범퍼가 해제될 때 호출될 함수를 등록합니다.
setColor#
다양한 입력 방식을 사용하여 신호탑의 LED 색상과 상태를 제어합니다. 이 표시등은 프로젝트에서 로봇의 위치를 추적하거나 특정 조건이 충족되었음을 나타내는 데 사용할 수 있습니다.
Available Functions1 — vex::color를 사용하여 신호탑의 색상을 설정합니다.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — 32비트 RGB 및 YW 값을 사용하여 LED 색상을 설정합니다.
void setColor( uint32_t rgb, uint32_t yw );
3 — LED ID별로 각 LED의 밝기를 설정합니다.
void setColor( ledId id, uint32_t value );
Parameters4 — 모든 LED의 밝기 수준을 개별적으로 설정합니다.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
사용할 색상:
|
|
|
LED의 상태:
|
|
|
빨강, 초록, 파랑 LED의 밝기는 32비트 값으로 표현됩니다(예: 빨강 켜짐 = |
|
|
노란색 및 흰색 LED의 밝기는 32비트 값으로 표현됩니다(예: 노란색 켜짐 = |
|
|
제어할 LED의 인덱스:
|
|
|
LED의 밝기는 0에서 255까지 조절 가능하며, 0은 꺼짐, 255는 최대 밝기입니다. |
|
|
빨간색 LED의 밝기는 0에서 255까지 조절 가능하며, 0은 꺼짐, 255는 최대 밝기입니다. |
|
|
노란색 LED의 밝기는 0에서 255까지 조절 가능하며, 0은 꺼짐, 255는 최대 밝기입니다. |
|
|
녹색 LED의 밝기는 0에서 255까지 조절 가능하며, 0은 꺼짐, 255는 최대 밝기입니다. |
|
|
파란색 LED의 밝기는 0에서 255까지 조절 가능하며, 0은 꺼짐, 255는 최대 밝기입니다. |
|
|
백색 LED의 밝기는 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#
시그널 타워의 모든 LED 상태를 개별적으로 설정합니다. 이 LED는 로봇이 프로젝트에서 현재 어디에 있는지 추적하거나 특정 조건이 충족되었음을 나타내는 데 사용할 수 있습니다.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
빨간색 LED의 상태:
|
|
|
노란색 LED의 상태:
|
|
|
녹색 LED의 상태:
|
|
|
파란색 LED의 상태:
|
|
|
흰색 LED의 상태:
|
이 함수는 값을 반환하지 않습니다.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
신호탑의 LED ID를 사용하여 LED의 깜빡임 상태를 설정합니다. 이 깜빡이는 불빛은 로봇이 대기 중이거나 주의가 필요할 때와 같이 특정 조건이 충족되었을 때를 나타내는 데 사용할 수 있습니다.
Available Functionsvoid setBlink(
ledId id,
bool enable );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
LED ID:
|
|
|
|
이 함수는 값을 반환하지 않습니다.
setBlinkTime#
신호탑 LED의 깜빡임 간격을 설정합니다.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
LED가 깜빡일 때 켜져 있어야 하는 시간(밀리초)입니다. 최대값은 2500ms입니다. 0으로 설정하면 기본값인 500ms가 사용됩니다. |
|
|
LED가 깜빡일 때 꺼져 있어야 하는 시간(밀리초)입니다. 최대값은 2500ms입니다. 값이 0이면 onTime 값이 사용됩니다. 기본값은 0입니다. |
이 함수는 값을 반환하지 않습니다.
enableBlink#
신호탑의 여러 LED를 ID별로 깜빡이도록 설정할 수 있습니다.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
LED ID:
|
|
|
두 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
세 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
네 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
다섯 번째 LED의 인덱스(선택 사항). 기본값은
|
이 함수는 값을 반환하지 않습니다.
disableBlink#
신호탑의 여러 LED의 깜빡임 기능을 각 LED의 ID를 기준으로 비활성화합니다.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
첫 번째 LED의 인덱스입니다.
|
|
|
두 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
세 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
네 번째 LED의 인덱스(선택 사항). 기본값은
|
|
|
다섯 번째 LED의 인덱스(선택 사항). 기본값은
|
이 함수는 값을 반환하지 않습니다.
pressing#
신호탑의 범퍼가 현재 눌려 있는지 여부를 반환합니다. 이는 비상 정지용으로 사용할 수 있습니다.
Available Functionsbool pressing();
이 함수는 매개변수를 받지 않습니다.
Return Values신호탑의 범퍼가 현재 눌러져 있는지 여부를 나타내는 부울 값을 반환합니다.
true— 신호탑의 범퍼가 현재 눌러지고 있습니다.false— 신호탑의 범퍼가 눌리지 않았습니다.
pressed#
신호탑 범퍼 버튼을 눌렀을 때 호출될 함수를 등록합니다.
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#
신호탑 범퍼를 놓았을 때 호출될 함수를 등록합니다.
Available Functionsvoid released( void (* callback)(void) );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
범퍼를 놓았을 때 호출될 함수에 대한 포인터입니다. |
이 함수는 값을 반환하지 않습니다.
Examples콜백 함수를 정의하십시오(
int main()외부).// Display a message when bumper is pressed void towerBumperReleased() { 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 towerBumperReleased when the tower bumper // is released SignalTower.released(towerBumperReleased); }