नियंत्रक#

परिचय#

controller क्लास V5 ब्रेन से जुड़े VEX V5 कंट्रोलर को दर्शाती है। controller ऑब्जेक्ट का उपयोग जॉयस्टिक अक्ष मानों तक पहुँचने, बटन की स्थिति पढ़ने, बटन या जॉयस्टिक कॉलबैक पंजीकृत करने, कंट्रोलर को कंपन करने, कंट्रोलर स्क्रीन पर लिखने और यह जाँचने के लिए किया जा सकता है कि कंट्रोलर कनेक्टेड है या नहीं।

VEX V5 EXP कंट्रोलर के साथ संगत है। अधिक जानकारी के लिए EXP कंट्रोलर API देखें।

जब डिवाइसेस विंडो में एक या अधिक कंट्रोलर कॉन्फ़िगर किए जाते हैं, तो VEXcode V5 RemoteControlCodeEnabledभी प्रदान करता है। यह वैश्विक चर डिवाइसेस मेनू में कॉन्फ़िगर किए गए कंट्रोलर कार्यों को सक्षम या अक्षम करता है।

व्युत्पन्न वर्ग#

controller क्लास निम्नलिखित व्युत्पन्न क्लास प्रदान करती है:

  • Axis - जॉयस्टिक अक्ष इनपुट मानों और परिवर्तन घटनाओं तक पहुंच प्रदान करता है।

  • Button - बटन स्थिति और बटन इवेंट कॉलबैक तक पहुंच प्रदान करता है।

  • Screen - नियंत्रक स्क्रीन पर पाठ लिखने के लिए फ़ंक्शन प्रदान करता है।

कंस्ट्रक्टर्स#

1 - प्राथमिक नियंत्रक प्रकार का उपयोग करके एक नियंत्रक बनाता है। आमतौर पर इसका उपयोग तब किया जाता है जब केवल एक नियंत्रक जुड़ा होता है।

controller();

2 - निर्दिष्ट नियंत्रक प्रकार के लिए एक नियंत्रक बनाता है। इसका उपयोग तब किया जाता है जब दो नियंत्रक जुड़े होते हैं।

controller(
    controllerType id );

उपलब्ध कार्य

controller();

controller(controllerType id);

पैरामीटर

प्रकार

विवरण

id

controllerType

वैकल्पिक। बनाए जाने वाले नियंत्रक का प्रकार: primary मस्तिष्क से जुड़े प्राथमिक नियंत्रक के लिए या partner मस्तिष्क से जुड़े दूसरे नियंत्रक के लिए।

टिप्पणियाँ

एक ही प्रोजेक्ट में केवल एक primary कंट्रोलर और एक partner कंट्रोलर बनाए जा सकते हैं।

उदाहरण

// Create the primary Controller
controller Controller1 = controller();

// Create a partner Controller
controller Controller2 = controller(partner);

नाशक#

~ नियंत्रक#

~controller controller ऑब्जेक्ट को नष्ट करता है और संबंधित संसाधनों को जारी करता है।

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

~controller();

पैरामीटर#

पैरामीटर

प्रकार

विवरण

id

controllerType

बनाए जा रहे नियंत्रक का प्रकार:

  • primary - मस्तिष्क से जुड़ा प्राथमिक नियंत्रक।
  • partner - मस्तिष्क से जुड़ा सहयोगी (द्वितीय) नियंत्रक।

नोट्स#

  • एक ही प्रोजेक्ट में केवल एक primary और एक partner नियंत्रक मौजूद हो सकते हैं।

उदाहरण#

// Create a V5 controller instance
controller Controller = controller();

सदस्य कार्य#

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

  • rumble - एक पैटर्न का उपयोग करके नियंत्रक को कंपन करता है।

  • installed - जांच करता है कि नियंत्रक मस्तिष्क से जुड़ा है या नहीं।

गड़गड़ाहट#

rumble कंट्रोलर को एक पैटर्न का उपयोग करके कंपन कराता है। पैटर्न स्ट्रिंग में, डॉट्स छोटे कंपन, डैश लंबे कंपन और स्पेस विराम होते हैं।

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

void rumble(const char *str);

पैरामीटर

प्रकार

विवरण

str

const char *

बिंदुओं, डैश और रिक्त स्थानों से बनी एक स्ट्रिंग जो रंबल पैटर्न को दर्शाती है।

वापसी मूल्य

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

उदाहरण

// Rumble with a short-short-long pattern
Controller1.rumble("..-");

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

इंस्टॉल किया#

installed यह दर्शाता है कि नियंत्रक मस्तिष्क से जुड़ा है या नहीं।

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

bool installed();

पैरामीटर

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

वापसी मूल्य

यह एक बूलियन मान लौटाता है।

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

सार्वत्रिक चर#

रिमोट कंट्रोल कोड सक्षम#

RemoteControlCodeEnabled डिवाइस मेनू में कॉन्फ़िगर किए गए कंट्रोलर कार्यों को सक्षम या अक्षम करता है। कंट्रोलर द्वारा कॉन्फ़िगर किए गए कार्य डिफ़ॉल्ट रूप से सक्षम होते हैं।

Usage:
RemoteControlCodeEnabled = state;

कीमत

विवरण

true

कंट्रोलर द्वारा कॉन्फ़िगर किए गए कार्यों को सक्षम करता है।

false

कंट्रोलर द्वारा कॉन्फ़िगर की गई कार्रवाइयों को अक्षम करता है।

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • कंट्रोलर द्वारा कॉन्फ़िगर किए गए एक्शन डिफ़ॉल्ट रूप से सक्षम होते हैं।

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.Axis3.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.Axis3.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press A to use Controller configured actions again
  else if (Controller1.ButtonA.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;