Kontrolieris#

Ievads#

VEX EXP kontrolierim ir pogas un divas kursorsviras. Kontroliera metodes var izmantot, lai pārbaudītu pogu nospiešanas reižu skaitu, nolasītu kursorsviras kustību, iespējotu vai atspējotu konfigurētas kontrollera darbības vai palaistu funkcijas, kad notiek kontrollera notikumi.

Konfigurētās kontrollera darbības ir kontrollera uzvedība, kas iestatīta izvēlnē “Ierīces”. Izmantojiet remote_control_code_enabled , lai projekta laikā īslaicīgi iespējotu vai atspējotu šīs konfigurētās darbības.

Šajā lapā kā kontrollera nosaukuma piemērs tiek izmantots controller Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.

Zemāk ir visu pieejamo metožu saraksts:

Darbība — ieslēdziet vai izslēdziet konfigurētās kontrollera darbības.

Iegūtāji — nolasa pogu stāvokļus un kursorsviru pozīcijas.

  • .pressing — Atgriež, vai tiek nospiesta norādītā poga.

  • .position — Returns the position of a specified joystick axis.

Atzvanīšanas funkcijas — palaist funkcijas, kad mainās kontrollera ievade.

  • .pressed — Izpilda funkciju, kad tiek nospiesta norādītā poga.

  • .released — Runs a function when a specified button is released.

  • .changed — Runs a function when the joystick’s position changes along a specified axis.

Konstruktors — manuāli izveidojiet kontroliera objektu.

Darbība#

remote_control_code_enabled#

remote_control_code_enabled ir mainīgais, kas iespējo vai atspējo kontrollera darbības, kas konfigurētas izvēlnē “Ierīces”. Kontroliera konfigurētās darbības ir iespējotas pēc noklusējuma.

Usage:
remote_control_code_enabled = state

Vērtība

Apraksts

True

Iespējo kontrollera konfigurētās darbības.

False

Atspējo kontrollera konfigurētās darbības.

# Drive forward or backward using the left joystick
remote_control_code_enabled = False

while True:
    if controller.axis3.position() > 0:
        drivetrain.drive(FORWARD)
    elif controller.axis3.position() < 0:
        drivetrain.drive(REVERSE)
    # Press A to use controller configured actions again
    elif controller.buttonA.pressing():
        break
    else:
        drivetrain.stop()

    wait(20, MSEC)

remote_control_code_enabled = True

Getteri#

.pressing#

.pressing , tiek atgriezts, vai pašlaik tiek nospiesta konkrēta kontrollera poga. Šī metode ir jāizsauc konkrētam pogas objektam, piemēram, controller.buttonA.

  • True — Tiek nospiesta norādītā poga.

  • False — Norādītā poga netiek nospiesta.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

EXP kontrollera priekšpuse un augšpuse ar dzeltenā krāsā iezīmētām kursorsvirām, bultiņu pogām un darbību pogām. Kontroliera virspusē ir divas kursorsviras kreisajā un labajā pusē, ar augšupvērstās un lejupvērstās bultiņas pogām kreisajā pusē un A un B pogām labajā pusē. Kontroliera augšpusē kreisajā pusē atrodas L1 un L2, bet labajā pusē - R1 un R2.

Poga

Komanda

buttonA

controller.buttonA.pressing() — Poga A

buttonB

controller.buttonB.pressing() — Poga B

buttonDown

controller.buttonDown.pressing() — Poga Uz leju

buttonUp

controller.buttonUp.pressing() — Poga Uz augšu

buttonL1

controller.buttonL1.pressing() — Poga L1

buttonL2

controller.buttonL2.pressing() — Poga L2

buttonL3

controller.buttonL3.pressing() — Poga L3

buttonR1

controller.buttonR1.pressing() — Poga R1

buttonR2

controller.buttonR2.pressing() — Poga R2

buttonR3

controller.buttonR3.pressing() — Poga R3

Parametri

Apraksts

Šai metodei nav parametru.

# Turn right while L1 is pressed
while True:
    if controller.buttonL1.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

.position#

.position atgriež kursorsviras ass pozīciju kā skaitli no -100 līdz 100.

Šī metode ir jāizsauc konkrētam ass objektam, piemēram, controller.axis1.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem asu objektiem:

EXP kontrollera priekšpuse, kur kursorsviras asu numuri ir iezīmēti sarkanā krāsā. Uz kontrollera virsmas kreisā kursorsvira ir apzīmēta kā 4. ass kustībai pa kreisi un pa labi un 3. ass kustībai uz augšu un uz leju, savukārt labā kursorsvira ir apzīmēta kā 1. ass kustībai pa kreisi un pa labi un 2. ass kustībai uz augšu un uz leju.

Ass

Komanda

axis1

controller.axis1.position() — Labās vadības sviras horizontālā ass

axis2

controller.axis2.position() — Labās vadības sviras vertikālā ass

axis3

controller.axis3.position() — Kreisās vadības sviras vertikālā ass

axis4

controller.axis4.position() — Kreisās vadības sviras horizontālā ass

Parametri

Apraksts

Šai metodei nav parametru.

