Kontrolieris#
Ievads#
controller klase apzīmē VEX V5 kontrolleri, kas savienots ar V5 Brain. Objektu controller var izmantot, lai piekļūtu kursorsviras asu vērtībām, nolasītu pogu stāvokļus, reģistrētu pogu vai kursorsviras izsaukumus, liktu kontrollerim rībēt, rakstītu kontrollera ekrānā un pārbaudītu, vai kontrolieris ir savienots.
VEX V5 ir saderīgs ar EXP kontrolleri. Plašāku informāciju skatiet EXP kontrollera API.
Ja ierīcēs ir konfigurēts viens vai vairāki kontrolieri, VEXcode V5 nodrošina arī RemoteControlCodeEnabledŠis globālais mainīgais iespējo vai atspējo kontroliera darbības, kas konfigurētas ierīcēs.
Atvasinātās klases#
controller klase nodrošina šādas atvasinātās klases:
Axisass — Nodrošina piekļuvi kursorsviras ass ievades vērtībām un izmaiņu notikumiem.Button— nodrošina piekļuvi pogas stāvokļa un pogas notikumu atzvanīšanas pieprasījumiem.Screenekrāns — nodrošina funkcijas teksta rakstīšanai kontrollera ekrānā.
Konstruktori#
1 - Izveido kontrolieri, izmantojot primārā kontrollera tipu. Parasti izmanto, ja ir pievienots viens kontrolieris.
controller();
2 - Izveido kontrolleri norādītajam kontrollera tipam. Izmanto, ja ir savienoti divi kontrolleri.
controller( controllerType id );
Pieejamās funkcijas
controller();
controller(controllerType id);
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Neobligāti. Izveidojamais kontroliera tips: |
Piezīmes
Vienā projektā var izveidot tikai vienu primary kontrolieri un vienu partner kontrolieri.
Piemērs
// Create the primary Controller
controller Controller1 = controller();
// Create a partner Controller
controller Controller2 = controller(partner);
Iznīcinātājs#
~kontrolieris#
~controller iznīcina controller objektu un atbrīvo saistītos resursus.
Pieejamās funkcijas
~controller();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Izveidojamā kontroliera tips:
|
Piezīmes#
Vienā projektā var pastāvēt tikai viens
primaryun vienspartnerkontrolieris.
Piemērs#
// Create a V5 controller instance
controller Controller = controller();
Dalībnieku funkcijas#
controller klase ietver šādas dalībfunkcijas:
rumble— Aktivizē kontroliera dārdoņu, izmantojot noteiktu shēmu.installed— Pārbauda, vai kontrolieris ir savienots ar smadzenēm.
dārdoņa#
rumble liek kontrolierim vibrēt, izmantojot rakstu. Rakstu virknē punkti ir īsas vibrācijas, svītriņas ir garas vibrācijas, un atstarpes ir pauzes.
Pieejamās funkcijas
void rumble(const char *str);
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Virkne, kas veidota no punktiem, svītrām un atstarpēm, kas attēlo dārdoņas rakstu. |
Atgriešanas vērtība
Šī funkcija neatgriež vērtību.
Piemērs
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Iegūt#
uzstādīts#
installed atgriež, vai kontrolieris ir savienots ar smadzenēm.
Pieejamās funkcijas
bool installed();
Parametri
Šai funkcijai nav parametru.
Atgriešanas vērtība
Atgriež Būla vērtību.
true- The controller is installed/connected.false- The controller is not installed/connected.
Globālie mainīgie#
Tālvadības kods iespējots#
RemoteControlCodeEnabled iespējo vai atspējo kontrollera darbības, kas konfigurētas ierīču izvēlnē. Kontroliera konfigurētās darbības ir iespējotas pēc noklusējuma.
Usage:
RemoteControlCodeEnabled = state;
Vērtība |
Apraksts |
|---|---|
|
Iespējo kontrollera konfigurētās darbības. |
|
Atspējo kontrollera konfigurētās darbības. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Kontroliera konfigurētās darbības pēc noklusējuma ir iespējotas.
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;
while (true) {
if (Controller1.Axis3.position() > 0) {
Drivetrain.drive(forward);
}
else if (Controller1.Axis3.position() < 0) {
Drivetrain.drive(reverse);
}
// Press A to use Controller configured actions again
else if (Controller1.ButtonA.pressing()) {
break;
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
RemoteControlCodeEnabled = true;