കൺട്രോളർ#

ആമുഖം#

controller ക്ലാസ് IQ ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു VEX IQ കൺട്രോളറെ പ്രതിനിധീകരിക്കുന്നു. ജോയിസ്റ്റിക്ക് ആക്സിസ് മൂല്യങ്ങൾ ആക്സസ് ചെയ്യുന്നതിനും, ബട്ടൺ സ്റ്റേറ്റുകൾ വായിക്കുന്നതിനും, ബട്ടൺ അല്ലെങ്കിൽ ജോയ്സ്റ്റിക്ക് കോൾബാക്കുകൾ രജിസ്റ്റർ ചെയ്യുന്നതിനും, കൺട്രോളർ കണക്റ്റുചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനും ഒരു controller ഒബ്ജക്റ്റ് ഉപയോഗിക്കാം.

IQ (രണ്ടാം തലമുറ) തലച്ചോറിന് ഒരു IQ (രണ്ടാം തലമുറ) അല്ലെങ്കിൽ IQ (ഒന്നാം തലമുറ) കൺട്രോളറുമായി ബന്ധിപ്പിക്കാൻ കഴിയും. ഒരു IQ (ഒന്നാം തലമുറ) കൺട്രോളറിൽ ഒരു നീല സ്മാർട്ട് റേഡിയോ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം.

ഡിവൈസസ് വിൻഡോയിൽ ഒന്നോ അതിലധികമോ കൺട്രോളറുകൾ കോൺഫിഗർ ചെയ്യുമ്പോൾ, VEXcode IQ RemoteControlCodeEnabledഉം നൽകുന്നു. ഈ ഗ്ലോബൽ വേരിയബിൾ ഡിവൈസസ് മെനുവിൽ കോൺഫിഗർ ചെയ്തിരിക്കുന്ന കൺട്രോളർ പ്രവർത്തനങ്ങൾ പ്രാപ്തമാക്കുന്നു അല്ലെങ്കിൽ അപ്രാപ്തമാക്കുന്നു.

ഉരുത്തിരിഞ്ഞ ക്ലാസുകൾ#

controller ക്ലാസ് താഴെ പറയുന്ന ഡിറൈവ്ഡ് ക്ലാസുകൾ നൽകുന്നു:

  • Axis - ജോയിസ്റ്റിക്ക് അച്ചുതണ്ട് ഇൻപുട്ട് മൂല്യങ്ങളിലേക്കും ഇവന്റുകൾ മാറ്റുന്നതിലേക്കും ആക്‌സസ് നൽകുന്നു.

  • Button - ബട്ടൺ അവസ്ഥയിലേക്കും ബട്ടൺ ഇവന്റ് കോൾബാക്കുകളിലേക്കും ആക്‌സസ് നൽകുന്നു.

കൺസ്ട്രക്‌ടർമാർ#

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 controller instance
controller Controller = controller();

അംഗ പ്രവർത്തനങ്ങൾ#

controller ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്ഷൻ ഉൾപ്പെടുന്നു:

  • installed - കൺട്രോളർ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുന്നു.

ഇൻസ്റ്റാൾ ചെയ്തു#

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.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;