Gomb#

Bevezetés#

A button osztály az brain alaposztályból származik, és hozzáférést biztosít az IQ (2. generációs) Brain gombjaihoz, lehetővé téve a robot számára, hogy figyelje az agy gombjainak lenyomását.

Hozzáférés#

A brain osztály tizenkét gomb objektumot biztosít. Minden objektum a button osztály egy példánya, és egy brain példányon keresztül érhető el.

Objektum

Példahasználat

Leírás

buttonCheck

Brain.buttonCheck.pressing()

Ellenőrzés gomb

buttonLeft

Brain.buttonLeft.pressing()

Bal gomb

buttonRight

Brain.buttonRight.pressing()

Jobb gomb

Megjegyzések#

  • A button objektumot az agy biztosítja. Nem közvetlenül konstruálódik.

Tagfüggvények#

A Button osztály a következő tagfüggvényeket tartalmazza:

  • pressed — Regisztrál egy függvényt, amely a megadott gomb megnyomásakor hívódik meg.

  • released — Regisztrál egy függvényt, amely a megadott gomb elengedésekor hívódik meg.

  • pressing — Visszaadja, hogy a megadott gomb megnyomás alatt van-e.

Bármely button tagfüggvény meghívása előtt létre kell hozni egy brain példányt, az alábbiak szerint:

// Create a brain instance
brain();

pressed#

Egy visszahívó függvényt regisztrál, amely egy adott agygomb megnyomásakor fut le.

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

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely akkor hívódik meg, amikor a megadott gombot megnyomják.

Return Values

Ez a függvény nem ad vissza értéket.

Examples

Ez a függvény bármely agygomb objektumon meghívható, például:

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

Definiáljuk a visszahívó függvényt ( int main())

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

Regisztrálja a visszahívást a int main() függvényen belül.

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#

Egy visszahívó függvényt regisztrál, amely egy adott agygomb elengedésekor fut le.

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

Paraméterek#

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely akkor hívódik meg, amikor a megadott gombot elengedjük.

Return Values

Ez a függvény nem ad vissza értéket.

Examples

Ez a függvény bármely agygomb objektumon meghívható, például:

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

Definiáljuk a visszahívó függvényt ( int main())

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

Regisztrálja a visszahívást a int main() függvényen belül.

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#

Visszaadja, hogy egy adott agygombot jelenleg lenyomva tartunk-e.

Available Functions
bool pressing() const;

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy logikai értéket ad vissza, amely jelzi, hogy a megadott gomb megnyomásra kerül-e:

  • true — A gombot megnyomják.

  • false — A gombot nem nyomják meg.

Examples

Ez a függvény bármely agygomb objektumon meghívható, például:

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