Bampera slēdzis#
Ievads#
bumper klase tiek izmantota kopā ar bufera slēdzi — mehānisku slēdzi, kas nospiežot pabeidz ķēdi, ļaujot robotam noteikt nospiešanas un atlaišanas.

Klases konstruktors#
bumper(
triport::port &port );
Klases iznīcinātājs#
Iznīcina bumper objektu un atbrīvo saistītos resursus.
virtual ~bumper();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
3 vadu ports, kuram ir pievienots bufera slēdzis, kas pierakstīts kā |
Piemērs#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Dalībnieku funkcijas#
bumper klase ietver šādas dalībfunkcijas:
pressing— Atgriež, vai tiek nospiests bufera slēdzis.pressed— Reģistrē funkciju, kas tiks izsaukta, nospiežot bufera slēdzi.released— Reģistrē funkciju, kas tiks izsaukta, atlaižot bufera slēdzi.
Pirms jebkuru bumper dalībfunkciju izsaukšanas ir jāizveido bumper instance, kā parādīts zemāk:
/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
pressing#
Atgriež, vai bufera slēdzis pašlaik tiek nospiests. 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 bufera slēdzis.
1— Tiek nospiests bufera slēdzis.0— Bampera slēdzis netiek nospiests.
pressed#
Reģistrē funkciju, kas tiks izsaukta, nospiežot bufera slēdzi.
Available Functionsvoid pressed( void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, nospiežot buferi. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper 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 BumperPressed when the value of the Bumper Switch is pressed. BumperA.pressed(BumperPressed); }
released#
Reģistrē funkciju, kas tiks izsaukta, atlaižot bufera slēdzi.
Available Functionsvoid released( void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, kad buferis tiks atbrīvots. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper 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 BumperReleased when the value of the Bumper Switch is released. BumperA.released(BumperReleased); }