Botón#

Introducción#

La clase button se deriva de la clase base brain y proporciona acceso a los botones del cerebro IQ (1.ª generación), lo que permite que su robot supervise las pulsaciones de los botones del cerebro.

Acceso#

La clase brain proporciona doce objetos de botón. Cada objeto es una instancia de la clase button y se puede acceder a través de una instancia de brain.

Objeto

Ejemplo de uso

Descripción

buttonCheck

Brain.buttonCheck.pressing()

Botón de verificación

buttonLeft

Brain.buttonLeft.pressing()

Botón izquierdo

buttonRight

Brain.buttonRight.pressing()

Botón derecho

Observaciones#

  • El objeto botón button es proporcionado por el cerebro. No se construye directamente.

Funciones de los miembros#

La clase Button incluye las siguientes funciones miembro:

  • pressed — Registra una función que se llamará cuando se presione el botón especificado.

  • released — Registra una función que se llamará cuando se suelte el botón especificado.

  • pressing — Devuelve si se está presionando el botón especificado.

Before calling any button member functions, a brain instance must be created, as shown below:

// Create a brain instance
brain();

pressed#

Registra una función de devolución de llamada que se ejecuta cuando se presiona un botón cerebral específico.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llama cuando se presiona el botón especificado.

Return Values

Esta función no devuelve un valor.

Examples

Esta función se puede llamar en cualquier objeto de botón cerebral, por ejemplo:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Defina la función de devolución de llamada (fuera de int main())

// Drive forward when check is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

Registra la función de 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();

  // Call driveForward when the check button is pressed
  Brain.buttonCheck.pressed(driveForward);
}

released#

Registra una función de devolución de llamada que se ejecuta cuando se libera un botón cerebral específico.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llama cuando se suelta el botón especificado.

Return Values

Esta función no devuelve un valor.

Examples

Esta función se puede llamar en cualquier objeto de botón cerebral, por ejemplo:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Defina la función de devolución de llamada (fuera de int main())

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

Registra la función de 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();

  // Call backUp when the left button is released
  Brain.buttonLeft.released(backUp);
}

pressing#

Devuelve si se está presionando actualmente un botón cerebral específico.

Available Functions
bool pressing() const;

Parameters

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

Return Values

Devuelve un booleano que indica si se está presionando el botón especificado:

  • true — Se está pulsando el botón.

  • false — El botón no se está pulsando.

Examples

Esta función se puede llamar en cualquier objeto de botón cerebral, por ejemplo:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while right is pressed
while (true) {
    if (Brain.buttonRight.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}