सेंसर, अलग-अलग तरीकों से इवेंट जनरेट कर सकते हैं. इन्हें रिपोर्टिंग मोड कहा जाता है; हर तरह के सेंसर के लिए, सिर्फ़ एक रिपोर्टिंग मोड होता है. रिपोर्टिंग के चार मोड मौजूद हैं.
निरंतर
इवेंट, उस कॉन्सटेंट रेट पर जनरेट होते हैं जो
sampling_period_ns
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
batch
फ़ंक्शन को पास किया गया पैरामीटर. सेंसर का उदाहरण
आपके विज्ञापनों के लिए, लगातार रिपोर्टिंग मोड का इस्तेमाल कर रहे हैं.
एक्सलरोमीटर
और जाइरोस्कोप देख सकते हैं.
बदलाव होने पर
इवेंट सिर्फ़ तब जनरेट होते हैं, जब मेज़र की गई वैल्यू बदल जाती हैं.
सेंसर को एचएएल लेवल पर चालू करने (इस पर activate(..., enable=1)
को कॉल करने) से भी इवेंट ट्रिगर होता है. इसका मतलब है कि बदलाव होने पर सेंसर चालू होने पर, एचएएल को तुरंत इवेंट दिखाना चाहिए. उदाहरण के तौर पर, ऐसे सेंसर जो बदलाव के बारे में रिपोर्टिंग मोड का इस्तेमाल करते हैं वे
स्टेप काउंटर, प्रॉक्सिमिटी, और धड़कन की दर का पता लगाने वाले सेंसर टाइप.
batch
फ़ंक्शन में पास किए गए sampling_period_ns
पैरामीटर का इस्तेमाल, एक के बाद एक होने वाले इवेंट के बीच कम से कम समय सेट करने के लिए किया जाता है. इसका मतलब है कि पिछले इवेंट के sampling_period_ns
नैनोसेकंड बीत जाने तक, कोई इवेंट जनरेट नहीं किया जाना चाहिए. भले ही, तब तक वैल्यू बदल गई हो. अगर वैल्यू बदली है, तो
पिछले इवेंट के sampling_period_ns
बीत जाने के बाद, इवेंट जनरेट होना चाहिए.
उदाहरण के लिए, मान लें:
- हम
sampling_period_ns = 10 * 10^9
(10 सेकंड) से कदमों की गिनती करने वाले काउंटर को चालू करते हैं. - हम 55 सेकंड तक चलते हैं और फिर एक मिनट तक एक ही जगह पर खड़े रहते हैं.
- पहले मिनट के दौरान, हर 10 सेकंड में एक इवेंट जनरेट होता है. इसमें सेंसर के चालू होने की वजह से
t=0
औरt=60
सेकंड पर भी इवेंट जनरेट होता है. इस तरह, कुल सात इवेंट जनरेट होते हैं. दूसरे मिनट में कोई इवेंट जनरेट नहीं होता, क्योंकिt=60
सेकंड के बाद, चरण की संख्या की वैल्यू में कोई बदलाव नहीं होता.
एक शॉट
किसी इवेंट का पता चलने पर, सेंसर अपने-आप बंद हो जाता है और फिर एचएएल के ज़रिए एक इवेंट भेजता है. रेस की स्थितियों से बचने के लिए, ऑर्डर करना ज़रूरी है. (HAL के ज़रिए इवेंट की शिकायत करने से पहले, सेंसर को बंद करना ज़रूरी है). सेंसर के फिर से चालू होने तक, कोई दूसरा इवेंट नहीं भेजा जाता. अहम जानकारी मोशन इस तरह के सेंसर का एक उदाहरण है.
वन-शॉट सेंसर को कभी-कभी ट्रिगर सेंसर भी कहा जाता है.
batch
फ़ंक्शन में पास किए गए sampling_period_ns
और max_report_latency_ns
पैरामीटर को अनदेखा कर दिया जाता है. इवेंट
एक शॉट से लिए गए इवेंट को हार्डवेयर एफ़आईएफ़ओ में सेव नहीं किया जा सकता; इवेंट को
रिपोर्ट जनरेट होते ही उन्हें रिपोर्ट कर दिया जाएगा.
स्पेशल
इवेंट कब जनरेट होते हैं, इसकी जानकारी के लिए अलग-अलग सेंसर टाइप के बारे में जानकारी देखें.