Lökhárító kapcsoló#

Bevezetés#

A bumper osztályt a lökhárító kapcsolóval használják, amely egy mechanikus kapcsoló, amely megnyomásakor lezárja az áramkört, lehetővé téve a robot számára a lenyomások és elengedések érzékelését.

A VEX EXP lökhárító kapcsoló egy 3 vezetékes eszköz, széles fekete talppal, amely robothoz csatlakoztatható, és tetején egy piros megnyomható gombbal.

Osztálykonstruktor#

bumper(
  triport::port &port );

Osztálydestruktor#

Megsemmisíti a bumper objektumot és felszabadítja a hozzá tartozó erőforrásokat.

virtual ~bumper();

Paraméterek#

Paraméter

Típus

Leírás

port

triport::port&

A 3 vezetékes port, amelyhez a lökhárító kapcsoló csatlakozik, a következőképpen írva: Brain.ThreeWirePort.X vagy ExpanderName.X, ahol X a port betűjele (például Brain.ThreeWirePort.A vagy Expander1.A).

Példa#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

Tagfüggvények#

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

  • pressing — Visszaadja, hogy a lökhárító kapcsoló le van-e nyomva.

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

  • released — Regisztrál egy függvényt, amely akkor hívódik meg, amikor a lökhárító kapcsolót elengedik.

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

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

pressing#

Visszaadja, hogy a Bumper Switch (Lökhárító kapcsoló) jelenleg le van-e nyomva. Ez felhasználható annak ellenőrzésére, hogy a robot nekiütközik-e más tárgyaknak.

Available Functions
int32_t pressing();

Parameters

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

Return Values

int32_t értéket ad vissza, amely jelzi, hogy a lökhárító kapcsoló le van-e nyomva.

  • 1 — A lökhárító kapcsolóját megnyomják.

  • 0 — A lökhárító kapcsoló nincs lenyomva.

pressed#

Regisztrál egy függvényt, amely a lökhárító kapcsoló megnyomásakor hívódik meg.

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

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy mutató egy függvényre, amely a lökhárító megnyomásakor hívódik meg.

Return Values

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

Examples

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

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

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();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  BumperA.pressed(BumperPressed);
}

released#

Regisztrál egy függvényt, amely meghívódik, amikor a lökhárító kapcsolót elengedik.

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

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy mutató egy függvényre, amely a lökhárító elengedésekor hívódik meg.

Return Values

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

Examples

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

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

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();

  // Run BumperReleased when the value of the Bumper Switch is released.
  BumperA.released(BumperReleased);
}