অক্ষ#

ভূমিকা#

axis ক্লাসটি controller ক্লাসের একটি ডিরাইভড ক্লাস। এটি কন্ট্রোলার জয়স্টিক অক্ষের মান এবং জয়স্টিক অক্ষ পরিবর্তনের কলব্যাকগুলিতে অ্যাক্সেস প্রদান করে।

একটি axis অবজেক্টকে একটি controller অবজেক্টের মাধ্যমে অ্যাক্সেস করা হয়। এটি সরাসরি কনস্ট্রাক্ট করা হয় না।

EXP কন্ট্রোলারের সামনের দিক, যেখানে জয়স্টিকের অ্যাক্সিস নম্বরগুলো লাল রঙে হাইলাইট করা আছে। কন্ট্রোলারের উপরিভাগে, বাম জয়স্টিকটিকে ডানে-বামে নড়াচড়ার জন্য অ্যাক্সিস ৪ এবং উপরে-নিচে নড়াচড়ার জন্য অ্যাক্সিস ৩ হিসেবে চিহ্নিত করা হয়েছে, অন্যদিকে ডান জয়স্টিকটিকে ডানে-বামে নড়াচড়ার জন্য অ্যাক্সিস ১ এবং উপরে-নিচে নড়াচড়ার জন্য অ্যাক্সিস ২ হিসেবে চিহ্নিত করা হয়েছে।

অ্যাক্সেস#

কন্ট্রোলার controller প্রতিটি অবজেক্ট হলো axis ক্লাসের একটি ইনস্ট্যান্স।

অক্ষ বস্তু

উদাহরণ ব্যবহার

বর্ণনা

Axis1

Controller.Axis1.position()

ডান জয়স্টিকটি অনুভূমিক অক্ষ বরাবর চলে।

Axis2

Controller.Axis2.position()

ডান জয়স্টিকটি উল্লম্ব অক্ষ বরাবর কাজ করে।

Axis3

Controller.Axis3.position()

বাম জয়স্টিক উল্লম্ব অক্ষ।

Axis4

Controller.Axis4.position()

বাম জয়স্টিক অনুভূমিক অক্ষ।

নোট#

  • একটি 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;

প্যারামিটার

প্রকার

বর্ণনা

units

percentUnits

ঐচ্ছিক। ফেরত আসা অক্ষের মানের জন্য ব্যবহৃত একক। ডিফল্ট হলো percentUnits::pct।

ফেরত মূল্য

-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;

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

একটি ফাংশন যা জয়স্টিকের অবস্থান ঐ অক্ষ বরাবর প্রতিবার পরিবর্তিত হলে চালিত হবে।

ফেরত মূল্য

এই ফাংশনটি কোনো মান ফেরত দেয় না।

উদাহরণ

main এর বাইরে কলব্যাক ফাংশনটি সংজ্ঞায়িত করুন।

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

main এর ভিতরে কলব্যাকটি নিবন্ধন করুন।

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}