Wyłącznik krańcowy#
Wstęp#
Klasa limitu limit jest używana z wyłącznikiem krańcowym, małym czujnikiem cyfrowym wykrywającym kontakt fizyczny z obiektem.

Konstruktor klasy#
limit(
triport::port &port);
Destruktor klasy#
Niszczy obiekt o limicie limit i uwalnia powiązane zasoby.
virtual ~limit();
Parametry#
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Port 3-żyłowy, do którego podłączony jest wyłącznik krańcowy, zapisany jako |
Przykład#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Funkcje członkowskie#
Klasa limit zawiera następujące funkcje członkowskie:
pressing– Zwraca informację, czy wyłącznik krańcowy jest naciśnięty.naciśnięto
pressed– Rejestruje funkcję, która ma zostać wywołana po naciśnięciu wyłącznika krańcowego.released– Rejestruje funkcję, która ma zostać wywołana po zwolnieniu wyłącznika krańcowego.
Przed wywołaniem jakiejkolwiek funkcji członkowskiej limitu limit należy utworzyć instancję limitu limit , jak pokazano poniżej:
/* 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#
Zwraca informację, czy wyłącznik krańcowy jest aktualnie wciśnięty. Można tego użyć do sprawdzenia, czy robot uderza w inne obiekty.
Available Functionsint32_t pressing();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość int32_t wskazującą, czy wyłącznik krańcowy jest wciśnięty.
1— Naciśnięto wyłącznik krańcowy.0— Wyłącznik krańcowy nie jest wciśnięty.
pressed#
Rejestruje funkcję, która ma zostać wywołana po naciśnięciu wyłącznika krańcowego.
Available Functionsvoid pressed(
void (* callback)(void) );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wskaźnik do funkcji, która zostanie wywołana po naciśnięciu wyłącznika krańcowego. |
Ta funkcja nie zwraca wartości.
ExamplesZdefiniuj funkcję wywołania zwrotnego (poza
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Zarejestruj wywołanie zwrotne wewnątrz
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#
Rejestruje funkcję, która ma zostać wywołana po zwolnieniu wyłącznika krańcowego.
Available Functionsvoid released(
void (* callback)(void) );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wskaźnik do funkcji, która zostanie wywołana po zwolnieniu wyłącznika krańcowego. |
Ta funkcja nie zwraca wartości.
ExamplesZdefiniuj funkcję wywołania zwrotnego (poza
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Zarejestruj wywołanie zwrotne wewnątrz
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); }