सिग्नल टावर#

परिचय#

signaltower क्लास का उपयोग लाइट बदलने और सीटीई सिग्नल टावर के साथ इंटरैक्शन का पता लगाने के लिए किया जाता है।

क्लास कंस्ट्रक्टर#

signaltower( 
  int32_t  index );

क्लास डिस्ट्रक्टर#

signaltower ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।

virtual ~signaltower();

पैरामीटर#

पैरामीटर

प्रकार

विवरण

index

int32_t

सिग्नल टावर जिस स्मार्ट पोर्ट से जुड़ा है, उसे PORTxके रूप में लिखा जाता है, जहां x पोर्ट संख्या है (उदाहरण के लिए, PORT1)।

उदाहरण#

// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);

सदस्य कार्य#

signaltower क्लास निम्नलिखित सदस्य फ़ंक्शन प्रदान करती है:

  • setColor - विभिन्न इनपुट विधियों का उपयोग करके सिग्नल टॉवर पर एलईडी के रंगों और स्थितियों को नियंत्रित करता है।

  • setColors - सिग्नल टावर पर सभी एलईडी की स्थिति को व्यक्तिगत रूप से सेट करता है।

  • सेटब्लिंक - सिग्नल टावर पर एलईडी की ब्लिंक स्थिति को एलईडी की आईडी द्वारा सेट करता है।

  • setBlinkTime - सिग्नल टावर पर एलईडी के लिए ब्लिंक के बीच का समय निर्धारित करता है।

  • enableBlink - सिग्नल टावर पर कई एलईडी को उनकी आईडी के आधार पर ब्लिंक करने में सक्षम बनाता है।

  • disableBlink - सिग्नल टावर पर कई एलईडी के लिए उनकी आईडी द्वारा ब्लिंकिंग को अक्षम करता है।

  • प्रेसिंग - यह बताता है कि क्या सिग्नल टॉवर बम्पर वर्तमान में दबाया जा रहा है।

  • प्रेस्ड - सिग्नल टॉवर बम्पर दबाए जाने पर कॉल किए जाने वाले फ़ंक्शन को रजिस्टर करता है।

  • जारी - सिग्नल टॉवर बम्पर जारी होने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।

setColor#

यह विभिन्न इनपुट विधियों का उपयोग करके सिग्नल टावर पर लगे एलईडी के रंगों और स्थितियों को नियंत्रित करता है। इन लाइटों का उपयोग किसी प्रोजेक्ट में रोबोट की स्थिति का पता लगाने या कुछ शर्तों के पूरा होने पर उन्हें प्रदर्शित करने के लिए किया जा सकता है।

Available Functions

1 — 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 );

4 — सभी एलईडी के लिए चमक स्तर अलग-अलग सेट करता है।

void setColor( 
  uint8_t r, 
  uint8_t y, 
  uint8_t g, 
  uint8_t b, 
  uint8_t w );

Parameters

पैरामीटर

प्रकार

विवरण

color

vex::color

उपयोग किए जाने वाले रंग:

  • red
  • yellow
  • green
  • blue
  • white
  • all

state

signaltower::state

एलईडी की स्थिति:

  • on (डिफ़ॉल्ट) – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

rgb

uint32_t

लाल, हरे और नीले एलईडी की चमक को 32-बिट मान का उपयोग करके मापा जाता है (उदाहरण के लिए, लाल चालू = 0xFF0000, हरा चालू = 0x00FF00, और नीला चालू = 0x0000FF)।

yw

uint32_t

पीले और सफेद एलईडी की चमक को 32-बिट मान का उपयोग करके मापा जाता है (उदाहरण के लिए, पीला चालू = 0xFF00 और सफेद चालू = 0x00FF)।

id

ledId

नियंत्रित किए जाने वाले एलईडी का सूचकांक:

  • 0 – लाल
  • 1 – हरा
  • 2 – नीला
  • 3 – सफेद
  • 4 – पीला

value

uint32_t

एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

r

uint8_t

लाल एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

y

uint8_t

पीले एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

g

uint8_t

हरे एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

b

uint8_t

नीले एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

w

uint8_t

सफेद एलईडी की चमक 0 से 255 तक होती है, जिसमें 0 बंद और 255 अधिकतम चमक होती है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

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 Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

पैरामीटर

प्रकार

विवरण

rs

signaltower::state

लाल एलईडी की स्थिति:

  • on – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

ys

signaltower::state

पीली एलईडी की स्थिति:

  • on – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

gs

signaltower::state

हरी एलईडी की स्थिति:

  • on – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

bs

signaltower::state

नीली एलईडी की स्थिति:

  • on – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

ws

signaltower::state

सफेद एलईडी की स्थिति:

  • on – एलईडी चालू करता है।
  • off – एलईडी बंद करता है।
  • blink – एलईडी को झपकाता है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Examples
// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);

setBlinkTime#

सिग्नल टावर पर लगे एलईडी के टिमटिमाने के बीच का समय निर्धारित करता है।

Available Functions
void setBlinkTime( 
  uint32_t onTime, 
  uint32_t offTime = 0 );

Parameters

पैरामीटर

प्रकार

विवरण

onTime

uint32_t

एलईडी के ब्लिंक करते समय उसकी अवधि मिलीसेकंड में होनी चाहिए। अधिकतम अवधि 2500 मिलीसेकंड है। 0 का मान डिफ़ॉल्ट रूप से 500 मिलीसेकंड होता है।

offTime

uint32_t

ब्लिंक करते समय एलईडी के बंद रहने का समय मिलीसेकंड में। अधिकतम समय 2500 मिलीसेकंड है। 0 मान पर onTime मान का उपयोग होता है। डिफ़ॉल्ट मान 0 है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

pressing#

यह बताता है कि सिग्नल टावर का बम्पर वर्तमान में दबा हुआ है या नहीं। इसका उपयोग आपातकालीन स्टॉप के रूप में किया जा सकता है।

Available Functions
bool pressing();

Parameters

इस फ़ंक्शन में कोई पैरामीटर नहीं है।

Return Values

यह एक बूलियन मान लौटाता है जो यह दर्शाता है कि सिग्नल टॉवर का बम्पर वर्तमान में दबाया जा रहा है या नहीं।

  • true — सिग्नल टावर का बम्पर इस समय दबाया जा रहा है।

  • false — सिग्नल टावर का बम्पर नहीं दबाया जा रहा है।

pressed#

सिग्नल टावर बम्पर दबाए जाने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।

Available Functions
void pressed( void (* callback)(void) );

Parameters

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक फ़ंक्शन का पॉइंटर जिसे बम्पर दबाए जाने पर कॉल किया जाएगा।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

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 Functions
void released( void (* callback)(void) );

Parameters

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक फ़ंक्शन का पॉइंटर जिसे बम्पर छोड़े जाने पर कॉल किया जाएगा।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

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);
}