সেন্সর বিভিন্ন উপায়ে ইভেন্ট তৈরি করতে পারে, এগুলিকে রিপোর্টিং মোড বলা হয়; প্রতিটি সেন্সর ধরনের সাথে একটি এবং শুধুমাত্র একটি রিপোর্টিং মোড যুক্ত থাকে। রিপোর্ট করার চারটি মোড আছে।
একটানা
batch ফাংশনে পাস করা
sampling_period_ns
প্যারামিটার দ্বারা নির্ধারিত একটি ধ্রুবক হারে ইভেন্ট তৈরি করা হয়। কন্টিনিউয়াস রিপোর্টিং মোড ব্যবহার করে
এমন সেন্সরের উদাহরণ হল
অ্যাকসিলরোমিটার
ও জাইরোস্কোপ।
পরিবর্তনের সময়
পরিমাপ করা ভ্যালু পরিবর্তন হলে তবেই ইভেন্ট তৈরি হয়।
HAL লেভেলে সেন্সর অ্যাক্টিভেট করা (এতে
activate(..., enable=1) কল করা)ও একটি ইভেন্ট ট্রিগার করে,
অর্থাৎ, কোনও অন-চেঞ্জ সেন্সর
অ্যাক্টিভেট করা হলে, HAL-কে অবিলম্বে একটি ইভেন্ট রিটার্ন করতে হবে। পরিবর্তন-ভিত্তিক রিপোর্টিং মোড ব্যবহার করা সেন্সরের উদাহরণ হল
স্টেপ কাউন্টার, প্রক্সিমিটি ও হার্ট রেট সেন্সরের ধরন।
batch ফাংশনে পাস করা
sampling_period_ns
প্যারামিটারটি পরপর ইভেন্টের মধ্যে ন্যূনতম সময় সেট করতে ব্যবহৃত হয়, যার অর্থ হল শেষ ইভেন্টের পর থেকে sampling_period_ns ন্যানোসেকেন্ড অতিবাহিত না হওয়া পর্যন্ত কোনও ইভেন্ট তৈরি করা উচিত নয়, এমনকি তারপর থেকে মান পরিবর্তিত হলেও। ভ্যালু পরিবর্তন হলে,
শেষ ইভেন্টের পর থেকে sampling_period_ns সময়
অতিক্রান্ত হওয়ার সাথে সাথেই একটি ইভেন্ট তৈরি করতে হবে।
যেমন, ধরুন:
- আমরা
sampling_period_ns = 10 * 10^9(১০ সেকেন্ড) দিয়ে স্টেপ কাউন্টার অ্যাক্টিভেট করি। - আমরা ৫৫ সেকেন্ড হাঁটি, তারপর এক মিনিট স্থির হয়ে দাঁড়িয়ে থাকি।
- প্রথম এক মিনিট (সেন্সর অ্যাক্টিভেট হওয়ার কারণে
t=0-এ এবংt=60সেকেন্ড সহ) ধরে প্রায় প্রতি ১০ সেকেন্ডে ইভেন্ট তৈরি হয়, মোট সাতটি ইভেন্ট। দ্বিতীয় মিনিটে কোনও ইভেন্ট তৈরি হয়নি কারণt=60সেকেন্ড পরে স্টেপ কাউন্টের ভ্যালু পরিবর্তিত হয়নি।
ওয়ান-শট
কোনও ইভেন্ট শনাক্ত করার পরে, সেন্সরটি নিজেকে ডিঅ্যাক্টিভেট করে এবং তারপরে HAL-এর মাধ্যমে একটি ইভেন্ট পাঠায়। রেস কন্ডিশন এড়াতে ক্রম গুরুত্বপূর্ণ। (HAL-এর মাধ্যমে ইভেন্ট রিপোর্ট করার আগে সেন্সরটি অবশ্যই ডিঅ্যাক্টিভেট করতে হবে)। HAL সেন্সর আবার অ্যাক্টিভেট না করা পর্যন্ত অন্য কোনও ইভেন্ট পাঠানো হয় না। উল্লেখযোগ্য মোশন হল এই ধরনের সেন্সরের একটি উদাহরণ।
ওয়ান-শট সেন্সরকে কখনও কখনও ট্রিগার সেন্সরও বলা হয়।
batch ফাংশনে পাস করা sampling_period_ns এবং max_report_latency_ns
প্যারামিটার উপেক্ষা করা হয়। এক-শট ইভেন্ট থেকে
ইভেন্ট হার্ডওয়্যার FIFO-তে স্টোর করা যায় না; ইভেন্ট তৈরি
হওয়ার সাথে সাথেই তা রিপোর্ট করতে হবে।
বিশেষ
ইভেন্ট কখন তৈরি হয় সেই সম্পর্কে বিস্তারিত জানতে, আলাদা আলাদা সেন্সর টাইপের বিবরণ দেখুন।