കൺട്രോളർ#

ആമുഖം#

V5 കൺട്രോളറിൽ ബട്ടണുകൾ, രണ്ട് ജോയ്‌സ്റ്റിക്കുകൾ, ഒരു റംബിൾ മോട്ടോർ, ഒരു സ്‌ക്രീൻ എന്നിവയുണ്ട്. ബട്ടൺ അമർത്തലുകൾ പരിശോധിക്കുന്നതിനും, ജോയ്‌സ്റ്റിക്ക് ചലനം വായിക്കുന്നതിനും, കൺട്രോളർ റംബിൾ ചെയ്യുന്നതിനും, കോൺഫിഗർ ചെയ്‌ത കൺട്രോളർ പ്രവർത്തനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനോ പ്രവർത്തനരഹിതമാക്കുന്നതിനോ, കൺട്രോളർ ഇവന്റുകൾ നടക്കുമ്പോൾ ഫംഗ്‌ഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനോ, കൺട്രോളർ സ്‌ക്രീനിൽ വാചകം പ്രദർശിപ്പിക്കുന്നതിനോ കൺട്രോളർ രീതികൾ ഉപയോഗിക്കാം.

കോൺഫിഗർ ചെയ്ത കൺട്രോളർ പ്രവർത്തനങ്ങൾ എന്നത് ഉപകരണ മെനുവിൽ സജ്ജീകരിച്ചിരിക്കുന്ന കൺട്രോളർ പെരുമാറ്റങ്ങളാണ്. ഒരു പ്രോജക്റ്റ് സമയത്ത് കോൺഫിഗർ ചെയ്ത പ്രവർത്തനങ്ങൾ താൽക്കാലികമായി പ്രാപ്തമാക്കുന്നതിനോ അപ്രാപ്തമാക്കുന്നതിനോ remote_control_code_enabled ഉപയോഗിക്കുക.

കൺട്രോളർ നാമത്തിന്റെ ഉദാഹരണമായി ഈ പേജ് controller_1 ഉപയോഗിക്കുന്നു. ആവശ്യാനുസരണം നിങ്ങളുടെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പേര് ഉപയോഗിച്ച് അത് മാറ്റിസ്ഥാപിക്കുക.

ലഭ്യമായ എല്ലാ രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

പ്രവർത്തനങ്ങൾ — കൺട്രോളർ റംബിൾ ചെയ്യുക അല്ലെങ്കിൽ കോൺഫിഗർ ചെയ്‌ത കൺട്രോളർ പ്രവർത്തനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുക/പ്രവർത്തനരഹിതമാക്കുക.

  • rumble — കൺട്രോളറിൽ ഒരു rumble പാറ്റേൺ പ്ലേ ചെയ്യുന്നു.

  • remote_control_code_enabled — ഡിവൈസസ് മെനുവിൽ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന കൺട്രോളർ പ്രവർത്തനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുന്നു.

സ്ക്രീൻ — കൺട്രോളർ സ്ക്രീനിൽ വാചകവും അക്കങ്ങളും പ്രദർശിപ്പിക്കുക.

  • print — കൺട്രോളർ സ്ക്രീനിൽ ടെക്സ്റ്റ്, നമ്പറുകൾ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

  • set_cursor — കൺട്രോളർ സ്ക്രീനിലെ ഒരു നിർദ്ദിഷ്ട വരിയിലേക്കും നിരയിലേക്കും കഴ്സർ നീക്കുന്നു.

  • column — കൺട്രോളർ സ്ക്രീനിൽ നിലവിലെ കഴ്‌സർ കോളം തിരികെ നൽകുന്നു.

  • row — കൺട്രോളർ സ്ക്രീനിൽ നിലവിലുള്ള കഴ്‌സർ വരി തിരികെ നൽകുന്നു.

  • clear_screen — കൺട്രോളർ സ്ക്രീൻ മായ്‌ക്കുന്നു.

  • clear_row — കൺട്രോളർ സ്ക്രീനിലെ ഒരു വരി മായ്‌ക്കുന്നു.

  • next_row — കൺട്രോളർ സ്ക്രീനിലെ അടുത്ത വരിയിലേക്ക് കഴ്സർ നീക്കുന്നു.