# Turn with the left joystick
remote_control_code_enabled = False

while True:
    if controller.axis4.position() > 10:
        drivetrain.turn(RIGHT)
    elif controller.axis4.position() < -10:
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

Atzvanīšanas#

.pressed#

.pressed palaiž funkciju, kad tiek nospiesta norādītā poga. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad tiks nospiesta šī poga.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

EXP kontrollera priekšpuse un augšpuse ar dzeltenā krāsā iezīmētām kursorsvirām, bultiņu pogām un darbību pogām. Kontroliera virspusē ir divas kursorsviras kreisajā un labajā pusē, ar augšupvērstās un lejupvērstās bultiņas pogām kreisajā pusē un A un B pogām labajā pusē. Kontroliera augšpusē kreisajā pusē atrodas L1 un L2, bet labajā pusē - R1 un R2.

Poga

Komanda

buttonA

controller.buttonA.pressed(callback, arg) — Poga A

buttonB

controller.buttonB.pressed(callback, arg) — Poga B

buttonDown

controller.buttonDown.pressed(callback, arg) — Poga Lejup

buttonUp

controller.buttonUp.pressed(callback, arg) — Poga Uz augšu

buttonL1

controller.buttonL1.pressed(callback, arg) — Poga L1

buttonL2

controller.buttonL2.pressed(callback, arg) — Poga L2

buttonL3

controller.buttonL3.pressed(callback, arg) — Poga L3

buttonR1

controller.buttonR1.pressed(callback, arg) — Poga R1

buttonR2

controller.buttonR2.pressed(callback, arg) — Poga R2

buttonR3

controller.buttonR3.pressed(callback, arg) — Poga R3

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad tiek nospiesta norādītā poga.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Drive forward when R1 is pressed
def drive_forward():
    drivetrain.drive_for(FORWARD, 200, MM)

controller.buttonR1.pressed(drive_forward)

.released#

.released palaiž funkciju, kad tiek atlaista norādītā poga. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad poga tiek atlaista.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

EXP kontrollera priekšpuse un augšpuse ar dzeltenā krāsā iezīmētām kursorsvirām, bultiņu pogām un darbību pogām. Kontroliera virspusē ir divas kursorsviras kreisajā un labajā pusē, ar augšupvērstās un lejupvērstās bultiņas pogām kreisajā pusē un A un B pogām labajā pusē. Kontroliera augšpusē kreisajā pusē atrodas L1 un L2, bet labajā pusē - R1 un R2.

Poga

Komanda

buttonA

controller.buttonA.released(callback, arg) — Poga A

buttonB

controller.buttonB.released(callback, arg) — Poga B

buttonDown

controller.buttonDown.released(callback, arg) — Poga Lejup

buttonUp

controller.buttonUp.released(callback, arg) — Poga Uz augšu

buttonL1

controller.buttonL1.released(callback, arg) — Poga L1

buttonL2

controller.buttonL2.released(callback, arg) — Poga L2

buttonL3

controller.buttonL3.released(callback, arg) — Poga L3

buttonR1

controller.buttonR1.released(callback, arg) — Poga R1

buttonR2

controller.buttonR2.released(callback, arg) — Poga R2

buttonR3

controller.buttonR3.released(callback, arg) — Poga R3

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas jāizpilda katru reizi, kad tiek atlaista norādītā poga.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Stop driving when R1 is released
def stop_driving():
    drivetrain.stop()

controller.buttonR1.released(stop_driving)

.changed#

.changed palaiž funkciju, kad mainās kursorsviras pozīcija pa norādīto asi. Kad tā tiek izmantota, funkcija darbosies automātiski katru reizi, kad mainīsies kursorsviras pozīcija pa šo asi.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem asu objektiem:

EXP kontrollera priekšpuse, kur kursorsviras asu numuri ir iezīmēti sarkanā krāsā. Uz kontrollera virsmas kreisā kursorsvira ir apzīmēta kā 4. ass kustībai pa kreisi un pa labi un 3. ass kustībai uz augšu un uz leju, savukārt labā kursorsvira ir apzīmēta kā 1. ass kustībai pa kreisi un pa labi un 2. ass kustībai uz augšu un uz leju.

Ass

Komanda

axis1

controller.axis1.changed(callback, arg) — Labās vadības sviras horizontālā ass

axis2

controller.axis2.changed(callback, arg) — Labās vadības sviras vertikālā ass

axis3

controller.axis3.changed(callback, arg) — Kreisās vadības sviras vertikālā ass

axis4

controller.axis4.changed(callback, arg) — Kreisās vadības sviras horizontālā ass

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad kursorsviras pozīcija mainās pa norādīto asi.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Play a sound when the left joystick moves
def beep():
    brain.play_sound(SoundType.TADA)

controller.axis3.changed(beep)

Konstruktori#

Controller#

Controller  kontrolleris izveido kontroliera objektu. Kontroliera objekta manuāla izveide ir nepieciešama tikai tad, ja kontrolieris tiek konfigurēts ārpus VEXcode.

Usage:
Controller()

Parametri

Apraksts

Šim konstruktoram nav parametru.

# Create a Controller object
my_controller = Controller()