ബട്ടൺ#

ആമുഖം#

button ക്ലാസ് brain ബേസ് ക്ലാസിൽ നിന്ന് ഉരുത്തിരിഞ്ഞതാണ്, കൂടാതെ EXP ബ്രെയിനിന്റെ ബട്ടണുകളിലേക്ക് ആക്‌സസ് നൽകുന്നു, നിങ്ങളുടെ റോബോട്ടിന്റെ ബട്ടണുകൾ അമർത്തി റിലീസ് ചെയ്യുമ്പോൾ അത് കണ്ടെത്താൻ ഇത് അനുവദിക്കുന്നു.

ആക്സസ്#

button ക്ലാസ് മൂന്ന് ബട്ടൺ ഒബ്‌ജക്റ്റുകൾ നൽകുന്നു. ഓരോ ഒബ്‌ജക്റ്റും button ക്ലാസിന്റെ ഒരു ഉദാഹരണമാണ്, കൂടാതെ ഒരു ബ്രെയിൻ ഇൻസ്റ്റൻസ് വഴി ആക്‌സസ് ചെയ്യാൻ കഴിയും.

വസ്തു

ഉദാഹരണ ഉപയോഗം

വിവരണം

buttonCheck

Brain.buttonCheck.pressing()

ബട്ടൺ പരിശോധിക്കുക

buttonLeft

Brain.buttonLeft.pressing()

ഇടത് ബട്ടൺ

buttonRight

Brain.buttonRight.pressing()

വലത് ബട്ടൺ

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

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

  • pressingഅമർത്തുന്നു — നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • pressed — നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • released — നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്‌ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

ഏതെങ്കിലും button അംഗ ഫംഗ്ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു brain ഉദാഹരണം സൃഷ്ടിക്കണം:

// Create the EXP Brain
brain Brain = brain();

pressing#

ഒരു പ്രത്യേക ബ്രെയിൻ ബട്ടൺ നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

Available Functions
bool pressing() const;

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true — ബട്ടൺ അമർത്തിക്കൊണ്ടിരിക്കുന്നു.

  • false — ബട്ടൺ അമർത്തുന്നില്ല.

Examples

ഈ ഫംഗ്ഷൻ ഏത് ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while the check button is pressed
while (true) {
    if (Brain.buttonCheck.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}

pressed#

ഒരു പ്രത്യേക ബ്രെയിൻ ബട്ടൺ അമർത്തുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

Available Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷൻ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

ഈ ഫംഗ്ഷൻ ഏത് ബ്രെയിൻ ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക ( int main() ന് പുറത്ത്)

// Drive forward when the right button 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 right button is pressed
  Brain.buttonRight.pressed(driveForward);
}

released#

ഒരു പ്രത്യേക ബ്രെയിൻ ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

Available Functions
void released( 
  void (* callback)(void) ) const;

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷൻ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

ഈ ഫംഗ്ഷൻ ഏത് ബ്രെയിൻ ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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);
}