बम्पर स्विच#

परिचय#

bumper क्लास का उपयोग बम्पर स्विच के साथ किया जाता है, जो एक यांत्रिक स्विच है जो दबाए जाने पर एक सर्किट को पूरा करता है, जिससे रोबोट को प्रेस और रिलीज़ का पता लगाने की अनुमति मिलती है।

VEX EXP बम्पर स्विच एक 3-तार वाला उपकरण है जिसमें रोबोट से जोड़ने के लिए एक चौड़ा काला आधार और ऊपर एक लाल दबाने योग्य बटन है।

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

bumper(
  triport::port &port );

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

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

virtual ~bumper();

पैरामीटर#

पैरामीटर

प्रकार

विवरण

port

triport::port&

बम्पर स्विच जिस 3-वायर पोर्ट से जुड़ा है, उसे Brain.ThreeWirePort.X या ExpanderName.Xके रूप में लिखा जाता है, जहाँ X पोर्ट अक्षर है (उदाहरण के लिए, Brain.ThreeWirePort.A या Expander1.A)।

उदाहरण#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

सदस्य कार्य#

bumper क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:

  • pressing — यह बताता है कि बम्पर स्विच दबाया जा रहा है या नहीं।

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

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

किसी भी bumper सदस्य फ़ंक्शन को कॉल करने से पहले, एक bumper इंस्टेंस बनाना आवश्यक है, जैसा कि नीचे दिखाया गया है:

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

pressing#

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

Available Functions
int32_t pressing();

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values

यह int32_t लौटाता है जो दर्शाता है कि बम्पर स्विच दबाया जा रहा है या नहीं।

  • 1 — बम्पर स्विच दबाया जा रहा है।

  • 0 — बम्पर स्विच दबाया नहीं जा रहा है।

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 BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

int main() के अंदर कॉलबैक को रजिस्टर करें

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  BumperA.pressed(BumperPressed);
}

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 BumperReleased() {
  Brain.Screen.print("Bumper released");
}

int main() के अंदर कॉलबैक को रजिस्टर करें

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  BumperA.released(BumperReleased);
}