ബമ്പർ സ്വിച്ച്#

ആമുഖം#

ബമ്പർ സ്വിച്ചിനൊപ്പം bumper ക്ലാസ് ഉപയോഗിക്കുന്നു, അമർത്തുമ്പോൾ ഒരു സർക്യൂട്ട് പൂർത്തിയാക്കുന്ന ഒരു മെക്കാനിക്കൽ സ്വിച്ച്, റോബോട്ടിനെ അമർത്തലുകളും റിലീസുകളും കണ്ടെത്താൻ അനുവദിക്കുന്നു.

VEX V5 ബമ്പർ സ്വിച്ച് ഒരു 3-വയർ ഉപകരണമാണ്, അത് ഒരു റോബോട്ടിൽ ഘടിപ്പിക്കാൻ വീതിയുള്ള കറുത്ത അടിത്തറയും മുകളിൽ ചുവന്ന അമർത്താവുന്ന ബട്ടണും ഉണ്ട്.

ക്ലാസ് കൺസ്ട്രക്റ്റർ#

bumper(
  triport::port &port );

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

bumper ഒബ്‌ജക്റ്റ് നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

virtual ~bumper();

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

പാരാമീറ്റർ

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

വിവരണം

port

triport::port&

ബമ്പർ സ്വിച്ച് ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, Brain.ThreeWirePort.X അല്ലെങ്കിൽ ExpanderName.Xഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ X എന്നത് പോർട്ട് അക്ഷരമാണ് (ഉദാഹരണത്തിന്, Brain.ThreeWirePort.A അല്ലെങ്കിൽ Expander1.A).

ഉദാഹരണം#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

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

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

  • pressingഅമർത്തുന്നു — ബമ്പർ സ്വിച്ച് അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

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

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

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

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

pressing#

ബമ്പർ സ്വിച്ച് നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു. റോബോട്ട് മറ്റ് വസ്തുക്കളിൽ ഇടിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം.

Available Functions
int32_t pressing();

Parameters

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

Return Values

ബമ്പർ സ്വിച്ച് അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന int32_t നൽകുന്നു.

  • 1 — ബമ്പർ സ്വിച്ച് അമർത്തിക്കൊണ്ടിരിക്കുന്നു.

  • 0 — ബമ്പർ സ്വിച്ച് അമർത്തുന്നില്ല.

pressed#

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

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

ബമ്പർ അമർത്തുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ.

Return Values

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

Examples

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

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

int main() നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  BumperA.pressed(BumperPressed);
}

released#

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

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

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

Return Values

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

Examples

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

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

int main() നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  BumperA.released(BumperReleased);
}