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

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 |
|---|---|---|
|
|
Den 3-trådsport som gränslägesbrytaren är ansluten till, skriven som |
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 Functionsint32_t pressing();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar 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 Functionsvoid pressed(
void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som anropas när gränslägesbrytaren trycks ned. |
Den här funktionen returnerar inget värde.
ExamplesDefiniera 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 Functionsvoid released(
void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som anropas när gränslägesbrytaren släpps. |
Den här funktionen returnerar inget värde.
ExamplesDefiniera 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); }