Stötfångarbrytare#

Introduktion#

Klass bumper används med Bumper Switch, en mekanisk brytare som sluter en krets när den trycks ner, vilket gör att roboten kan detektera tryckningar och släppningar.

VEX EXP Bumper Switch är en 3-trådsenhet med en bred svart bas för fästa den på en robot och en röd tryckbar knapp på toppen.

Klasskonstruktor#

bumper(
  triport::port &port );

Klassförstörare#

Förstör bumper objektet och frigör tillhörande resurser.

virtual ~bumper();

Parametrar#

Parameter

Typ

Beskrivning

port

triport::port&

Den 3-trådsport som bumper-switchen är ansluten till, skriven som Brain.ThreeWirePort.X eller ExpanderName.X, där X är portbokstaven (till exempel Brain.ThreeWirePort.A eller Expander1.A).

Exempel#

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

Medlemsfunktioner#

Klassen bumper innehåller följande medlemsfunktioner:

  • pressing — Returnerar om Bumper Switch trycks ner.

  • pressed — Registrerar en funktion som ska anropas när Bumper Switch trycks ned.

  • released — Registrerar en funktion som ska anropas när Bumper Switch släpps.

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

/* 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#

Returnerar om stötfångarknappen för närvarande trycks in. Detta kan användas för att kontrollera om roboten stöter in i andra föremål.

Available Functions
int32_t pressing();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar int32_t som anger om Bumper Switch trycks ned.

  • 1 — Stötfångarknappen trycks in.

  • 0 — Stötfångarbrytaren trycks inte in.

pressed#

Registrerar en funktion som ska anropas när bumper-knappen trycks ned.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som anropas när bumper-knappen trycks ned.

Return Values

Den här funktionen returnerar inget värde.

Examples

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

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

Registrera återuppringningen inuti int main()

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#

Registrerar en funktion som ska anropas när bumper-knappen släpps.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som anropas när bumpern släpps.

Return Values

Den här funktionen returnerar inget värde.

Examples

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

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

Registrera återuppringningen inuti int main()

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