برج الإشارة#
مقدمة#
The signaltower class is used to change lights and detect interactions with the CTE Signal Tower.
مُنشئات الفئات#
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 على برج الإشارة بواسطة معرف LED.
setBlinkTime - يحدد الوقت بين ومضات مصابيح LED الموجودة على برج الإشارة.
enableBlink - تمكين الوميض لعدة مصابيح LED على برج الإشارة بواسطة معرفاتها.
disableBlink - يعطل وميض مصابيح LED المتعددة على برج الإشارة بواسطة معرفاتها.
pressing - تُرجع ما إذا كان يتم الضغط على زر برج الإشارة حاليًا.
pressed - يسجل دالة يتم استدعاؤها عند الضغط على مصد برج الإشارة.
تم تحريره - يسجل دالة ليتم استدعاؤها عند تحرير مصد برج الإشارة.
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 على برج الإشارة باستخدام مُعرّف المؤشر. ويمكن استخدام هذه الأضواء الوامضة للإشارة إلى استيفاء شروط معينة، مثل انتظار الروبوت أو الحاجة إلى لفت الانتباه.
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); }