ബട്ടൺ#

ആമുഖം#

button ക്ലാസ് brain ബേസ് ക്ലാസിൽ നിന്നാണ് ഉരുത്തിരിഞ്ഞത്, ഇത് IQ (2nd gen) ബ്രെയിനിന്റെ ബട്ടണുകളിലേക്ക് ആക്‌സസ് നൽകുന്നു, ഇത് നിങ്ങളുടെ റോബോട്ടിന് തലച്ചോറിന്റെ ബട്ടണുകളിലേക്കുള്ള അമർത്തലുകൾ നിരീക്ഷിക്കാൻ അനുവദിക്കുന്നു.

ആക്സസ്#

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

വസ്തു

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

വിവരണം

buttonCheck

Brain.buttonCheck.pressing()

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

buttonLeft

Brain.buttonLeft.pressing()

ഇടത് ബട്ടൺ

buttonRight

Brain.buttonRight.pressing()

വലത് ബട്ടൺ

കുറിപ്പുകൾ#

  • button ഒബ്ജക്റ്റ് തലച്ചോറാണ് നൽകുന്നത്. ഇത് നേരിട്ട് നിർമ്മിച്ചതല്ല.

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

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

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

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

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

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

// Create a brain instance
brain();

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 check 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 check button is pressed
  Brain.buttonCheck.pressed(driveForward);
}

released#

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

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

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

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

വിവരണം

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);
}

pressing#

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

Available Functions
bool pressing() const;

Parameters

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

Return Values

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

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

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

Examples

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

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