Gränslägesbrytare#

Introduktion#

Gränslägesklassen limit , en liten digital sensor som detekterar fysisk kontakt med ett objekt.

VEX V5-gränsbrytaren.

Klasskonstruktor#

limit(
  triport::port &port);

Klassförstörare#

Förstör objektet med gränsen limit och frigör tillhörande resurser.

virtual ~limit();

Parametrar#

Parameter

Typ

Beskrivning

port

triport::port &

Den 3-trådsport som gränslägesbrytaren ä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 limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

Medlemsfunktioner#

Klassen limit innehåller följande medlemsfunktioner:

  • pressing – Returnerar om gränslägesbrytaren trycks ner.

  • pressed – Registrerar en funktion som ska anropas varje gång gränslägesbrytaren trycks ned.

  • released – Registrerar en funktion som ska anropas när gränslägesbrytaren släpps.

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

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

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Returnerar om gränsbrytaren 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 gränslägesbrytaren trycks ned.

  • 1 — Gränslägesbrytaren trycks in.

  • 0 — Gränslägesbrytaren trycks inte in.

pressed#

Registrerar en funktion som ska anropas när gränslägesbrytaren 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 gränslägesbrytaren trycks ned.

Return Values

Den här funktionen returnerar inget värde.

Examples

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

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Registrera återuppringningen inuti int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

Registrerar en funktion som ska anropas när gränslägesbrytaren 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 gränslägesbrytaren släpps.

Return Values

Den här funktionen returnerar inget värde.

Examples

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

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Registrera återuppringningen inuti int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}