Ass#

Ievads#

axis klase ir atvasināta no controller klases. Tā nodrošina piekļuvi kontrollera kursorsviras ass vērtībām un kursorsviras ass maiņas atgriezeniskajām saitēm.

axis objektam piekļūst, izmantojot controller objektu. Tas netiek tieši konstruēts.

VEX V5 kontrolieris ar apzīmētām asīm ap kursorsvirām. 1. un 2. ass atrodas ap labo kursorsviru, bet 3. un 4. ass — ap kreiso.

Piekļuve#

controller klase nodrošina šādus asu objektus. Katrs objekts ir axis klases instance.

Ass objekts

Lietošanas piemērs

Apraksts

Axis1

Controller.Axis1.position()

Labās vadības sviras horizontālā ass.

Axis2

Controller.Axis2.position()

Labās vadības sviras vertikālā ass.

Axis3

Controller.Axis3.position()

Kreisās vadības sviras vertikālā ass.

Axis4

Controller.Axis4.position()

Kreisās vadības sviras horizontālā ass.

Piezīmes#

  • Pirms axis dalībnieka funkcijas izmantošanas izveidojiet controller objektu.

  • position atgriež vērtību no -100 līdz 100.

// Create a Controller object
controller Controller = controller();

Dalībnieku funkcijas#

axis klasē ietilpst šādas dalībfunkcijas:

Ieguvējs — Nolasa kursorsviras ass pozīciju.

  • position — Atgriež kursorsviras ass pozīciju.

Atzvanīšana — Izpildīt funkciju, kad mainās kursorsviras pozīcija pa asi.

  • changed — Izpilda funkciju, kad mainās kursorsviras pozīcija pa šo asi.

Iegūtājs#

pozīcija#

position atgriež kursorsviras ass pozīciju kā vērtību no -100 līdz 100.

Pieejamās funkcijas

int32_t position(percentUnits units = percentUnits::pct) const;

Parametrs

Tips

Apraksts

units

percentUnits

Neobligāti. Atgrieztās ass vērtības mērvienība. Noklusējuma vērtība ir percentUnits::pct.

Atgriešanas vērtība

Atgriež int32_t vērtību no -100 līdz 100.

  • 100 — Kursorsviras ass ir pilnībā pārvietota pozitīvajā virzienā.

  • 0 — Kursorsviras ass ir centrēta.

  • -100 — Kursorsviras ass ir pilnībā pārvietota negatīvā virzienā.

Piemērs

// 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);
}

Atzvans#

mainījies#

changed palaiž funkciju, kad mainās kursorsviras pozīcija pa šo asi.

Pieejamās funkcijas

void changed(void (* callback)(void)) const;

Parametrs

Tips

Apraksts

callback

void (*)(void)

Funkcija, kas tiek palaista katru reizi, kad mainās kursorsviras pozīcija pa šo asi.

Atgriešanas vērtība

Šī funkcija neatgriež vērtību.

Piemērs

Definējiet atzvanīšanas funkciju ārpus main.

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

Reģistrējiet atzvanīšanas signālu main iekšpusē.

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}