Bamperio jungiklis#
Įvadas#
bumper klasė naudojama su buferio jungikliu – mechaniniu jungikliu, kuris paspaudus užbaigia grandinę ir leidžia robotui aptikti paspaudimus ir atleidimus.

Klasės konstruktorius#
bumper(
triport::port &port );
Klasės destruktorius#
Sunaikina bumper objektą ir išlaisvina susijusius išteklius.
virtual ~bumper();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
3 laidų prievadas, prie kurio prijungtas buferio jungiklis, užrašomas kaip |
Pavyzdys#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Narių funkcijos#
bumper klasė apima šias narines funkcijas:
pressing– Grąžina, ar paspaudžiamas buferio jungiklis.pressed– Registruoja funkciją, kuri bus iškviečiama paspaudus buferio jungiklį.released— Registruoja funkciją, kuri bus iškviesta atleidus buferio jungiklį.
Prieš iškviečiant bet kokias bumper narių funkcijas, reikia sukurti bumper egzempliorių, kaip parodyta žemiau:
/* 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#
Grąžina, ar šiuo metu paspaustas buferio jungiklis. Tai galima naudoti norint patikrinti, ar robotas neatsitrenkia į kitus objektus.
Available Functionsint32_t pressing();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t nurodantį, ar paspaudžiamas buferio jungiklis.
1— Paspaustas buferio jungiklis.0— Nepaspaustas buferio jungiklis.
pressed#
Registruoja funkciją, kuri bus iškviečiama paspaudus buferio jungiklį.
Available Functionsvoid pressed( void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama paspaudus buferį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper 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 BumperPressed when the value of the Bumper Switch is pressed. BumperA.pressed(BumperPressed); }
released#
Registruoja funkciją, kuri bus iškviečiama atleidus buferio jungiklį.
Available Functionsvoid released( void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama atleidus buferį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper 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 BumperReleased when the value of the Bumper Switch is released. BumperA.released(BumperReleased); }