নিয়ন্ত্রক#

ভূমিকা#

controller ক্লাসটি IQ ব্রেইনের সাথে সংযুক্ত একটি VEX IQ কন্ট্রোলারকে প্রতিনিধিত্ব করে। একটি controller অবজেক্ট ব্যবহার করে জয়স্টিক অ্যাক্সিসের মান অ্যাক্সেস করা, বাটনের অবস্থা পড়া, বাটন বা জয়স্টিক কলব্যাক রেজিস্টার করা এবং কন্ট্রোলারটি সংযুক্ত আছে কিনা তা পরীক্ষা করা যায়।

IQ (২য় জেনারেশন) ব্রেইনটি একটি IQ (২য় জেনারেশন) অথবা IQ (১ম জেনারেশন) কন্ট্রোলারের সাথে সংযুক্ত হতে পারে। একটি IQ (১ম জেনারেশন) কন্ট্রোলারে অবশ্যই একটি নীল স্মার্ট রেডিও ইনস্টল করা থাকতে হবে।

যখন ডিভাইসেস উইন্ডোতে এক বা একাধিক কন্ট্রোলার কনফিগার করা হয়, তখন VEXcode IQ RemoteControlCodeEnabledও প্রদান করে। এই গ্লোবাল ভেরিয়েবলটি ডিভাইসেস মেনুতে কনফিগার করা কন্ট্রোলার অ্যাকশনগুলোকে সক্ষম বা অক্ষম করে।

উদ্ভূত শ্রেণী#

controller ক্লাসটি নিম্নলিখিত ডিরাইভড ক্লাসগুলো প্রদান করে:

  • Axis - জয়স্টিক অক্ষের ইনপুট মান এবং পরিবর্তন ইভেন্টগুলিতে অ্যাক্সেস প্রদান করে।

  • Button - বাটনের অবস্থা এবং বাটন ইভেন্ট কলব্যাকগুলিতে অ্যাক্সেস প্রদান করে।

নির্মাণকারী#

1 - প্রাথমিক কন্ট্রোলার টাইপ ব্যবহার করে একটি কন্ট্রোলার তৈরি করে। সাধারণত যখন একটিমাত্র কন্ট্রোলার সংযুক্ত থাকে তখন এটি ব্যবহৃত হয়।

controller();

2 - নির্দিষ্ট কন্ট্রোলার টাইপের জন্য একটি কন্ট্রোলার তৈরি করে। দুটি কন্ট্রোলার সংযুক্ত থাকলে এটি ব্যবহৃত হয়।

controller(
    controllerType id );

উপলব্ধ ফাংশনসমূহ

controller();

controller(controllerType id);

প্যারামিটার

প্রকার

বর্ণনা

id

controllerType

ঐচ্ছিক। যে কন্ট্রোলার টাইপটি তৈরি করতে চান: ব্রেইনের সাথে সংযুক্ত প্রাথমিক কন্ট্রোলারের জন্য primary ​​অথবা ব্রেইনের সাথে সংযুক্ত দ্বিতীয় কন্ট্রোলারের জন্য partner।

টীকা

Only one primary controller and one partner controller can be created in a single project.

উদাহরণ

// Create the primary controller
controller Controller1 = controller();

// Create a partner controller
controller Controller2 = controller(partner);

ধ্বংসকারী#

~কন্ট্রোলার#

~controller , controller অবজেক্টটিকে ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।

উপলব্ধ ফাংশন

~controller();

প্যারামিটার#

প্যারামিটার

প্রকার

বর্ণনা

id

controllerType

যে ধরনের কন্ট্রোলার তৈরি করা হচ্ছে:

  • primary - মস্তিষ্কের সাথে সংযুক্ত প্রাথমিক কন্ট্রোলার।
  • partner - মস্তিষ্কের সাথে সংযুক্ত সহযোগী (দ্বিতীয়) কন্ট্রোলার।

নোট#

  • একটি প্রকল্পে কেবল একজন primary এবং একজন (অংশীদার) ( partner নিয়ন্ত্রক থাকতে পারে।

উদাহরণ#

// Create a controller instance
controller Controller = controller();

সদস্যদের কার্যাবলী#

controller ক্লাসে নিম্নলিখিত মেম্বার ফাংশনটি অন্তর্ভুক্ত রয়েছে:

  • installed - কন্ট্রোলারটি মস্তিষ্কের সাথে সংযুক্ত আছে কিনা তা পরীক্ষা করে।

ইনস্টল করা হয়েছে#

installed কন্ট্রোলারটি ব্রেইনের সাথে সংযুক্ত আছে কিনা তা ফেরত দেয়।

উপলব্ধ ফাংশন

bool installed();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

গ্লোবাল ভেরিয়েবল#

রিমোট কন্ট্রোল কোড সক্রিয় করা হয়েছে#

RemoteControlCodeEnabled ডিভাইসেস মেনুতে কনফিগার করা কন্ট্রোলার অ্যাকশনগুলো চালু বা বন্ধ করে। কন্ট্রোলারে কনফিগার করা অ্যাকশনগুলো ডিফল্টরূপে চালু থাকে।

Usage:
RemoteControlCodeEnabled = state;

মূল্য

বর্ণনা

true

কন্ট্রোলার দ্বারা কনফিগার করা ক্রিয়াকলাপগুলি সক্ষম করে।

false

কন্ট্রোলার দ্বারা কনফিগার করা ক্রিয়াকলাপগুলি নিষ্ক্রিয় করে।

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • কন্ট্রোলার-কনফিগার করা অ্যাকশনগুলো ডিফল্টরূপে সক্রিয় থাকে।

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;