Robežslēdzis#
Ievads#
limit klase tiek izmantota kopā ar robežslēdzi — nelielu digitālu sensoru, kas nosaka fizisku kontaktu ar objektu.

Klases konstruktors#
limit(
triport::port &port);
Klases iznīcinātājs#
Iznīcina limit objektu un atbrīvo saistītos resursus.
virtual ~limit();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
3 vadu ports, kuram ir pievienots ierobežojuma slēdzis, kas pierakstīts kā |
Piemērs#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Dalībnieku funkcijas#
limit klasē ietilpst šādas dalībfunkcijas:
pressing– Atgriež, vai tiek nospiests ierobežojuma slēdzis.pressed– Reģistrē funkciju, kas tiks izsaukta ikreiz, kad tiek nospiests ierobežojuma slēdzis.released– Reģistrē funkciju, kas tiks izsaukta ikreiz, kad tiek atbrīvots ierobežojuma slēdzis.
Pirms jebkuru limit dalībfunkciju izsaukšanas ir jāizveido limit instance, kā parādīts zemāk:
/* 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#
Atgriež, vai pašlaik tiek nospiests ierobežojuma slēdzis. To var izmantot, lai pārbaudītu, vai robots uzduras citiem objektiem.
Available Functionsint32_t pressing();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež int32_t , kas norāda, vai tiek nospiests ierobežojuma slēdzis.
1— Tiek nospiests ierobežojuma slēdzis.0— Robežslēdzis netiek nospiests.
pressed#
Reģistrē funkciju, kas tiks izsaukta, nospiežot ierobežojuma slēdzi.
Available Functionsvoid pressed(
void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, nospiežot robežslēdzi. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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#
Reģistrē funkciju, kas tiks izsaukta, kad ierobežojošais slēdzis tiek atlaists.
Available Functionsvoid released(
void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, kad tiks atlaists ierobežojošais slēdzis. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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); }