ഗെറ്ററുകൾ — ബട്ടൺ സ്റ്റേറ്റുകളും ജോയിസ്റ്റിക്ക് പൊസിഷനുകളും വായിക്കുക.

  • .pressing — ഒരു നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • .position — ഒരു നിർദ്ദിഷ്ട ജോയിസ്റ്റിക്ക് അച്ചുതണ്ടിന്റെ സ്ഥാനം നൽകുന്നു.

കോൾബാക്കുകൾ — കൺട്രോളർ ഇൻപുട്ട് മാറുമ്പോൾ ഫംഗ്ഷനുകൾ പ്രവർത്തിപ്പിക്കുക.

  • .pressed — ഒരു നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു.

  • .released — ഒരു നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു.

  • .changed — ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം ഒരു നിർദ്ദിഷ്ട അക്ഷത്തിൽ മാറുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു.

കൺസ്ട്രക്റ്റർ — ഒരു കൺട്രോളർ ഒബ്ജക്റ്റ് സ്വമേധയാ സൃഷ്ടിക്കുക.

  • Controller — ഒരു കൺട്രോളർ ഒബ്ജക്റ്റ് സൃഷ്ടിക്കുന്നു.

പ്രവർത്തനങ്ങൾ#

rumble#

കൺട്രോളറിൽ rumble ഒരു rumble പാറ്റേൺ പ്ലേ ചെയ്യുന്നു. പാറ്റേൺ സ്ട്രിംഗിൽ, വിരാമങ്ങൾ ചെറിയ rumbles ആണ്, ഹൈഫനുകൾ നീണ്ട rumbles ആണ്, സ്‌പെയ്‌സുകൾ താൽക്കാലിക വിരാമങ്ങളാണ്.

Usage:
controller_1.rumble(pattern)

പാരാമീറ്റർ

വിവരണം

pattern

റംബിൾ പാറ്റേണിനെ പ്രതിനിധീകരിക്കുന്ന വിരാമങ്ങൾ, ഹൈഫനുകൾ, സ്‌പെയ്‌സുകൾ എന്നിവ ചേർന്ന ഒരു സ്ട്രിംഗ്.

# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")

remote_control_code_enabled#

remote_control_code_enabled എന്നത് ഉപകരണ മെനുവിൽ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന കൺട്രോളർ പ്രവർത്തനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുന്ന ഒരു വേരിയബിളാണ്. കൺട്രോളർ കോൺഫിഗർ ചെയ്‌ത പ്രവർത്തനങ്ങൾ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കും.

Usage:
remote_control_code_enabled = state

വില

വിവരണം

True

കൺട്രോളർ കോൺഫിഗർ ചെയ്ത പ്രവർത്തനങ്ങൾ പ്രാപ്തമാക്കുന്നു.

False

കൺട്രോളർ കോൺഫിഗർ ചെയ്ത പ്രവർത്തനങ്ങൾ പ്രവർത്തനരഹിതമാക്കുന്നു.

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

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

    wait(20, MSEC)

remote_control_code_enabled = True

സ്ക്രീൻ#

V5 കൺട്രോളർ സ്ക്രീനിൽ വാചകവും അക്കങ്ങളും പ്രദർശിപ്പിക്കുന്നതിന് 3 വരികളും 19 നിരകളും ഉണ്ട്.

V5 കൺട്രോളർ സ്ക്രീനിന്റെ ഒരു സ്ക്രീൻഷോട്ട്, പ്രിന്റ് ചെയ്യാവുന്ന ഏരിയയിലെ വരികളും നിരകളും കാണിക്കുന്നു. വരി 1 കോളം 1 മുകളിൽ ഇടത് മൂലയിൽ ആരംഭിക്കുന്നു, വരി 3, കോളം 19 താഴെ വലത് മൂലയിലാണ്.

print#

controller_1.screen.print നിലവിലെ കഴ്‌സർ സ്ഥാനം ഉപയോഗിച്ച് കൺട്രോളർ സ്ക്രീനിൽ ടെക്സ്റ്റ്, അക്കങ്ങൾ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

Usage:
controller_1.screen.print(value, sep, precision)

പാരാമീറ്റർ

വിവരണം

value

കൺട്രോളർ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കേണ്ട വാചകം, നമ്പർ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യം. കോമകൾ ഉപയോഗിച്ച് മൂല്യങ്ങൾ വേർതിരിച്ചുകൊണ്ട് ഒന്നിലധികം മൂല്യങ്ങൾ പ്രിന്റ് ചെയ്യാൻ കഴിയും.

sep

