Interruptor de límite#

Introducción#

La clase limit se utiliza con el interruptor de límite, un pequeño sensor digital que detecta el contacto físico con un objeto.

El interruptor de límite VEX V5.

Constructor de clases#

limit(
  triport::port &port);

Destructor de clase#

Destruye el objeto limit y libera los recursos asociados.

virtual ~limit();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port &

El puerto de 3 cables al que está conectado el interruptor de límite, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X ExpanderName.XExpanderName.X, donde X es la letra del puerto (por ejemplo Brain.ThreeWirePort.A o Expander1.A).

Ejemplo#

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

Funciones de los miembros#

La clase limit incluye las siguientes funciones de miembro:

  • pressing – Devuelve si se está presionando el interruptor de límite.

  • pressed – Registra una función que se llamará cada vez que se presione el interruptor de límite.

  • released – Registra una función que se llamará cada vez que se suelte el interruptor de límite.

Antes de llamar a cualquier función de miembro limit, se debe crear una instancia limit, como se muestra a continuación:

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

Devuelve si el interruptor de límite se está presionando actualmente. Esto se puede utilizar para comprobar si el robot choca con otros objetos.

Available Functions
int32_t pressing();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve un int32_t que indica si se está presionando el interruptor de límite.

  • 1 — Se está presionando el interruptor de límite.

  • 0 — No se está presionando el interruptor de límite.

pressed#

Registra una función que se llamará cuando se presione el interruptor de límite.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Un puntero a una función que se llamará cuando se presione el interruptor de límite.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera 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");
}

Registrar la devolución de llamada 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#

Registra una función que se llamará cuando se suelte el interruptor de límite.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Un puntero a una función que se llamará cuando se suelte el interruptor de límite.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera 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");
}

Registrar la devolución de llamada 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);
}