Eindschakelaar#
Invoering#
De limit wordt gebruikt met de eindschakelaar, een kleine digitale sensor die fysiek contact met een object detecteert.

Klasseconstructor#
limit(
triport::port &port);
Klasse-destructor#
Vernietigt het limit object en geeft de bijbehorende resources vrij.
virtual ~limit();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De 3-draads poort waarop de eindschakelaar is aangesloten, wordt weergegeven als |
Voorbeeld#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Lidfuncties#
De klasse limit bevat de volgende lidfuncties:
pressing– Geeft aan of de eindschakelaar wordt ingedrukt.pressed– Registreert een functie die wordt aangeroepen wanneer de eindschakelaar wordt ingedrukt.released– Registreert een functie die moet worden aangeroepen wanneer de eindschakelaar wordt vrijgegeven.
Voordat er lidfuncties van het type limit kunnen worden aangeroepen, moet er een instantie van het type limit worden aangemaakt, zoals hieronder wordt weergegeven:
/* 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#
Geeft aan of de eindschakelaar momenteel is ingedrukt. Dit kan worden gebruikt om te controleren of de robot tegen andere objecten aanbotst.
Available Functionsint32_t pressing();
Deze functie accepteert geen parameters.
Return ValuesGeeft een int32_t terug die aangeeft of de eindschakelaar is ingedrukt.
1— De eindschakelaar wordt ingedrukt.0— De eindschakelaar wordt niet ingedrukt.
pressed#
Registreert een functie die moet worden aangeroepen wanneer de eindschakelaar wordt ingedrukt.
Available Functionsvoid pressed(
void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een aanwijzer naar een functie die wordt aangeroepen wanneer de eindschakelaar wordt ingedrukt. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Registreer de callback binnen
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#
Registreert een functie die moet worden aangeroepen wanneer de eindschakelaar wordt losgelaten.
Available Functionsvoid released(
void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een aanwijzer naar een functie die wordt aangeroepen wanneer de eindschakelaar wordt losgelaten. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Registreer de callback binnen
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); }