रिपोर्टिंग मोड

सेंसर, अलग-अलग तरीकों से इवेंट जनरेट कर सकते हैं. इन्हें रिपोर्टिंग मोड कहा जाता है. हर सेंसर टाइप के साथ सिर्फ़ एक रिपोर्टिंग मोड जुड़ा होता है. रिपोर्टिंग के चार मोड मौजूद हैं.

निरंतर

इवेंट, एक तय दर पर जनरेट होते हैं. यह दर, batch फ़ंक्शन में पास किए गए sampling_period_ns पैरामीटर से तय होती है. लगातार रिपोर्टिंग मोड का इस्तेमाल करने वाले सेंसर के उदाहरण के तौर पर, एक्सलरोमीटर और जाइरोस्कोप दिए गए हैं.

बदलाव होने पर

इवेंट सिर्फ़ तब जनरेट होते हैं, जब मेज़र की गई वैल्यू बदल जाती हैं. एचएएल लेवल पर सेंसर को चालू करने (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 पैरामीटर को अनदेखा किया जाता है. एक बार होने वाले इवेंट के इवेंट, हार्डवेयर FIFOs में सेव नहीं किए जा सकते. इवेंट जनरेट होने के तुरंत बाद, उनकी शिकायत कर दी जानी चाहिए.

स्पेशल

इवेंट कब जनरेट होते हैं, इस बारे में जानने के लिए सेंसर के अलग-अलग टाइप की जानकारी देखें.