ബട്ടൺ#
ആമുഖം#
button ക്ലാസ് brain ബേസ് ക്ലാസിൽ നിന്നാണ് ഉരുത്തിരിഞ്ഞത്, ഇത് IQ (2nd gen) ബ്രെയിനിന്റെ ബട്ടണുകളിലേക്ക് ആക്സസ് നൽകുന്നു, ഇത് നിങ്ങളുടെ റോബോട്ടിന് തലച്ചോറിന്റെ ബട്ടണുകളിലേക്കുള്ള അമർത്തലുകൾ നിരീക്ഷിക്കാൻ അനുവദിക്കുന്നു.
ആക്സസ്#
brain ക്ലാസ് പന്ത്രണ്ട് ബട്ടൺ ഒബ്ജക്റ്റുകൾ നൽകുന്നു. ഓരോ ഒബ്ജക്റ്റും button ക്ലാസിന്റെ ഒരു ഉദാഹരണമാണ്, കൂടാതെ ഒരു ബ്രെയിൻ ഇൻസ്റ്റൻസ് വഴി ആക്സസ് ചെയ്യാൻ കഴിയും.
വസ്തു |
ഉദാഹരണ ഉപയോഗം |
വിവരണം |
|---|---|---|
|
|
ബട്ടൺ പരിശോധിക്കുക |
|
|
ഇടത് ബട്ടൺ |
|
|
വലത് ബട്ടൺ |
കുറിപ്പുകൾ#
buttonഒബ്ജക്റ്റ് തലച്ചോറാണ് നൽകുന്നത്. ഇത് നേരിട്ട് നിർമ്മിച്ചതല്ല.
അംഗ പ്രവർത്തനങ്ങൾ#
Button ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്ഷനുകൾ ഉൾപ്പെടുന്നു:
pressed— നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.released— നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.pressingഅമർത്തുന്നു — നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.
ഏതെങ്കിലും button അംഗ ഫംഗ്ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു brain ഉദാഹരണം സൃഷ്ടിക്കണം:
// Create a brain instance
brain();
pressed#
ഒരു പ്രത്യേക ബ്രെയിൻ ബട്ടൺ അമർത്തുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷൻ. |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Examplesഈ ഫംഗ്ഷൻ ഏത് ബ്രെയിൻ ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid released(
void (* callback)(void) ) const;
പാരാമീറ്ററുകൾ#
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷൻ. |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Examplesഈ ഫംഗ്ഷൻ ഏത് ബ്രെയിൻ ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsbool pressing() const;
ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.
Return Valuesനിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:
true— ബട്ടൺ അമർത്തിക്കൊണ്ടിരിക്കുന്നു.false— ബട്ടൺ അമർത്തുന്നില്ല.
ഈ ഫംഗ്ഷൻ ഏത് ബ്രെയിൻ ബട്ടൺ ഒബ്ജക്റ്റിലും വിളിക്കാം, ഉദാഹരണത്തിന്:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}