Interruptor de fim de curso#

Introdução#

A classe limit é utilizada com o interruptor de fim de curso, um pequeno sensor digital que deteta o contacto físico com um objeto.

O interruptor de fim de curso VEX EXP.

Construtor de Classes#

limit(
  triport::port &port);

Destrutor de classes#

Destroys the limit object and releases associated resources.

virtual ~limit();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port &

A porta de 3 fios à qual o interruptor de fim de curso está ligado, escrita como Brain.ThreeWirePort.X ou ExpanderName.X, em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.A).

Exemplo#

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

Funções de membro#

A classe limit inclui as seguintes funções membro:

  • pressing – Retorna se o interruptor de fim de curso está a ser premido.

  • pressed – Regista uma função a ser chamada sempre que o interruptor de fim de curso é premido.

  • released – Regista uma função a ser chamada sempre que o interruptor de fim de curso é libertado.

Antes de chamar qualquer função membro de limit , deve ser criada uma instância limit , como se mostra abaixo:

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

Retorna se o interruptor de fim de curso está a ser pressionado. Isto pode ser utilizado para verificar se o robô colide com outros objetos.

Available Functions
int32_t pressing();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um int32_t indicando se o interruptor de fim de curso está a ser premido.

  • 1 — O interruptor de fim de curso está a ser premido.

  • 0 — O interruptor de fim de curso não está a ser premido.

pressed#

Regista uma função a ser chamada quando o interruptor de fim de curso é premido.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que será chamada quando o interruptor de fim de curso for premido.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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#

Regista uma função a ser chamada quando o interruptor de fim de curso for libertado.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que será chamada quando o interruptor de fim de curso for libertado.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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);
}