Bampera slēdzis#

Ievads#

bumper klase tiek izmantota kopā ar bufera slēdzi — mehānisku slēdzi, kas nospiežot pabeidz ķēdi, ļaujot robotam noteikt nospiešanas un atlaišanas.

VEX V5 bufera slēdzis ir trīsvadu ierīce ar platu melnu pamatni, lai to varētu piestiprināt pie robota, un sarkanu nospiežamu pogu augšpusē.

Klases konstruktors#

bumper(
  triport::port &port );

Klases iznīcinātājs#

Iznīcina bumper objektu un atbrīvo saistītos resursus.

virtual ~bumper();

Parametri#

Parametrs

Tips

Apraksts

port

triport::port&

3 vadu ports, kuram ir pievienots bufera slēdzis, kas pierakstīts kā Brain.ThreeWirePort.X vai ExpanderName.X, kur X ir porta burts (piemēram, Brain.ThreeWirePort.A vai Expander1.A).

Piemērs#

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

Dalībnieku funkcijas#

bumper klase ietver šādas dalībfunkcijas:

  • pressing — Atgriež, vai tiek nospiests bufera slēdzis.

  • pressed — Reģistrē funkciju, kas tiks izsaukta, nospiežot bufera slēdzi.

  • released — Reģistrē funkciju, kas tiks izsaukta, atlaižot bufera slēdzi.

Pirms jebkuru bumper dalībfunkciju izsaukšanas ir jāizveido bumper instance, kā parādīts zemāk:

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

Atgriež, vai bufera slēdzis pašlaik tiek nospiests. To var izmantot, lai pārbaudītu, vai robots uzduras citiem objektiem.

Available Functions
int32_t pressing();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež int32_t , kas norāda, vai tiek nospiests bufera slēdzis.

  • 1 — Tiek nospiests bufera slēdzis.

  • 0 — Bampera slēdzis netiek nospiests.

pressed#

Reģistrē funkciju, kas tiks izsaukta, nospiežot bufera slēdzi.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, nospiežot buferi.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

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

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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#

Reģistrē funkciju, kas tiks izsaukta, atlaižot bufera slēdzi.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, kad buferis tiks atbrīvots.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

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

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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