Knapp#

Introduktion#

Knappklassen button härleds från basklassen brain och ger tillgång till IQ-hjärnans (1:a generationens) knappar, vilket gör att din robot kan övervaka tryckningar på hjärnans knappar.

Tillträde#

Klassen brain tillhandahåller tolv knappobjekt. Varje objekt är en instans av klassen button och kan nås via en hjärninstans.

Objekt

Exempel på användning

Beskrivning

buttonCheck

Brain.buttonCheck.pressing()

Kontrollera-knappen

buttonLeft

Brain.buttonLeft.pressing()

Vänster knapp

buttonRight

Brain.buttonRight.pressing()

Höger knapp

Anteckningar#

  • Objektet button tillhandahålls av hjärnan. Det är inte konstruerat direkt.

Medlemsfunktioner#

Klassen Button innehåller följande medlemsfunktioner:

  • pressed — Registrerar en funktion som ska anropas när den angivna knappen trycks ned.

  • released — Registrerar en funktion som ska anropas när den angivna knappen släpps.

  • pressing — Returnerar om den angivna knappen trycks ned.

Innan några button medlemsfunktioner anropas måste en brain -instans skapas, som visas nedan:

// Create a brain instance
brain();

pressed#

Registrerar en återuppringningsfunktion som körs när en specifik hjärnknapp trycks ned.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En funktion som anropas när den angivna knappen trycks ned.

Return Values

Den här funktionen returnerar inget värde.

Examples

Den här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:

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

Definiera callback-funktionen (utanför int main())

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

Registrera återuppringningen inuti 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#

Registrerar en callback-funktion som körs när en specifik hjärnknapp släpps.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En funktion som anropas när den angivna knappen släpps.

Return Values

Den här funktionen returnerar inget värde.

Examples

Den här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:

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

Definiera callback-funktionen (utanför int main())

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

Registrera återuppringningen inuti 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#

Returnerar om en specifik hjärnknapp trycks ned för närvarande.

Available Functions
bool pressing() const;

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om den angivna knappen trycks ned:

  • true — Knappen trycks ned.

  • false — Knappen trycks inte ned.

Examples

Den här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:

  • 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);
}