หอส่งสัญญาณ#
การแนะนำ#
หอสัญญาณ 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 หลายดวงบนเสาสัญญาณตามรหัสประจำตัว
disableBlink - ปิดการกระพริบของไฟ LED หลายดวงบนเสาสัญญาณตามรหัสประจำตัว
กด - ตรวจสอบว่ากันชนหอสัญญาณกำลังถูกกดอยู่หรือไม่
กด - ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มกันชนของหอส่งสัญญาณ
released - ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยกันชน Signal Tower
setColor#
ควบคุมสีและสถานะของไฟ LED บนหอส่งสัญญาณโดยใช้วิธีการป้อนข้อมูลต่างๆ ไฟเหล่านี้สามารถใช้เพื่อติดตามตำแหน่งของหุ่นยนต์ในโครงการ หรือเพื่อแสดงเมื่อตรงตามเงื่อนไขบางอย่าง
Available Functions1 — กำหนดสีให้กับหอส่งสัญญาณโดยใช้ vex::color
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — ตั้งค่าสี LED โดยใช้ค่า RGB และ YW แบบ 32 บิต
void setColor( uint32_t rgb, uint32_t yw );
3 — ตั้งค่าความสว่างของ LED แต่ละดวงตามรหัส 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 ทั้งหมดบนหอส่งสัญญาณทีละดวง ไฟเหล่านี้สามารถใช้เพื่อติดตามตำแหน่งของหุ่นยนต์ในโครงการ หรือเพื่อแสดงเมื่อตรงตามเงื่อนไขบางอย่าง
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 บนเสาสัญญาณโดยใช้รหัสประจำตัวของ LED นั้นๆ ไฟกระพริบเหล่านี้สามารถใช้เพื่อแสดงเมื่อตรงตามเงื่อนไขบางอย่าง เช่น เมื่อหุ่นยนต์กำลังรอ หรือเมื่อต้องการความสนใจ
Available Functionsvoid setBlink(
ledId id,
bool enable );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
รหัส LED:
|
|
|
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
setBlinkTime#
ตั้งค่าระยะเวลาการกระพริบของไฟ LED บนเสาสัญญาณ
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ระยะเวลาเป็นมิลลิวินาทีที่ไฟ LED ควรติดสว่างขณะกระพริบ ค่าสูงสุดคือ 2500 มิลลิวินาที ค่า 0 หมายถึง 500 มิลลิวินาที |
|
|
ระยะเวลาเป็นมิลลิวินาทีที่ไฟ LED ควรดับเมื่อกะพริบ ค่าสูงสุดคือ 2500 มิลลิวินาที ค่า 0 จะใช้ค่า onTime ค่าเริ่มต้นคือ 0 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
enableBlink#
ฟังก์ชันนี้ช่วยให้สามารถกระพริบไฟ LED หลายดวงบนเสาสัญญาณตามหมายเลขประจำตัวของแต่ละดวงได้
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
รหัส LED:
|
|
|
ดัชนีของ LED ตัวที่สอง (ไม่บังคับ) ค่าเริ่มต้นคือ
|
|
|
ดัชนีของ LED ดวงที่สาม (ไม่บังคับ) ค่าเริ่มต้นคือ
|
|
|
ดัชนีของ LED ดวงที่สี่ (ไม่บังคับ) ค่าเริ่มต้นคือ
|
|
|
ดัชนีของ LED ดวงที่ห้า (ไม่บังคับ) ค่าเริ่มต้นคือ
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
disableBlink#
ปิดการกระพริบของไฟ LED หลายดวงบนเสาสัญญาณตามรหัสประจำตัวของไฟแต่ละดวง
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 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); }