Osa#
Zavedení#
Třída axis je odvozenou třídou třídy controller. Poskytuje přístup k hodnotám os joysticku controlleru a zpětným voláním pro změnu osy joysticku.
K objektu axis se přistupuje přes objekt controller Není konstruován přímo.

Přístup#
Třída controller poskytuje následující objekty os. Každý objekt je instancí třídy axis os.
Objekt osy |
Příklad použití |
Popis |
|---|---|---|
|
|
Pravá vodorovná osa joysticku. |
|
|
Pravá svislá osa joysticku. |
|
|
Vertikální osa levého joysticku. |
|
|
Levá horizontální osa joysticku. |
Poznámky#
Před použitím členské funkce s osou
axisvytvořte objekt controllerucontroller.positionvrací hodnotu od-100do100.
// Create a controller object
controller Controller = controller();
Členské funkce#
Třída axis obsahuje následující členské funkce:
Getter — Čte polohu osy joysticku.
position— Vrátí pozici osy joysticku.
Zpětné volání — Spustí funkci, když se změní poloha joysticku podél osy.
changed— Spustí funkci, když se změní poloha joysticku podél dané osy.
Getter#
position#
position vrací pozici osy joysticku jako hodnotu od -100 do 100.
Dostupná funkce
int32_t position(percentUnits units = percentUnits::pct) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Volitelné. Jednotka použitá pro vrácenou hodnotu osy. Výchozí hodnota je |
Návratová hodnota
Vrací hodnotu int32_t od -100 do 100.
100— Osa joysticku je zcela posunuta v kladném směru.0— Osa joysticku je vycentrovaná.-100— Osa joysticku je zcela posunuta v záporném směru.
Příklad
// Turn with the left joystick
while (true) {
if (Controller.Axis4.position() > 10) {
Drivetrain.turn(right);
}
else if (Controller.Axis4.position() < -10) {
Drivetrain.turn(left);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Zpětné volání#
changed#
changed spustí funkci, když se změní poloha joysticku podél dané osy.
Dostupná funkce
void changed(void (* callback)(void)) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce, která se spustí pokaždé, když se změní poloha joysticku podél dané osy. |
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Předem definovaná funkce zpětného volání, která se volá automaticky při změně hodnoty osy. Funkce musí odpovídat požadované signatuře zpětného volání. Další informace naleznete v části Funkce zpětného volání. |
Tato funkce nevrací hodnotu.
Příklad
Definujte funkci zpětného volání mimo main.
Definujte callback funkci (mimo
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }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(); // Call the function when the left joystick moves Controller.Axis4.changed(sounds); }