ഓപ്ഷണൽ. മൂല്യങ്ങൾക്കിടയിൽ സ്ഥാപിക്കേണ്ട ഒരു സ്ട്രിംഗ്. ഇത് sep=”- “പോലെയുള്ള ഒരു കീവേഡ് ആർഗ്യുമെന്റായി എഴുതണം. സ്ഥിരസ്ഥിതി ” “ ആണ്.

precision

ഓപ്ഷണൽ. ലളിതമായ സംഖ്യകൾ അച്ചടിക്കുമ്പോൾ പ്രദർശിപ്പിക്കേണ്ട ദശാംശസ്ഥാനങ്ങളുടെ എണ്ണം. ഇത് precision=2പോലുള്ള ഒരു കീവേഡ് ആർഗ്യുമെന്റായി എഴുതണം. സ്ഥിരസ്ഥിതി 2 ആണ്.

# Print a number on the Controller screen
controller_1.screen.print(1)

# Print multiple numbers separated by hyphens
controller_1.screen.print(1, 2, 3, 4, sep="-")

# Print a number using one decimal place
controller_1.screen.print(1 / 3, precision=1)

set_cursor#

set_cursor കൺട്രോളർ സ്ക്രീനിലെ ഒരു നിർദ്ദിഷ്ട വരിയിലേക്കും നിരയിലേക്കും കഴ്‌സർ നീക്കുന്നു. അടുത്ത പ്രിന്റ് ചെയ്ത മൂല്യം ആ സ്ഥാനത്ത് ദൃശ്യമാകും.

Usage:
controller_1.screen.set_cursor(row, col)

പാരാമീറ്റർ

വിവരണം

row

കഴ്‌സറിന്റെ വരി, 1 മുതൽ 3 വരെ.

col

കഴ്‌സറിന്റെ കോളം, 1 മുതൽ 19 വരെ.

# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")

column#

കൺട്രോളർ സ്ക്രീനിൽ ടെക്സ്റ്റ് പ്രിന്റ് ചെയ്യുന്ന നിലവിലെ കോളം column നൽകുന്നു.

Usage:
controller_1.screen.column()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())

row#

കൺട്രോളർ സ്ക്രീനിൽ ടെക്സ്റ്റ് പ്രിന്റ് ചെയ്യുന്ന നിലവിലെ വരി row നൽകുന്നു.

Usage:
controller_1.screen.row()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())

clear_screen#

clear_screen കൺട്രോളർ സ്ക്രീൻ മായ്‌ക്കുകയും കഴ്‌സർ ആരംഭ സ്ഥാനത്തേക്ക് തിരികെ നീക്കുകയും ചെയ്യുന്നു.

Usage:
controller_1.screen.clear_screen()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Print text, then clear the Controller screen
controller_1.screen.print("VEX V5")
wait(2, SECONDS)
controller_1.screen.clear_screen()

clear_row#

clear_row കൺട്രോളർ സ്ക്രീനിൽ ഒരു വരി മായ്‌ക്കുന്നു.

Usage:
controller_1.screen.clear_row(row)

പാരാമീറ്റർ

വിവരണം

row

ഓപ്ഷണൽ. 1 മുതൽ 3വരെയുള്ള വരി മായ്‌ക്കേണ്ട വരി. ഒരു വരിയും നൽകിയിട്ടില്ലെങ്കിൽ, നിലവിലുള്ള കഴ്‌സർ വരി മായ്‌ക്കപ്പെടും.

# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)

next_row#

next_row കൺട്രോളർ സ്ക്രീനിന്റെ അടുത്ത വരിയിലെ കോളം 1 ലേക്ക് കഴ്സർ നീക്കുന്നു. അടുത്ത പ്രിന്റ് ചെയ്ത മൂല്യം ആ വരിയിൽ ദൃശ്യമാകും.

Usage:
controller_1.screen.next_row()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")

ഗെറ്ററുകൾ#

.pressing#

.pressing അമർത്തുന്നത് കൺട്രോളറിലെ ഒരു പ്രത്യേക ബട്ടൺ നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു. ഈ രീതി controller_1.buttonA പോലുള്ള ഒരു പ്രത്യേക ബട്ടൺ ഒബ്ജക്റ്റിലാണ് വിളിക്കേണ്ടത്.

  • True — നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തിക്കൊണ്ടിരിക്കുന്നു.

  • False — വ്യക്തമാക്കിയ ബട്ടൺ അമർത്തുന്നില്ല.

