Kontroller#
Introduktion#
Klassen controller Ett controller -styrenhetsobjekt kan användas för att komma åt joystickaxelvärden, läsa knapptillstånd, registrera knapp- eller joystickåteranrop, få styrenheten att vibrera, skriva till styrenhetens skärm och kontrollera om styrenheten är ansluten.
VEX V5 är kompatibel med EXP Controller. Se EXP Controller API för mer information.
När en eller flera regulatorer är konfigurerade i fönstret Enheter, tillhandahåller VEXcode V5 även RemoteControlCodeEnabledDenna globala variabel aktiverar eller inaktiverar regulatoråtgärder som konfigurerats i menyn Enheter.
Härledda klasser#
Klassen controller tillhandahåller följande härledda klasser:
Konstruktörer#
1 - Skapar en styrenhet med den primära styrenhetens typ. Används vanligtvis när en enda styrenhet är ansluten.
controller();
2 - Skapar en regulator för den angivna regulatortypen. Används när två regulatorer är anslutna.
controller( controllerType id );
Tillgängliga funktioner
controller();
controller(controllerType id);
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Valfritt. Kontrollertypen som ska skapas: |
Anteckningar
Endast en primary Controller och en partner Controller kan skapas i ett och samma projekt.
Exempel
// Create the primary Controller
controller Controller1 = controller();
// Create a partner Controller
controller Controller2 = controller(partner);
Destruktor#
~kontrollant#
~controller förstör controller objektet och frigör tillhörande resurser.
Tillgänglig funktion
~controller();
Parametrar#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Typen av styrenhet som skapas:
|
Anteckningar#
Endast en
primaryoch enpartnerstyrenhet får finnas i ett och samma projekt.
Exempel#
// Create a V5 controller instance
controller Controller = controller();
Medlemsfunktioner#
Klassen controller innehåller följande medlemsfunktioner:
rumble- Rumlar handkontrollen med hjälp av ett mönster.installed- Kontrollerar om handkontrollen är ansluten till hjärnan.
rumble#
rumble får kontrollenheten att vibrera med hjälp av ett mönster. I mönstersträngen är punkter korta vibrationer, streck är långa vibrationer och mellanslag är pauser.
Tillgänglig funktion
void rumble(const char *str);
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En sträng bestående av punkter, streck och mellanslag som representerar mullermönstret. |
Returvärde
Den här funktionen returnerar inget värde.
Exempel
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Getter#
installerad#
installed returnerar om kontrollenheten är ansluten till hjärnan.
Tillgänglig funktion
bool installed();
Parametrar
Den här funktionen har inga parametrar.
Returvärde
Returnerar ett booleskt värde.
true- The controller is installed/connected.false- The controller is not installed/connected.
Globala variabler#
Fjärrkontrollkod aktiverad#
RemoteControlCodeEnabled aktiverar eller inaktiverar kontrollfunktioner som konfigurerats i menyn Enheter. Kontrollfunktioner som konfigurerats är aktiverade som standard.
Usage:
RemoteControlCodeEnabled = state;
Värde |
Beskrivning |
|---|---|
|
Aktiverar kontrollenhetskonfigurerade åtgärder. |
|
Inaktiverar kontrollenhetens konfigurerade åtgärder. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Styrenhetskonfigurerade åtgärder är aktiverade som standard.
// 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;