Bamperio jungiklis#

Įvadas#

bumper klasė naudojama su buferio jungikliu – mechaniniu jungikliu, kuris paspaudus užbaigia grandinę ir leidžia robotui aptikti paspaudimus ir atleidimus.

„VEX V5“ buferio jungiklis yra trijų laidų įrenginys su plačiu juodu pagrindu, skirtu jį prijungti prie roboto, ir raudonu paspaudžiamu mygtuku viršuje.

Klasės konstruktorius#

bumper(
  triport::port &port );

Klasės destruktorius#

Sunaikina bumper objektą ir išlaisvina susijusius išteklius.

virtual ~bumper();

Parametrai#

Parametras

Tipas

Aprašymas

port

triport::port&

3 laidų prievadas, prie kurio prijungtas buferio jungiklis, užrašomas kaip Brain.ThreeWirePort.X arba ExpanderName.X, kur X yra prievado raidė (pavyzdžiui, Brain.ThreeWirePort.A arba Expander1.A).

Pavyzdys#

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

Narių funkcijos#

bumper klasė apima šias narines funkcijas:

  • pressing – Grąžina, ar paspaudžiamas buferio jungiklis.

  • pressed – Registruoja funkciją, kuri bus iškviečiama paspaudus buferio jungiklį.

  • released — Registruoja funkciją, kuri bus iškviesta atleidus buferio jungiklį.

Prieš iškviečiant bet kokias bumper narių funkcijas, reikia sukurti bumper egzempliorių, kaip parodyta žemiau:

/* 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#

Grąžina, ar šiuo metu paspaustas buferio jungiklis. Tai galima naudoti norint patikrinti, ar robotas neatsitrenkia į kitus objektus.

Available Functions
int32_t pressing();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina int32_t nurodantį, ar paspaudžiamas buferio jungiklis.

  • 1 — Paspaustas buferio jungiklis.

  • 0 — Nepaspaustas buferio jungiklis.

pressed#

Registruoja funkciją, kuri bus iškviečiama paspaudus buferio jungiklį.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri bus iškviečiama paspaudus buferį.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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#

Registruoja funkciją, kuri bus iškviečiama atleidus buferio jungiklį.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri bus iškviečiama atleidus buferį.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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