ഉപയോഗം:
ലഭ്യമായ ബട്ടൺ ഒബ്‌ജക്റ്റുകളിൽ ഒന്ന് ഈ രീതി ഉപയോഗിച്ച് ഉപയോഗിക്കാം:

മഞ്ഞ നിറത്തിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ബട്ടണുകളുള്ള V5 കൺട്രോളറിന്റെ മുൻവശത്തും പിൻവശത്തും. കൺട്രോളറിന്റെ ഉപരിതലത്തിൽ ഇടതുവശത്ത് മുകളിലേക്കും താഴേക്കും ഇടത്തേക്കും വലത്തേക്കും അമ്പടയാള ബട്ടണുകളും വലതുവശത്ത് 12 മണി മുതൽ ഘടികാരദിശയിൽ X, A, B, Y ബട്ടണുകളും ഉണ്ട്. കൺട്രോളറിന്റെ പിൻവശത്ത് ഇടത്തും വലത്തും യഥാക്രമം L1, L2, R1, R2 എന്നിവയുണ്ട്.

ബട്ടൺ

കമാൻഡ്

buttonA

controller_1.buttonA.pressing() — A ബട്ടൺ

buttonB

controller_1.buttonB.pressing() — B ബട്ടൺ

buttonX

controller_1.buttonX.pressing() — X ബട്ടൺ

buttonY

controller_1.buttonY.pressing() — Y ബട്ടൺ

buttonDown

controller_1.buttonDown.pressing() — ഡൗൺ ബട്ടൺ

buttonUp

controller_1.buttonUp.pressing() — മുകളിലേക്കുള്ള ബട്ടൺ

buttonLeft

controller_1.buttonLeft.pressing() — ഇടത് ബട്ടൺ

buttonRight

controller_1.buttonRight.pressing() — വലത് ബട്ടൺ

buttonL1

controller_1.buttonL1.pressing() — L1 ബട്ടൺ

buttonL2

controller_1.buttonL2.pressing() — L2 ബട്ടൺ

buttonR1

controller_1.buttonR1.pressing() — R1 ബട്ടൺ

buttonR2

controller_1.buttonR2.pressing() — R2 ബട്ടൺ

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

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

    wait(20, MSEC)

.position#

.position ഒരു ജോയിസ്റ്റിക്ക് അച്ചുതണ്ടിന്റെ സ്ഥാനം -100 മുതൽ 100 വരെയുള്ള ഒരു സംഖ്യയായി നൽകുന്നു.

ഈ രീതി controller_1.axis1 പോലുള്ള ഒരു പ്രത്യേക അക്ഷ വസ്തുവിൽ വിളിക്കണം.

ഉപയോഗം:
ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ ആക്സിസ് ഒബ്ജക്റ്റുകളിൽ ഒന്ന് ഉപയോഗിക്കാം:

ജോയ്‌സ്റ്റിക്കുകൾക്ക് ചുറ്റും അച്ചുതണ്ടുകൾ ലേബൽ ചെയ്‌തിരിക്കുന്ന ഒരു VEX V5 കൺട്രോളർ. അച്ചുതണ്ട് 1 ഉം 2 ഉം വലതു ജോയ്‌സ്റ്റിക്കിന് ചുറ്റുമാണ്, അച്ചുതണ്ട് 3 ഉം 4 ഉം ഇടതുവശത്താണ്.

അച്ചുതണ്ട്

കമാൻഡ്

axis1

controller_1.axis1.position() — വലത് ജോയിസ്റ്റിക്കിന്റെ തിരശ്ചീന അക്ഷം

axis2

controller_1.axis2.position() — വലത് ജോയിസ്റ്റിക്കിന്റെ ലംബ അക്ഷം

axis3

controller_1.axis3.position() — ഇടത് ജോയിസ്റ്റിക്കിന്റെ ലംബ അക്ഷം

axis4

controller_1.axis4.position() — ഇടത് ജോയിസ്റ്റിക്കിന്റെ തിരശ്ചീന അക്ഷം

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Turn with the left joystick
remote_control_code_enabled = False

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

    wait(20, MSEC)

കോൾബാക്കുകൾ#

.pressed#

.pressed നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഒരിക്കൽ ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ ബട്ടൺ അമർത്തുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.

