बटन#
परिचय#
button वर्ग ब्रेन आधार वर्ग से लिया गया है और आईक्यू (पहली पीढ़ी) ब्रेन के बटनों तक पहुंच प्रदान करता है, जिससे आपका रोबोट ब्रेन के बटनों पर प्रेस की निगरानी कर सकता है।
पहुँच#
brain क्लास बारह बटन ऑब्जेक्ट प्रदान करती है। प्रत्येक ऑब्जेक्ट button क्लास का एक इंस्टेंस है और इसे ब्रेन इंस्टेंस के माध्यम से एक्सेस किया जा सकता है।
वस्तु |
उपयोग का उदाहरण |
विवरण |
|---|---|---|
|
|
चेक बटन |
|
|
बायां बटन |
|
|
दायाँ बटन |
नोट्स#
buttonऑब्जेक्ट मस्तिष्क द्वारा प्रदान किया जाता है। इसे सीधे तौर पर निर्मित नहीं किया जाता है।
सदस्य कार्य#
Button क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:
pressed— निर्दिष्ट बटन दबाए जाने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।released— निर्दिष्ट बटन रिलीज़ होने पर कॉल किए जाने वाले फ़ंक्शन को रजिस्टर करता है।pressing— निर्दिष्ट बटन दबाया जा रहा है या नहीं, यह लौटाता है।
किसी भी button सदस्य फ़ंक्शन को कॉल करने से पहले, एक brain इंस्टेंस बनाना होगा, जैसा कि नीचे दिखाया गया है:
// Create a brain instance
brain();
pressed#
एक कॉलबैक फ़ंक्शन को पंजीकृत करता है जो मस्तिष्क के किसी विशिष्ट बटन को दबाए जाने पर चलता है।
Available Functionsvoid pressed(
void (* callback)(void) ) const;
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एक फ़ंक्शन जिसे निर्दिष्ट बटन दबाए जाने पर कॉल किया जाता है। |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
Examplesइस फ़ंक्शन को किसी भी ब्रेन बटन ऑब्जेक्ट पर कॉल किया जा सकता है, उदाहरण के लिए:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
कॉलबैक फ़ंक्शन को परिभाषित करें (
int main()के बाहर)// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }कॉलबैक को
int main()के अंदर पंजीकृत करेंint main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call driveForward when the check button is pressed Brain.buttonCheck.pressed(driveForward); }
released#
एक कॉलबैक फ़ंक्शन को पंजीकृत करता है जो मस्तिष्क के किसी विशिष्ट बटन को छोड़े जाने पर चलता है।
Available Functionsvoid released(
void (* callback)(void) ) const;
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एक फ़ंक्शन जिसे निर्दिष्ट बटन छोड़े जाने पर कॉल किया जाता है। |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
Examplesइस फ़ंक्शन को किसी भी ब्रेन बटन ऑब्जेक्ट पर कॉल किया जा सकता है, उदाहरण के लिए:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
कॉलबैक फ़ंक्शन को परिभाषित करें (
int main()के बाहर)// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }कॉलबैक को
int main()के अंदर पंजीकृत करेंint main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call backUp when the left button is released Brain.buttonLeft.released(backUp); }
pressing#
यह बताता है कि क्या मस्तिष्क का कोई विशिष्ट बटन वर्तमान में दबाया जा रहा है।
Available Functionsbool pressing() const;
यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
Return Valuesयह एक बूलियन मान लौटाता है जो यह दर्शाता है कि निर्दिष्ट बटन दबाया जा रहा है या नहीं:
true— बटन दबाया जा रहा है।false— बटन दबाया नहीं जा रहा है।
इस फ़ंक्शन को किसी भी ब्रेन बटन ऑब्जेक्ट पर कॉल किया जा सकता है, उदाहरण के लिए:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}