सिग्नल टावर#
परिचय#
signaltower क्लास का उपयोग लाइट बदलने और सीटीई सिग्नल टावर के साथ इंटरैक्शन का पता लगाने के लिए किया जाता है।
क्लास कंस्ट्रक्टर#
signaltower(
int32_t index );
क्लास डिस्ट्रक्टर#
signaltower ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।
virtual ~signaltower();
पैरामीटर#
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
सिग्नल टावर जिस स्मार्ट पोर्ट से जुड़ा है, उसे |
उदाहरण#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
सदस्य कार्य#
signaltower क्लास निम्नलिखित सदस्य फ़ंक्शन प्रदान करती है:
setColor - विभिन्न इनपुट विधियों का उपयोग करके सिग्नल टॉवर पर एलईडी के रंगों और स्थितियों को नियंत्रित करता है।
setColors - सिग्नल टावर पर सभी एलईडी की स्थिति को व्यक्तिगत रूप से सेट करता है।
सेटब्लिंक - सिग्नल टावर पर एलईडी की ब्लिंक स्थिति को एलईडी की आईडी द्वारा सेट करता है।
setBlinkTime - सिग्नल टावर पर एलईडी के लिए ब्लिंक के बीच का समय निर्धारित करता है।
enableBlink - सिग्नल टावर पर कई एलईडी को उनकी आईडी के आधार पर ब्लिंक करने में सक्षम बनाता है।
disableBlink - सिग्नल टावर पर कई एलईडी के लिए उनकी आईडी द्वारा ब्लिंकिंग को अक्षम करता है।
प्रेसिंग - यह बताता है कि क्या सिग्नल टॉवर बम्पर वर्तमान में दबाया जा रहा है।
प्रेस्ड - सिग्नल टॉवर बम्पर दबाए जाने पर कॉल किए जाने वाले फ़ंक्शन को रजिस्टर करता है।
जारी - सिग्नल टॉवर बम्पर जारी होने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।
setColor#
यह विभिन्न इनपुट विधियों का उपयोग करके सिग्नल टावर पर लगे एलईडी के रंगों और स्थितियों को नियंत्रित करता है। इन लाइटों का उपयोग किसी प्रोजेक्ट में रोबोट की स्थिति का पता लगाने या कुछ शर्तों के पूरा होने पर उन्हें प्रदर्शित करने के लिए किया जा सकता है।
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 — एलईडी आईडी द्वारा व्यक्तिगत एलईडी चमक सेट करता है।
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#
सिग्नल टावर बम्पर दबाए जाने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।
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); }