ഉപയോഗം:
ലഭ്യമായ ബട്ടൺ ഒബ്‌ജക്റ്റുകളിൽ ഒന്ന് ഈ രീതി ഉപയോഗിച്ച് ഉപയോഗിക്കാം:

മഞ്ഞ നിറത്തിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ബട്ടണുകളുള്ള V5 കൺട്രോളറിന്റെ മുൻവശത്തും പിൻവശത്തും. കൺട്രോളറിന്റെ ഉപരിതലത്തിൽ ഇടതുവശത്ത് മുകളിലേക്കും താഴേക്കും ഇടത്തേക്കും വലത്തേക്കും അമ്പടയാള ബട്ടണുകളും വലതുവശത്ത് 12 മണി മുതൽ ഘടികാരദിശയിൽ X, A, B, Y ബട്ടണുകളും ഉണ്ട്. കൺട്രോളറിന്റെ പിൻവശത്ത് ഇടത്തും വലത്തും യഥാക്രമം L1, L2, R1, R2 എന്നിവയുണ്ട്.

ബട്ടൺ

കമാൻഡ്

buttonA

controller_1.buttonA.pressed(callback, arg) — A ബട്ടൺ

buttonB

controller_1.buttonB.pressed(callback, arg) — B ബട്ടൺ

buttonX

controller_1.buttonX.pressed(callback, arg) — X ബട്ടൺ

buttonY

controller_1.buttonY.pressed(callback, arg) — Y ബട്ടൺ

buttonDown

controller_1.buttonDown.pressed(callback, arg) — ഡൗൺ ബട്ടൺ

buttonUp

controller_1.buttonUp.pressed(callback, arg) — Up ബട്ടൺ

buttonLeft

controller_1.buttonLeft.pressed(callback, arg) — ഇടത് ബട്ടൺ

buttonRight

controller_1.buttonRight.pressed(callback, arg) — വലത് ബട്ടൺ

buttonL1

controller_1.buttonL1.pressed(callback, arg) — L1 ബട്ടൺ

buttonL2

controller_1.buttonL2.pressed(callback, arg) — L2 ബട്ടൺ

buttonR1

controller_1.buttonR1.pressed(callback, arg) — R1 ബട്ടൺ

buttonR2

controller_1.buttonR2.pressed(callback, arg) — R2 ബട്ടൺ

പാരാമീറ്റർ

വിവരണം

callback

നിർദ്ദിഷ്ട ബട്ടൺ അമർത്തുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിനായി മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു ട്യൂപ്പിൾ. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഇവന്റുകൾ ഉപയോഗിക്കുന്നു കാണുക.

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

controller_1.buttonA.pressed(drive_forward)

.released#

.released നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഒരിക്കൽ ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ ബട്ടൺ റിലീസ് ചെയ്യുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.

ഉപയോഗം:
ലഭ്യമായ ബട്ടൺ ഒബ്‌ജക്റ്റുകളിൽ ഒന്ന് ഈ രീതി ഉപയോഗിച്ച് ഉപയോഗിക്കാം:

മഞ്ഞ നിറത്തിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ബട്ടണുകളുള്ള V5 കൺട്രോളറിന്റെ മുൻവശത്തും പിൻവശത്തും. കൺട്രോളറിന്റെ ഉപരിതലത്തിൽ ഇടതുവശത്ത് മുകളിലേക്കും താഴേക്കും ഇടത്തേക്കും വലത്തേക്കും അമ്പടയാള ബട്ടണുകളും വലതുവശത്ത് 12 മണി മുതൽ ഘടികാരദിശയിൽ X, A, B, Y ബട്ടണുകളും ഉണ്ട്. കൺട്രോളറിന്റെ പിൻവശത്ത് ഇടത്തും വലത്തും യഥാക്രമം L1, L2, R1, R2 എന്നിവയുണ്ട്.

ബട്ടൺ

കമാൻഡ്

buttonA

controller_1.buttonA.released(callback, arg) — A ബട്ടൺ

buttonB

controller_1.buttonB.released(callback, arg) — B ബട്ടൺ

buttonX

controller_1.buttonX.released(callback, arg) — X ബട്ടൺ

buttonY

controller_1.buttonY.released(callback, arg) — Y ബട്ടൺ

buttonDown

controller_1.buttonDown.released(callback, arg) — ഡൗൺ ബട്ടൺ

buttonUp

controller_1.buttonUp.released(callback, arg) — Up ബട്ടൺ

buttonLeft

