Koncový spínač#
Zavedení#
Třída limit se používá s koncovým spínačem, malým digitálním senzorem, který detekuje fyzický kontakt s objektem.

Konstruktor třídy#
limit(
triport::port &port);
Destruktor tříd#
Zničí objekt s limitem limit a uvolní přidružené prostředky.
virtual ~limit();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
3vodičový port, ke kterému je připojen koncový spínač, zapsaný jako |
Příklad#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Členské funkce#
Třída limit obsahuje následující členské funkce:
pressing– Vrací, zda je stisknut koncový spínač.pressed– Registruje funkci, která se má volat při stisknutí koncového spínače.released– Registruje funkci, která má být volána při každém uvolnění koncového spínače.
Před voláním jakékoli členské funkce limit musí být vytvořena instance limit , jak je znázorněno níže:
/* 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#
Vrací, zda je koncový spínač aktuálně stisknutý. To lze použít ke kontrole, zda robot narazí do jiných objektů.
Available Functionsint32_t pressing();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací int32_t , která indikuje, zda je stisknut koncový spínač.
1— Koncový spínač je stisknut.0— Koncový spínač není stisknutý.
pressed#
Registruje funkci, která se má volat při stisknutí koncového spínače.
Available Functionsvoid pressed(
void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při stisknutí koncového spínače. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte callback funkci (mimo
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Zaregistrujte zpětné volání uvnitř
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#
Registruje funkci, která se má volat při uvolnění koncového spínače.
Available Functionsvoid released(
void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při uvolnění koncového spínače. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte callback funkci (mimo
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Zaregistrujte zpětné volání uvnitř
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); }