কাস্টম টাইমার#
ভূমিকা#
timer ক্লাসটি ব্রেনের টাইমার থেকে স্বাধীনভাবে সময় রাখতে এবং একটি টাইমারের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়।
ক্লাস কনস্ট্রাক্টর#
timer();
ক্লাস ডেস্ট্রাক্টর#
timer অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।
~timer();
প্যারামিটার#
এই কনস্ট্রাক্টরটি কোনো প্যারামিটার গ্রহণ করে না।
উদাহরণ#
// Create a timer instance
timer myTimer = timer();
সদস্যদের কার্যাবলী#
timer ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
clear— টাইমারকে শূন্যে রিসেট করে।time— টাইমার শুরু হওয়ার পর থেকে অতিবাহিত সময় ফেরত দেয়।event— নির্দিষ্ট সংখ্যক মিলিসেকেন্ড পরে একটি ফাংশন কল করে, ঐচ্ছিক আর্গুমেন্ট সহ।
যেকোনো টাইমার timer ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি timer ইনস্ট্যান্স তৈরি করতে হবে:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
clear#
টাইমার শূন্যে সেট করে।
Available Functionsvoid clear();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesএই ফাংশনটি কোনো মান ফেরত দেয় না।
Exampleswhile (true) {
// Clear the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
myTimer.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(msec));
wait(50, msec);
}
time#
টাইমারের বর্তমান মান ফেরত দেয়।
Available Functions1 — অতিবাহিত সময় মিলিসেকেন্ডে ফেরত দেয়।
uint32_t time() const;
Parameters2 — নির্দিষ্ট সময় এককে অতিবাহিত সময় ফেরত দেয়।
double time( timeUnits units ) const;
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
অতিক্রান্ত সময় দেখানোর জন্য ব্যবহৃত একক:
|
প্যারামিটারবিহীন ফাংশন (1) মিলিসেকেন্ডে অতিবাহিত সময়
uint32_tফেরত দেয়।timeUnitsপ্যারামিটার সহ ফাংশনটি (2) নির্দিষ্ট ইউনিটে অতিবাহিত সময়কেdoubleফেরত দেয়।
কাস্টম টাইমারটি তৈরি করা হলেই গণনা শুরু হয়।
clearকল করলে টাইমারের মান শূন্যে রিসেট হয়।
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(sec));
wait(50, msec);
}
event#
একটি নির্দিষ্ট বিলম্বের পরে কার্যকর হওয়ার জন্য একটি কলব্যাক ফাংশন নিবন্ধন করে।
Available Functions1 — একটি নির্দিষ্ট বিলম্বের পরে চালানোর জন্য একটি কলব্যাক নিবন্ধন করে এবং কলব্যাকে একটি ব্যবহারকারী-সংজ্ঞায়িত মান প্রেরণ করে।
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — একটি নির্দিষ্ট বিলম্বের পরে চালানোর জন্য একটি কলব্যাক নিবন্ধন করে।
static void event( void (*callback)(void), uint32_t value );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি ফাংশন যা নির্দিষ্ট বিলম্বের পরে কল করা হবে এবং একটি ব্যবহারকারী-নির্ধারিত আর্গুমেন্ট গ্রহণ করবে। |
|
|
একটি ফাংশন যা নির্দিষ্ট বিলম্বের পরে কল করা হবে। |
|
|
কলব্যাক ফাংশনটি কার্যকর হওয়ার আগের বিলম্ব, যা মিলিসেকেন্ডে পরিমাপ করা হয়। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesএই ফাংশনটি একটি এককালীন কলব্যাক নির্ধারণ করে; এটি স্বয়ংক্রিয়ভাবে পুনরাবৃত্তি হয় না।
কলব্যাক ফাংশনটিকে অবশ্যই
voidরিটার্ন করতে হবে।একই সময়ে একাধিক অনুষ্ঠান নির্ধারিত হতে পারে।
ফাংশনটি সংজ্ঞায়িত করুন (
int main()এর বাইরে)// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }ফাংশনটি
int main()এর ভিতরে নিবন্ধন করুনint main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); timer myTimer = timer(); // Call turnOrange after 2 seconds myTimer.event(turnOrange, 2000); }