अक्ष#

परिचय#

axis वर्ग controller वर्ग का एक व्युत्पन्न वर्ग है। यह नियंत्रक जॉयस्टिक अक्ष मानों और जॉयस्टिक अक्ष परिवर्तन कॉलबैक तक पहुंच प्रदान करता है।

axis ऑब्जेक्ट को controller ऑब्जेक्ट के माध्यम से एक्सेस किया जाता है। इसे सीधे तौर पर निर्मित नहीं किया जाता है।

एक VEX V5 कंट्रोलर जिसमें जॉयस्टिक के चारों ओर अक्षों को चिह्नित किया गया है। अक्ष 1 और 2 दाएं जॉयस्टिक के चारों ओर हैं, और अक्ष 3 और 4 बाएं जॉयस्टिक के चारों ओर हैं।

पहुँच#

controller क्लास निम्नलिखित अक्ष ऑब्जेक्ट प्रदान करती है। प्रत्येक ऑब्जेक्ट axis क्लास का एक इंस्टेंस है।

अक्ष वस्तु

उपयोग का उदाहरण

विवरण

Axis1

Controller.Axis1.position()

दायां जॉयस्टिक क्षैतिज अक्ष।

Axis2

Controller.Axis2.position()

दाएँ जॉयस्टिक का ऊर्ध्वाधर अक्ष।

Axis3

Controller.Axis3.position()

बाएँ जॉयस्टिक का ऊर्ध्वाधर अक्ष।

Axis4

Controller.Axis4.position()

बाएँ जॉयस्टिक का क्षैतिज अक्ष।

नोट्स#

  • axis सदस्य फ़ंक्शन का उपयोग करने से पहले, controller ऑब्जेक्ट बनाएँ।

  • position -100 से 100 तक का मान लौटाता है।

// Create a Controller object
controller Controller = controller();

सदस्य कार्य#

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

गेटर — जॉयस्टिक अक्ष की स्थिति पढ़ें।

  • position — जॉयस्टिक अक्ष की स्थिति लौटाता है।

कॉलबैक — जब जॉयस्टिक की स्थिति किसी अक्ष के अनुदिश बदलती है तो एक फ़ंक्शन चलाएँ।

  • changed — जब जॉयस्टिक की स्थिति उस अक्ष के साथ बदलती है तो एक फ़ंक्शन चलता है।

प्राप्त करनेवाला#

पद#

position जॉयस्टिक अक्ष की स्थिति को -100 से 100 तक के मान के रूप में लौटाता है।

उपलब्ध फ़ंक्शन

int32_t position(percentUnits units = percentUnits::pct) const;

पैरामीटर

प्रकार

विवरण

units

percentUnits

वैकल्पिक। लौटाए गए अक्ष मान के लिए उपयोग की जाने वाली इकाई। डिफ़ॉल्ट percentUnits::pct

वापसी मूल्य

-100 से 100 तक int32_t मान लौटाता है।

  • 100 — जॉयस्टिक अक्ष पूरी तरह से धनात्मक दिशा में चला गया है।

  • 0 — जॉयस्टिक अक्ष केंद्र में है।

  • -100 — जॉयस्टिक अक्ष पूरी तरह से नकारात्मक दिशा में चला गया है।

उदाहरण

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

वापस बुलाओ#

बदला हुआ#

changed जॉयस्टिक की स्थिति उस अक्ष के अनुदिश बदलने पर एक फ़ंक्शन चलाता है।

उपलब्ध फ़ंक्शन

void changed(void (* callback)(void)) const;

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक ऐसा फ़ंक्शन जो हर बार जॉयस्टिक की स्थिति उस अक्ष के अनुदिश बदलने पर चलता है।

वापसी मूल्य

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

उदाहरण

कॉलबैक फ़ंक्शन को main के बाहर परिभाषित करें।

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

कॉलबैक को main के अंदर पंजीकृत करें।

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}