controller_1.buttonLeft.released(callback, arg) — ഇടത് ബട്ടൺ

buttonRight

controller_1.buttonRight.released(callback, arg) — വലത് ബട്ടൺ

buttonL1

controller_1.buttonL1.released(callback, arg) — L1 ബട്ടൺ

buttonL2

controller_1.buttonL2.released(callback, arg) — L2 ബട്ടൺ

buttonR1

controller_1.buttonR1.released(callback, arg) — R1 ബട്ടൺ

buttonR2

controller_1.buttonR2.released(callback, arg) — R2 ബട്ടൺ

പാരാമീറ്റർ

വിവരണം

callback

നിർദ്ദിഷ്ട ബട്ടൺ റിലീസ് ചെയ്യുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിനായി മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു ട്യൂപ്പിൾ. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഇവന്റുകൾ ഉപയോഗിക്കുന്നു കാണുക.

# Drive backward when A is released
def back_up():
    drivetrain.drive_for(REVERSE, 100, MM)

controller_1.buttonA.released(back_up)

.changed#

.changed ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം നിർദ്ദിഷ്ട അക്ഷത്തിൽ മാറുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു. ഒരിക്കൽ ഉപയോഗിച്ചുകഴിഞ്ഞാൽ, ആ അക്ഷത്തിൽ ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം മാറുമ്പോഴെല്ലാം ഫംഗ്ഷൻ യാന്ത്രികമായി പ്രവർത്തിക്കും.

ഉപയോഗം:
ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ ആക്സിസ് ഒബ്ജക്റ്റുകളിൽ ഒന്ന് ഉപയോഗിക്കാം:

ജോയ്‌സ്റ്റിക്കുകൾക്ക് ചുറ്റും അച്ചുതണ്ടുകൾ ലേബൽ ചെയ്‌തിരിക്കുന്ന ഒരു VEX V5 കൺട്രോളർ. അച്ചുതണ്ട് 1 ഉം 2 ഉം വലതു ജോയ്‌സ്റ്റിക്കിന് ചുറ്റുമാണ്, അച്ചുതണ്ട് 3 ഉം 4 ഉം ഇടതുവശത്താണ്.

അച്ചുതണ്ട്

കമാൻഡ്

axis1

controller_1.axis1.changed(callback, arg) — വലത് ജോയിസ്റ്റിക്കിന്റെ തിരശ്ചീന അക്ഷം

axis2

controller_1.axis2.changed(callback, arg) — വലത് ജോയിസ്റ്റിക്കിന്റെ ലംബ അക്ഷം

axis3

controller_1.axis3.changed(callback, arg) — ഇടത് ജോയിസ്റ്റിക്കിന്റെ ലംബ അക്ഷം

axis4

controller_1.axis4.changed(callback, arg) — ഇടത് ജോയിസ്റ്റിക്കിന്റെ തിരശ്ചീന അക്ഷം

പാരാമീറ്റർ

വിവരണം

callback

ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം നിർദ്ദിഷ്ട അക്ഷത്തിൽ മാറുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു ട്യൂപ്പിൾ. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ഇവന്റുകൾ ഉപയോഗിക്കുന്നു കാണുക.

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

controller_1.axis4.changed(tada_sound)

കൺസ്ട്രക്‌ടർമാർ#

Controller#

Controller ഒരു കൺട്രോളർ ഒബ്‌ജക്റ്റ് സൃഷ്ടിക്കുന്നു. VEXcode-ന് പുറത്ത് ഒരു കൺട്രോളർ കോൺഫിഗർ ചെയ്യുമ്പോൾ മാത്രമേ ഒരു കൺട്രോളർ ഒബ്‌ജക്റ്റ് സ്വമേധയാ സൃഷ്ടിക്കേണ്ടതുള്ളൂ.

Usage:
Controller(controller_type)

പാരാമീറ്റർ

വിവരണം

controller_type

ഓപ്ഷണൽ. സൃഷ്ടിക്കേണ്ട കൺട്രോളർ തരം: തലച്ചോറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന പ്രാഥമിക കൺട്രോളറിന് PRIMARY അല്ലെങ്കിൽ തലച്ചോറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന രണ്ടാമത്തെ കൺട്രോളറിന് PARTNER.

# Create the primary Controller
controller_1 = Controller(PRIMARY)

# Create a partner Controller
controller_2 = Controller(PARTNER)