Valdiklis#
Įvadas#
controller klasė atitinka VEX EXP valdiklį, prijungtą prie EXP smegenų. controller objektas gali būti naudojamas norint pasiekti valdymo svirties ašies vertes, nuskaityti mygtukų būsenas, registruoti mygtukų ar valdymo svirties grįžtamuosius signalus, priversti valdiklį vibruoti ir patikrinti, ar valdiklis prijungtas.
„VEX EXP“ suderinamas su „V5“ valdikliu. Daugiau informacijos rasite V5 valdiklio API.
Kai „Devices“ lange konfigūruojamas vienas ar keli valdikliai, „VEXcode EXP“ taip pat pateikia RemoteControlCodeEnabledŠis globalus kintamasis įjungia arba išjungia valdiklio veiksmus, konfigūruotus meniu „Devices“.
Išvestinės klasės#
controller klasė suteikia šias išvestines klases:
Konstruktoriai#
1 - Sukuria valdiklį naudodamas pirminio valdiklio tipą. Paprastai naudojamas, kai prijungtas vienas valdiklis.
controller();
2 - Sukuria nurodyto valdiklio tipo valdiklį. Naudojamas, kai prijungti du valdikliai.
controller( controllerType id );
Galimos funkcijos
controller();
controller(controllerType id);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pasirinktinai. Sukurtino valdiklio tipas: |
Pastabos
Viename projekte galima sukurti tik vieną primary valdiklį ir vieną partner valdiklį.
Pavyzdys
// Create the primary controller
controller Controller1 = controller();
// Create a partner controller
controller Controller2 = controller(partner);
Naikintojas#
~valdiklis#
~controller valdiklis sunaikina controller objektą ir atlaisvina susijusius išteklius.
Galima funkcija
~controller();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Kuriamo valdiklio tipas:
|
Pastabos#
Viename projekte gali būti tik vienas
primaryir vienaspartnervaldiklis.
Pavyzdys#
// Create an EXP controller instance
controller Controller = controller();
Narių funkcijos#
controller klasė apima šias narių funkcijas:
rumble– Suveikia valdiklyje pagal tam tikrą modelį.installed– Patikrina, ar valdiklis prijungtas prie smegenų.
dundesys#
rumble priverčia valdiklį vibruoti naudojant šabloną. Šablonų eilutėje taškai yra trumpi virpesiai, brūkšniai – ilgi virpesiai, o tarpai – pauzės.
Galima funkcija
void rumble(const char *str);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Iš taškų, brūkšnelių ir tarpų sudaryta eilutė, vaizduojanti dundėjimo modelį. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Getteris#
įdiegta#
installed grąžina, ar valdiklis prijungtas prie smegenų.
Galima funkcija
bool installed();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina loginę reikšmę.
true- The controller is installed/connected.false- The controller is not installed/connected.
Globalūs kintamieji#
Nuotolinio valdymo kodas įjungtas#
RemoteControlCodeEnabled įjungia arba išjungia valdiklio veiksmus, konfigūruotus meniu „Įrenginiai“. Valdiklio konfigūruojami veiksmai įjungti pagal numatytuosius nustatymus.
Usage:
RemoteControlCodeEnabled = state;
Vertė |
Aprašymas |
|---|---|
|
Įgalina valdiklio konfigūruojamus veiksmus. |
|
Išjungia valdiklio sukonfigūruotus veiksmus. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Valdiklio konfigūruojami veiksmai įjungti pagal numatytuosius nustatymus.
Šis kintamasis veiks tik naudojant 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;