Kontrolieris#
Ievads#
controller klase apzīmē VEX EXP kontrolleri, kas savienots ar EXP Brain. controller objektu var izmantot, lai piekļūtu kursorsviras asu vērtībām, nolasītu pogu stāvokļus, reģistrētu pogu vai kursorsviras atzvanīšanas signālus, liktu kontrollerim rībēt un pārbaudītu, vai kontrolieris ir savienots.
VEX EXP ir saderīgs ar V5 kontrolieri. Plašāku informāciju skatiet V5 kontrollera API.
Ja logā “Ierīces” ir konfigurēts viens vai vairāki kontrolleri, VEXcode EXP nodrošina arī vērtību RemoteControlCodeEnabledŠis globālais mainīgais iespējo vai atspējo kontrollera darbības, kas konfigurētas izvēlnē “Ierīces”.
Atvasinātās klases#
controller klase nodrošina šādas atvasinātās klases:
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. Izveidojamā 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 an EXP 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ājs#
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.
Šis mainīgais darbosies tikai tad, ja tiks izmantots VEXcode.
// 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;