Koncový spínač#

Zavedení#

Třída limit se používá s koncovým spínačem, malým digitálním senzorem, který detekuje fyzický kontakt s objektem.

Koncový spínač VEX V5.

Konstruktor třídy#

limit(
  triport::port &port);

Destruktor tříd#

Zničí objekt s limitem limit a uvolní přidružené prostředky.

virtual ~limit();

Parametry#

Parametr

Typ

Popis

port

triport::port &

3vodičový port, ke kterému je připojen koncový spínač, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

Příklad#

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

Členské funkce#

Třída limit obsahuje následující členské funkce:

  • pressing – Vrací, zda je stisknut koncový spínač.

  • pressed – Registruje funkci, která se má volat při stisknutí koncového spínače.

  • released – Registruje funkci, která má být volána při každém uvolnění koncového spínače.

Před voláním jakékoli členské funkce limit musí být vytvořena instance limit , jak je znázorněno níže:

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

Vrací, zda je koncový spínač aktuálně stisknutý. To lze použít ke kontrole, zda robot narazí do jiných objektů.

Available Functions
int32_t pressing();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací int32_t , která indikuje, zda je stisknut koncový spínač.

  • 1 — Koncový spínač je stisknut.

  • 0 — Koncový spínač není stisknutý.

pressed#

Registruje funkci, která se má volat při stisknutí koncového spínače.

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při stisknutí koncového spínače.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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#

Registruje funkci, která se má volat při uvolnění koncového spínače.

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při uvolnění koncového spínače.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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);
}