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.

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 |
|---|---|---|
|
|
El puerto de 3 cables al que está conectado el interruptor de límite, escrito |
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 Functionsint32_t pressing();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve 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 Functionsvoid pressed(
void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que se llamará cuando se presione el interruptor de límite. |
Esta función no devuelve un valor.
ExamplesDefina 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 Functionsvoid released(
void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que se llamará cuando se suelte el interruptor de límite. |
Esta función no devuelve un valor.
ExamplesDefina 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); }