Rajakytkin#

Johdanto#

limit luokkaa käytetään rajakytkimen kanssa. Rajakytkin on pieni digitaalinen anturi, joka havaitsee fyysisen kosketuksen esineeseen.

VEX V5 -rajakytkin.

Luokan rakentaja#

limit(
  triport::port &port);

Luokan tuhoaja#

Tuhoaa limit -objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~limit();

Parametrit#

Parametri

Tyyppi

Kuvaus

port

triport::port &

3-johtiminen portti, johon rajakytkin 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 limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

Jäsenten toiminnot#

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

  • pressing – Palauttaa, painetaanko rajakytkintä.

  • pressed – Rekisteröi toiminnon, joka kutsutaan aina, kun rajakytkintä painetaan.

  • released – Rekisteröi funktion, jota kutsutaan aina, kun rajakytkin vapautetaan.

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

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

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Palauttaa tiedon siitä, painetaanko rajakytkintä 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 rajakytkintä.

  • 1 — Rajakytkintä painetaan.

  • 0 — Rajakytkintä ei paineta.

pressed#

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

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun rajakytkintä painetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Rekisteröi takaisinkutsu int main()

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

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

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

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun rajakytkin vapautetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Rekisteröi takaisinkutsu int main()

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

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}