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 |
|---|---|---|
|
|
Kontrollera-knappen |
|
|
Vänster knapp |
|
|
Höger knapp |
Anteckningar#
Objektet
buttontillhandahå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 Functionsvoid pressed(
void (* callback)(void) ) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som anropas när den angivna knappen trycks ned. |
Den här funktionen returnerar inget värde.
ExamplesDen här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid released(
void (* callback)(void) ) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som anropas när den angivna knappen släpps. |
Den här funktionen returnerar inget värde.
ExamplesDen här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsbool pressing() const;
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om den angivna knappen trycks ned:
true— Knappen trycks ned.false— Knappen trycks inte ned.
Den här funktionen kan anropas på vilket hjärnknappobjekt som helst, till exempel:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}