Ribinis jungiklis#
Įvadas#
limit klasė naudojama su ribiniu jungikliu – mažu skaitmeniniu jutikliu, kuris aptinka fizinį kontaktą su objektu.

Klasės konstruktorius#
limit(
triport::port &port);
Klasės destruktorius#
Sunaikina limit objektą ir išlaisvina susijusius išteklius.
virtual ~limit();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
3 laidų prievadas, prie kurio prijungtas ribojimo jungiklis, užrašomas kaip |
Pavyzdys#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Narių funkcijos#
limit klasė apima šias narines funkcijas:
pressing– Grąžina, ar paspaudžiamas ribinis jungiklis.pressed– Registruoja funkciją, kuri bus iškviečiama kaskart paspaudus ribinį jungiklį.released– Registruoja funkciją, kuri bus iškviečiama kaskart atleidus ribinį jungiklį.
Prieš iškviečiant bet kokias limit nario funkcijas, reikia sukurti limit egzempliorių, kaip parodyta žemiau:
/* 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#
Grąžina, ar šiuo metu paspaustas ribinis jungiklis. Tai gali būti naudojama norint patikrinti, ar robotas neatsitrenkia į kitus objektus.
Available Functionsint32_t pressing();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t , nurodantį, ar paspaustas ribinis jungiklis.
1— Paspaustas ribinis jungiklis.0— Nepaspaustas galinis jungiklis.
pressed#
Registruoja funkciją, kuri bus iškviečiama paspaudus ribinį jungiklį.
Available Functionsvoid pressed(
void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama paspaudus ribinį jungiklį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Registruokite atgalinį iškvietimą
int main()vidujeint 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#
Registruoja funkciją, kuri bus iškviečiama atleidus ribinį jungiklį.
Available Functionsvoid released(
void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama atleidus ribinį jungiklį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Registruokite atgalinį iškvietimą
int main()vidujeint 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); }