अक्ष#

परिचय#

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

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

चार जॉयस्टिक अक्षों को हाइलाइट करते हुए IQ प्रथम पीढ़ी का कंट्रोलर।

पहुँच#

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#

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#

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

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

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक पूर्व-परिभाषित कॉलबैक फ़ंक्शन जिसे अक्ष मान में परिवर्तन होने पर स्वचालित रूप से कॉल किया जाता है। फ़ंक्शन का कॉलबैक हस्ताक्षर आवश्यक है। अधिक जानकारी के लिए कॉलबैक फ़ंक्शन देखें।

Return Values

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

उदाहरण

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

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

// Play a sound when the left joystick moves
 void sounds() {
     Brain.playSound(siren);
     wait(1, seconds);
 }

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

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

  // Call the function when the left joystick moves
  Controller.Axis4.changed(sounds);
}