সিগন্যাল টাওয়ার#
ভূমিকা#
signaltower ক্লাসটি লাইট পরিবর্তন করতে এবং সিটিই সিগন্যাল টাওয়ারের সাথে মিথস্ক্রিয়া শনাক্ত করতে ব্যবহৃত হয়।
ক্লাস কনস্ট্রাক্টর#
signaltower(
int32_t index );
ক্লাস ডেস্ট্রাক্টর#
signaltower অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সগুলো মুক্ত করে।
virtual ~signaltower();
প্যারামিটার#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে স্মার্ট পোর্টের সাথে সিগন্যাল টাওয়ারটি সংযুক্ত থাকে, তা |
উদাহরণ#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
সদস্যদের কার্যাবলী#
signaltower ক্লাসটি নিম্নলিখিত মেম্বার ফাংশনগুলো প্রদান করে:
setColor - বিভিন্ন ইনপুট পদ্ধতি ব্যবহার করে সিগন্যাল টাওয়ারের LED-গুলির রং এবং অবস্থা নিয়ন্ত্রণ করে।
setColors - সিগন্যাল টাওয়ারের সমস্ত LED-র অবস্থা আলাদাভাবে সেট করে।
setBlink - সিগন্যাল টাওয়ারে থাকা একটি LED-এর ID ব্যবহার করে তার ব্লিঙ্ক অবস্থা সেট করে।
setBlinkTime - সিগন্যাল টাওয়ারের এলইডিগুলির ব্লিঙ্ক করার মধ্যবর্তী সময় নির্ধারণ করে।
enableBlink - সিগন্যাল টাওয়ারে একাধিক LED-কে তাদের ID অনুযায়ী ঝিকমিক করা সক্ষম করে।
disableBlink - সিগন্যাল টাওয়ারে থাকা একাধিক LED-র ID অনুযায়ী ব্লিঙ্কিং বন্ধ করে।
চাপ দেওয়া - সিগন্যাল টাওয়ার বাম্পারটি বর্তমানে চাপা আছে কিনা তা ফেরত দেয়।
pressed - সিগন্যাল টাওয়ার বাম্পার চাপলে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।
released - সিগন্যাল টাওয়ার বাম্পার ছেড়ে দিলে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।
setColor#
বিভিন্ন ইনপুট পদ্ধতি ব্যবহার করে সিগন্যাল টাওয়ারের এলইডি-গুলির রঙ এবং অবস্থা নিয়ন্ত্রণ করা হয়। এই বাতিগুলি কোনো প্রকল্পে রোবটটি কোথায় আছে তা ট্র্যাক করতে অথবা নির্দিষ্ট শর্ত পূরণ হলে তা দেখাতে ব্যবহার করা যেতে পারে।
Available Functions1 — vex::color ব্যবহার করে সিগন্যাল টাওয়ারকে একটি রঙে সেট করে।
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — ৩২-বিট RGB এবং YW মান ব্যবহার করে LED-র রং নির্ধারণ করে।
void setColor( uint32_t rgb, uint32_t yw );
3 — LED ID দ্বারা প্রতিটি LED-এর উজ্জ্বলতা নির্ধারণ করে।
void setColor( ledId id, uint32_t value );
Parameters4 — প্রতিটি LED-এর জন্য আলাদাভাবে উজ্জ্বলতার মাত্রা নির্ধারণ করে।
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে রংটি ব্যবহার করতে হবে:
blue |
|
|
এলইডি-র অবস্থা:
|
|
|
৩২-বিট মান ব্যবহার করে লাল, সবুজ এবং নীল LED-এর উজ্জ্বলতা (যেমন, লাল অন = |
|
|
৩২-বিট মান ব্যবহার করে হলুদ এবং সাদা এলইডি-র উজ্জ্বলতা (যেমন, হলুদ অন = |
|
|
নিয়ন্ত্রণ করার জন্য LED-এর সূচক:
|
|
|
এলইডি-র উজ্জ্বলতার সীমা ০ থেকে ২৫৫, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
|
|
লাল এলইডি-র উজ্জ্বলতার সীমা ০ থেকে ২৫৫, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
|
|
হলুদ এলইডি-র উজ্জ্বলতার সীমা ০ থেকে ২৫৫, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
|
|
সবুজ LED-টির উজ্জ্বলতা ০ থেকে ২৫৫ পর্যন্ত, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
|
|
নীল এলইডি-র উজ্জ্বলতার সীমা ০ থেকে ২৫৫, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
|
|
সাদা এলইডি-র উজ্জ্বলতার সীমা ০ থেকে ২৫৫, যেখানে ০ মানে বন্ধ এবং ২৫৫ হলো সর্বোচ্চ উজ্জ্বলতা। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examples// Set the Signal Tower to start blinking blue
SignalTower.setColor(vex::color::blue, signaltower::blink);
// Set the red, blue and white LEDs using hex values
SignalTower.setColor(0xFF00FF, 0x00FF);
// Set the green LED to full brightness by ID
SignalTower.setColor(1, 255);
// Set all LEDs to full brightness
SignalTower.setColor(255, 255, 255, 255, 255);
setColors#
সিগন্যাল টাওয়ারের সমস্ত এলইডি-র অবস্থা আলাদাভাবে নির্ধারণ করে। এই বাতিগুলো কোনো প্রকল্পে রোবটটি কোথায় আছে তা ট্র্যাক করতে অথবা নির্দিষ্ট শর্ত পূরণ হলে তা দেখাতে ব্যবহার করা যেতে পারে।
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
লাল LED-এর অবস্থা:
|
|
|
হলুদ LED-এর অবস্থা:
|
|
|
সবুজ LED-এর অবস্থা:
|
|
|
নীল LED-এর অবস্থা:
|
|
|
সাদা LED-টির অবস্থা:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
এলইডি-র আইডি ব্যবহার করে সিগন্যাল টাওয়ারের কোনো এলইডি-র মিটমিট করার অবস্থা নির্ধারণ করা হয়। এই মিটমিট করা বাতিগুলো নির্দিষ্ট শর্ত পূরণ হলে তা দেখানোর জন্য ব্যবহার করা যেতে পারে, যেমন—যখন রোবট অপেক্ষা করছে বা যখন মনোযোগের প্রয়োজন।
Available Functionsvoid setBlink(
ledId id,
bool enable );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
এলইডি আইডি:
|
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
setBlinkTime#
সিগন্যাল টাওয়ারের এলইডি-গুলোর এক আলো থেকে অন্য আলো জ্বলার মধ্যবর্তী সময় নির্ধারণ করে।
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মিটমিট করার সময় এলইডি-টি কতক্ষণ জ্বলে থাকবে, তার সময়কাল (মিলিসেকেন্ডে)। সর্বোচ্চ মান হলো ২৫০০ মিলিসেকেন্ড। ০ মানটি ডিফল্টভাবে ৫০০ মিলিসেকেন্ড হিসেবে গণ্য হবে। |
|
|
মিটমিট করার সময় এলইডি কতক্ষণ বন্ধ থাকবে, সেই সময়কাল (মিলিসেকেন্ডে)। সর্বোচ্চ মান হলো ২৫০০ মিলিসেকেন্ড। ০ মানটি onTime ভ্যালুটি ব্যবহার করে। ডিফল্ট মান হলো ০। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
enableBlink#
সিগন্যাল টাওয়ারের একাধিক এলইডি-কে তাদের আইডি অনুযায়ী ঝিকমিক করানো যায়।
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
এলইডি আইডি:
|
|
|
দ্বিতীয় LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
তৃতীয় LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
চতুর্থ LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
পঞ্চম LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
disableBlink#
সিগন্যাল টাওয়ারের একাধিক এলইডি-র আইডি ব্যবহার করে সেগুলোর মিটমিট করা বন্ধ করে।
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
প্রথম LED-টির সূচক।
|
|
|
দ্বিতীয় LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
তৃতীয় LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
চতুর্থ LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
|
|
পঞ্চম LED-এর সূচক (ঐচ্ছিক)। ডিফল্ট হলো
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
pressing#
সিগন্যাল টাওয়ারের বাম্পারটি বর্তমানে চাপা আছে কিনা তা জানায়। এটি জরুরি স্টপ হিসেবে ব্যবহার করা যেতে পারে।
Available Functionsbool pressing();
এই ফাংশনটির কোনো প্যারামিটার নেই।
Return Valuesসিগন্যাল টাওয়ারের বাম্পারটি বর্তমানে চাপা আছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান প্রদান করে।
true— সিগন্যাল টাওয়ারের বাম্পারটি বর্তমানে চাপা হচ্ছে।false— সিগন্যাল টাওয়ারের বাম্পারটি চাপা হচ্ছে না।
pressed#
সিগন্যাল টাওয়ার বাম্পার চাপলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।
Available Functionsvoid pressed( void (* callback)(void) );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
এমন একটি ফাংশনের পয়েন্টার যা বাম্পার চাপলে কল করা হবে। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examplesকলব্যাক ফাংশনটি সংজ্ঞায়িত করুন (
int main()এর বাইরে)// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }
int main()এর ভিতরে কলব্যাকটি নিবন্ধন করুনint main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run towerBumperPressed when the tower bumper // is pressed SignalTower.pressed(towerBumperPressed); }
released#
সিগন্যাল টাওয়ার বাম্পারটি ছেড়ে দেওয়া হলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।
Available Functionsvoid released( void (* callback)(void) );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
এমন একটি ফাংশনের পয়েন্টার যা বাম্পারটি ছেড়ে দিলে কল করা হবে। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examplesকলব্যাক ফাংশনটি সংজ্ঞায়িত করুন (
int main()এর বাইরে)// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }
int main()এর ভিতরে কলব্যাকটি নিবন্ধন করুনint main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run towerBumperReleased when the tower bumper // is released SignalTower.released(towerBumperReleased); }