Puskurin kytkin#

Johdanto#

bumper -luokkaa käytetään puskurikytkimen kanssa. Puskurikytkin on mekaaninen kytkin, joka sulkee painettaessa piirin, jolloin robotti voi havaita painallukset ja vapautukset.

VEX V5 -puskurikytkin on kolmijohtiminen laite, jossa on leveä musta pohja robottiin kiinnittämistä varten ja punainen painettava painike päällä.

Luokan rakentaja#

bumper(
  triport::port &port );

Luokan tuhoaja#

Tuhoaa bumper objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~bumper();

Parametrit#

Parametri

Tyyppi

Kuvaus

port

triport::port&

3-johtiminen portti, johon puskurikytkin on kytketty, kirjoitetaan muodossa Brain.ThreeWirePort.X tai ExpanderName.X, jossa X on portin kirjain (esimerkiksi Brain.ThreeWirePort.A tai Expander1.A).

Esimerkki#

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

Jäsenten toiminnot#

bumper -luokka sisältää seuraavat jäsenfunktiot:

  • pressing — Palauttaa tiedon siitä, painetaanko puskurin kytkintä.

  • pressed — Rekisteröi funktion, joka kutsutaan, kun puskurikytkintä painetaan.

  • released — Rekisteröi funktion, joka kutsutaan, kun puskurikytkin vapautetaan.

Ennen minkään bumper -jäsenfunktion kutsumista on luotava bumper -instanssi alla olevan mukaisesti:

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

Palauttaa tiedon siitä, painetaanko puskurikytkintä parhaillaan. Tätä voidaan käyttää tarkistamaan, törmääkö robotti muihin esineisiin.

Available Functions
int32_t pressing();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa arvon int32_t , joka ilmaisee, painetaanko puskurin kytkintä.

  • 1 — Puskurin kytkintä painetaan.

  • 0 — Puskurin kytkintä ei paineta.

pressed#

Rekisteröi toiminnon, joka kutsutaan, kun puskurikytkintä painetaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun puskuria painetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

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

Rekisteröi takaisinkutsu 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#

Rekisteröi funktion, joka kutsutaan, kun puskurikytkin vapautetaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun puskuri vapautetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

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

Rekisteröi takaisinkutsu 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);
}