Ohjain#
Johdanto#
controller -luokka edustaa EXP Brainiin kytkettyä VEX EXP -ohjainta. controller -objektia voidaan käyttää joystickin akselien arvojen käyttämiseen, painikkeiden tilojen lukemiseen, painikkeiden tai joystickin takaisinkutsujen rekisteröimiseen, ohjaimen tärinän aiheuttamiseen ja ohjaimen yhteyden tarkistamiseen.
VEX EXP on yhteensopiva V5-ohjaimen kanssa. Lisätietoja on V5 Controller API -rajapinnassa.
Kun Laitteet-ikkunassa on määritetty yksi tai useampi ohjain, VEXcode EXP tarjoaa myös RemoteControlCodeEnabledTämä globaali muuttuja ottaa käyttöön tai poistaa käytöstä Laitteet-valikossa määritetyt ohjaintoiminnot.
Johdetut luokat#
controller -luokka tarjoaa seuraavat johdetut luokat:
Rakentajat#
1 - Luo ohjaimen ensisijaisen ohjaimen tyypin avulla. Käytetään tyypillisesti, kun kytkettynä on yksi ohjain.
controller();
2 - Luo ohjaimen määritetylle ohjaintyypille. Käytetään, kun kaksi ohjainta on yhdistetty.
controller( controllerType id );
Käytettävissä olevat toiminnot
controller();
controller(controllerType id);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Valinnainen. Luotavan ohjaimen tyyppi: |
Huomautuksia
Yhdessä projektissa voidaan luoda vain yksi primary ohjain ja yksi partner ohjain.
Esimerkki
// Create the primary controller
controller Controller1 = controller();
// Create a partner controller
controller Controller2 = controller(partner);
Tuhoaja#
~ohjain#
~controller tuhoaa controller -objektin ja vapauttaa siihen liittyvät resurssit.
Käytettävissä oleva toiminto
~controller();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Luotavan ohjaimen tyyppi:
|
Muistiinpanoja#
Yhdessä projektissa voi olla vain yksi
primaryja yksipartnerohjain.
Esimerkki#
// Create an EXP controller instance
controller Controller = controller();
Jäsenten toiminnot#
controller -luokka sisältää seuraavat jäsenfunktiot:
jyrinä#
rumble saa ohjaimen värähtelemään kuvion avulla. Kuviojonossa pisteet ovat lyhyitä värähtelyjä, katkoviivat pitkiä värähtelyjä ja välilyönnit taukoja.
Käytettävissä oleva toiminto
void rumble(const char *str);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Pisteistä, katkoviivoista ja välilyönneistä koostuva merkkijono, joka edustaa jyrinäkuviota. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Getter#
asennettu#
installed palauttaa, onko ohjain yhdistetty aivoihin.
Käytettävissä oleva toiminto
bool installed();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa totuusarvon.
true- The controller is installed/connected.false- The controller is not installed/connected.
Globaalit muuttujat#
Kauko-ohjauskoodi käytössä#
RemoteControlCodeEnabled ottaa käyttöön tai poistaa käytöstä Laitteet-valikossa määritetyt ohjaimen toiminnot. Ohjaimen määrittämät toiminnot ovat oletusarvoisesti käytössä.
Usage:
RemoteControlCodeEnabled = state;
Arvo |
Kuvaus |
|---|---|
|
Mahdollistaa ohjaimen määrittämät toiminnot. |
|
Poistaa käytöstä ohjaimen määrittämät toiminnot. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Ohjaimen määrittämät toiminnot ovat oletusarvoisesti käytössä.
Tämä muuttuja toimii vain VEXcodea käytettäessä.
// 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;