അച്ചുതണ്ട്#
ആമുഖം#
axis ക്ലാസ് controller ക്ലാസിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ ഒരു ക്ലാസാണ്. ഇത് കൺട്രോളർ ജോയിസ്റ്റിക്ക് ആക്സിസ് മൂല്യങ്ങളിലേക്കും ജോയിസ്റ്റിക്ക് ആക്സിസ് മാറ്റ കോൾബാക്കുകളിലേക്കും പ്രവേശനം നൽകുന്നു.
ഒരു axis ഒബ്ജക്റ്റ് ഒരു controller ഒബ്ജക്റ്റ് വഴി ആക്സസ് ചെയ്യപ്പെടുന്നു. ഇത് നേരിട്ട് നിർമ്മിച്ചതല്ല.

ആക്സസ്#
controller ക്ലാസ് ഇനിപ്പറയുന്ന ആക്സിസ് ഒബ്ജക്റ്റുകൾ നൽകുന്നു. ഓരോ ഒബ്ജക്റ്റും axis ക്ലാസിന്റെ ഒരു ഉദാഹരണമാണ്.
ആക്സിസ് ഒബ്ജക്റ്റ് |
ഉദാഹരണ ഉപയോഗം |
വിവരണം |
|---|---|---|
|
|
വലത് ജോയിസ്റ്റിക്ക് തിരശ്ചീന അക്ഷം. |
|
|
വലത് ജോയിസ്റ്റിക്ക് ലംബ അക്ഷം. |
|
|
ഇടത് ജോയിസ്റ്റിക്ക് ലംബ അക്ഷം. |
|
|
ഇടത് ജോയിസ്റ്റിക്ക് തിരശ്ചീന അക്ഷം. |
കുറിപ്പുകൾ#
axisമെംബർ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ്, ഒരുcontrollerഒബ്ജക്റ്റ് സൃഷ്ടിക്കുക.position-100മുതൽ100വരെയുള്ള ഒരു മൂല്യം നൽകുന്നു.
// Create a controller object
controller Controller = controller();
അംഗ പ്രവർത്തനങ്ങൾ#
axis ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്ഷനുകൾ ഉൾപ്പെടുന്നു:
ഗെറ്റർ — ജോയിസ്റ്റിക്ക് അച്ചുതണ്ട് സ്ഥാനം വായിക്കുക.
position— ജോയിസ്റ്റിക്ക് അച്ചുതണ്ടിന്റെ സ്ഥാനം നൽകുന്നു.
കോൾബാക്ക് — ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം ഒരു അച്ചുതണ്ടിൽ മാറുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുക.
changed— ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം ആ അച്ചുതണ്ടിൽ മാറുമ്പോൾ ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു.
ഗെറ്റർ#
position#
position ജോയിസ്റ്റിക്ക് അച്ചുതണ്ടിന്റെ സ്ഥാനം -100 മുതൽ 100 വരെയുള്ള മൂല്യമായി നൽകുന്നു.
ലഭ്യമായ പ്രവർത്തനം
int32_t position(percentUnits units = percentUnits::pct) const;
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഓപ്ഷണൽ. തിരികെ ലഭിച്ച അക്ഷ മൂല്യത്തിന് ഉപയോഗിക്കുന്ന യൂണിറ്റ്. ഡിഫോൾട്ട് |
റിട്ടേൺ മൂല്യം
-100 മുതൽ 100 വരെയുള്ള int32_t മൂല്യം നൽകുന്നു.
100— ജോയിസ്റ്റിക്ക് അച്ചുതണ്ട് പൂർണ്ണമായും പോസിറ്റീവ് ദിശയിലേക്ക് നീക്കിയിരിക്കുന്നു.0— ജോയിസ്റ്റിക്ക് അച്ചുതണ്ട് മധ്യത്തിലാണ്.-100— ജോയിസ്റ്റിക്ക് അച്ചുതണ്ട് പൂർണ്ണമായും നെഗറ്റീവ് ദിശയിലേക്ക് നീങ്ങുന്നു.
ഉദാഹരണം
// Turn with the left joystick
while (true) {
if (Controller.Axis4.position() > 10) {
Drivetrain.turn(right);
}
else if (Controller.Axis4.position() < -10) {
Drivetrain.turn(left);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
തിരിച്ചുവിളിക്കുക#
changed#
ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം ആ അച്ചുതണ്ടിൽ മാറുമ്പോൾ changed ഒരു ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു.
ലഭ്യമായ പ്രവർത്തനം
void changed(void (* callback)(void)) const;
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ജോയിസ്റ്റിക്കിന്റെ സ്ഥാനം ആ അച്ചുതണ്ടിൽ മാറുമ്പോഴെല്ലാം പ്രവർത്തിപ്പിക്കാനുള്ള ഒരു ഫംഗ്ഷൻ. |
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
അച്ചുതണ്ട് മൂല്യം മാറുമ്പോൾ യാന്ത്രികമായി വിളിക്കപ്പെടുന്ന മുമ്പ് നിർവചിക്കപ്പെട്ട ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ. ഫംഗ്ഷൻ ആവശ്യമായ കോൾബാക്ക് സിഗ്നേച്ചറുമായി പൊരുത്തപ്പെടണം. കൂടുതൽ വിവരങ്ങൾക്ക് കോൾബാക്ക് ഫംഗ്ഷനുകൾ കാണുക. |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
ഉദാഹരണം
main ന് പുറത്തുള്ള കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക.
കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക (
int main()ന് പുറത്ത്)// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }
int main()നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call the function when the left joystick moves Controller.Axis4.changed(sounds); }