বাম্পার সুইচ#

ভূমিকা#

bumper ক্লাসটি বাম্পার সুইচের সাথে ব্যবহৃত হয়, যা একটি যান্ত্রিক সুইচ। এই সুইচটি চাপ দিলে একটি সার্কিট সম্পূর্ণ হয়, যার ফলে রোবট চাপ ও ছাড় শনাক্ত করতে পারে।

VEX EXP বাম্পার সুইচ হল একটি ৩-তারের ডিভাইস যার একটি চওড়া কালো ভিত্তি রয়েছে যা রোবটের সাথে সংযুক্ত করার জন্য এবং উপরে একটি লাল চাপযোগ্য বোতাম রয়েছে।

ক্লাস কনস্ট্রাক্টর#

bumper(
  triport::port &port );

ক্লাস ডেস্ট্রাক্টর#

bumper অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সগুলো মুক্ত করে।

virtual ~bumper();

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

প্যারামিটার

প্রকার

বর্ণনা

port

triport::port&

যে ৩-ওয়্যার পোর্টের সাথে বাম্পার সুইচটি সংযুক্ত থাকে, তা Brain.ThreeWirePort.X অথবা ExpanderName.Xহিসেবে লেখা হয়, যেখানে X হলো পোর্ট লেটার (উদাহরণস্বরূপ, Brain.ThreeWirePort.A অথবা Expander1.A)।

উদাহরণ#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

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

bumper ক্লাসে নিম্নলিখিত সদস্য ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:

  • pressing — বাম্পার সুইচ চাপা হচ্ছে কিনা তা ফেরত দেয়।

  • pressed — বাম্পার সুইচ চাপলে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।

  • released — বাম্পার সুইচ ছেড়ে দিলে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।

যেকোনো bumper মেম্বার ফাংশন কল করার আগে, bumper একটি ইনস্ট্যান্স তৈরি করতে হবে, যেমনটি নিচে দেখানো হয়েছে:

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

pressing#

বাম্পার সুইচটি বর্তমানে চাপা আছে কিনা তা জানায়। রোবটটি অন্য বস্তুতে ধাক্কা খাচ্ছে কিনা তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে।

Available Functions
int32_t pressing();

Parameters

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

Return Values

বাম্পার সুইচ চাপা হচ্ছে কিনা তা বোঝাতে একটি int32_t রিটার্ন করে।

  • 1 — বাম্পার সুইচটি চাপা হচ্ছে।

  • 0 — বাম্পার সুইচটি চাপা হচ্ছে না।

pressed#

বাম্পার সুইচ চাপলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions
void pressed( void (* callback)(void) );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

এমন একটি ফাংশনের পয়েন্টার যা বাম্পার চাপলে কল করা হবে।

Return Values

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

Examples

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

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  BumperA.pressed(BumperPressed);
}

released#

বাম্পার সুইচ ছেড়ে দিলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions
void released( void (* callback)(void) );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

এমন একটি ফাংশনের পয়েন্টার যা বাম্পারটি ছেড়ে দিলে কল করা হবে।

Return Values

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

Examples

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

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  BumperA.released(BumperReleased);
}