Android के मालिकाना एनसीआई निर्देश

एनएफ़सी कंट्रोलर (एनएफ़सीसी) के साथ इंटरैक्ट करने के लिए, एनएफ़सी कंट्रोलर इंटरफ़ेस (एनसीआई) का इस्तेमाल किया जाता है. इस पेज पर, Android के मालिकाना हक वाली NCI कमांड की खास बातों के बारे में बताया गया है.

एनसीआई की परिभाषाएं

Android की मालिकाना हक वाली NCI कमांड, मालिकाना हक वाले ग्रुप आईडी (GID) 0xF और 0xC के Android ओपकॉड आइडेंटिफ़ायर (OID) कोड स्पेस का इस्तेमाल करती हैं.

सामान्य पैकेट फ़ॉर्मैट

Android NCI पैकेट फ़ॉर्मैट, कंट्रोल पैकेट के लिए NCI स्पेसिफ़िकेशन का पालन करता है. इसके लिए, मालिकाना हक वाले Group_ID 0xFऔर Opcode_ID 0x0C का इस्तेमाल किया जाता है. Android के मालिकाना हक वाले हर मैसेज के लिए, पैकेट पेलोड का पहला बाइट, Android ऑपकोड (0x0C) पर सेट होना चाहिए. Android कंट्रोल पैकेट, कमांड, जवाब, और सूचनाओं की पहचान करने के लिए Message_Type और PBF का इस्तेमाल करते हैं. ये स्टैंडर्ड कमांड की तरह ही काम करते हैं.

Android पैकेट का फ़ॉर्मैट इस टेबल में दिखाया गया है:

0 1 2 3 4 5 6 7
Message_Type PBF Group_ID = 0xF (PROPRIETARY)
आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया (आरएफ़यू) Opcode_ID = 0x0C (ANDROID)
Payload_Length
Android_Opcode_ID
Android_Payload

Android के लिए असाइन किए गए ऑपकोड आइडेंटिफ़ायर की सूची यहां दी गई है. हर पैकेट के स्पेसिफ़िकेशन के बारे में अगले सेक्शन में बताया गया है.

Android OID मैसेज का टाइप मैसेज का नाम
0x00 NCI_MT_CMD NCI_ANDROID_GET_CAPS_CMD
NCI_MT_RSP NCI_ANDROID_GET_CAPS_RSP
0x01 NCI_MT_CMD NCI_ANDROID_POWER_SAVING_CMD
NCI_MT_RSP NCI_ANDROID_POWER_SAVING_RSP
0x02 NCI_MT_CMD NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
NCI_MT_RSP NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
0x03 NCI_MT_NTF NCI_ANDROID_POLLING_FRAME_NTF
0x04 NCI_MT_CMD NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
NCI_MT_RSP NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
0x05 NCI_MT_CMD NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
NCI_MT_RSP NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
0x06 NCI_MT_CMD NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
NCI_MT_RSP NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
0x07 NCI_MT_CMD NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
NCI_MT_RSP NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
0x08 NCI_MT_CMD NCI_ANDROID_BLANK_NCI_CMD
NCI_MT_RSP NCI_ANDROID_BLANK_NCI_RSP
0x09 NCI_MT_CMD NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
NCI_MT_RSP NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
0x0A NCI_MT_CMD NCI_ANDROID_QUERY_POWER_SAVING_CMD
NCI_MT_RSP NCI_ANDROID_QUERY_POWER_SAVING_RSP
0x0B NCI_MT_NTF NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
0x0C NCI_MT_NTF NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
0x0D NCI_MT_CMD NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_CMD
NCI_MT_RSP NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP

'Get capabilities' कमांड

होस्ट, NCI_ANDROID_GET_CAPS_CMD का इस्तेमाल करके, NFCC के साथ काम करने वाली Android की मालिकाना हक वाली सुविधाओं की सूची के बारे में क्वेरी करता है. NCI_ANDROID_GET_CAPS_CMD कमांड में कोई पैरामीटर नहीं होता.

एनएफ़सीसी को NCI_ANDROID_GET_CAPS_RSP स्टेटस के साथ STATUS_OK जवाब देना होगा. साथ ही, इसमें काम करने वाली सुविधाओं की सूची भी शामिल करनी होगी.

अगर एनएफ़सीसी, NCI_ANDROID_GET_CAPS_CMD के साथ काम नहीं करता है, तो होस्ट को यह मानना होगा कि हर सुविधा के लिए, डिफ़ॉल्ट वैल्यू का इस्तेमाल किया गया है. अगर NFCC, रिस्पॉन्स में बताई गई किसी सुविधा की जानकारी नहीं देता है, तो होस्ट को यह मानना चाहिए कि सुविधा की डिफ़ॉल्ट वैल्यू तय की गई है.

NCI_ANDROID_GET_CAPS_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

NCI_ANDROID_GET_CAPS_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें.
Android_Version दो ऑक्टेट इससे Android की उन ज़रूरी शर्तों के वर्शन की पहचान होती है जिन्हें NFCC लागू करता है.
0x0000 Android 15
सुविधाओं की संख्या 1 ऑक्टेट इस्तेमाल की जा सकने वाली सुविधाओं की संख्या (n)
Capabilities[0..n] (m + 2) * n ऑक्टेट इस्तेमाल की जा सकने वाली सुविधाएं
टाइप 1 ऑक्टेट क्षमता का आइडेंटिफ़ायर
Len 1 ऑक्टेट वैल्यू की लंबाई (मी॰)
वैल्यू m ऑक्टेट क्षमता की वैल्यू
Android की मालिकाना हक वाली सुविधाएं
अनुमति का नाम ID साइज़ वैल्यू/जानकारी
ऑब्ज़र्व मोड 0x00 1 ऑक्टेट ऑब्ज़र्व मोड की सुविधा उपलब्ध है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती.
0x01 - Supports the feature with RF deactivation from host (required for Android 15).
0x02 - Supports the feature without RF deactivation from host (required for Android 16 and higher).
अन्य सभी वैल्यू, आरएफ़यू हैं.
पोलिंग फ़्रेम की सूचना 0x01 1 ऑक्टेट पोलिंग फ़्रेम की सूचनाओं के लिए सहायता. अगर सुविधा काम करती है, तो 0x01. अगर सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट). अन्य सभी वैल्यू, RFU हैं.
बैटरी सेव करने वाला मोड 0x02 1 ऑक्टेट बैटरी सेव करने वाले मोड की सुविधा उपलब्ध है. अगर सुविधा काम करती है, तो 0x01. अगर सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट). अन्य सभी वैल्यू, RFU हैं.
Auotransact पोलिंग लूप फ़िल्टर 0x03 1 ऑक्टेट फ़र्मवेयर में पोलिंग लूप फ़िल्टर के लिए सहायता. इससे, ग्लोबल लेवल पर ऑब्ज़र्व मोड चालू होने पर, कुछ पैटर्न के लिए ऑब्ज़र्व मोड को बायपास किया जा सकता है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती
0x01 - पोलिंग लूप फ़िल्टर के साथ काम करती है
अन्य सभी वैल्यू RFU हैं
एग्ज़िट फ़्रेम की कितनी एंट्री काम करती हैं 0x04 1 ऑक्टेट एग्ज़िट फ़्रेम की कितनी एंट्री इस्तेमाल की जा सकती हैं. कम से कम पांच एग्ज़िट फ़्रेम एंट्री ज़रूरी हैं.
रीडर मोड एनोटेशन 0x05 1 ऑक्टेट रीडर मोड में एनोटेशन की सुविधा उपलब्ध है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती.
0x01 - इस सुविधा के साथ काम करता है.
अन्य सभी वैल्यू, आरएफ़यू हैं.
0x06..0xFF 0 ऑक्टेट आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया

बैटरी बचाने की सुविधा से जुड़ी कमांड

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

बैटरी सेवर मोड में, होस्ट को NFCC को कोई भी निर्देश नहीं भेजना चाहिए. साथ ही, NFCC को होस्ट को कोई सूचना या जवाब नहीं भेजना चाहिए. एनएफ़सीसी या एम्बेड किया गया सुरक्षित एलिमेंट (ईएसई), पेमेंट के अनुरोधों को अपने-आप स्वीकार कर सकता है. ऐसा, पावर सेविंग मोड चालू करने से पहले सेट किए गए राउटिंग कॉन्फ़िगरेशन के हिसाब से होता है.

होस्ट, एनएफ़सीसी को रीसेट या फिर से शुरू करके, फ़ुल पावर मोड पर वापस आ सकता है.

NCI_ANDROID_POWER_SAVING_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
बैटरी सेव करने वाला मोड 1 ऑक्टेट 0x00 बैटरी सेवर मोड बंद करना
0x01 बैटरी सेविंग मोड चालू करना

NCI_ANDROID_POWER_SAVING_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

ऑब्ज़र्व मोड का निर्देश सेट करना

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

ऑब्ज़र्व मोड बंद होने पर, एनएफ़सीसी को गतिविधि के तकनीकी स्पेसिफ़िकेशन के मुताबिक, स्टैंडर्ड लिसन मोड वाली गतिविधि लागू करनी होगी.

ऑब्ज़र्व मोड चालू होने पर, NFCC को लिसन मोड में पोलिंग लूप के दौरान, पोल के किसी भी अनुरोध का जवाब नहीं देना चाहिए. ऐसा तब तक नहीं करना चाहिए, जब तक होस्ट ने साफ़ तौर पर इसकी अनुमति न दी हो. फ़ील्ड ऐक्टिवेट होने का पता चलने पर, NFCC को RF_FIELD_INFO_NTF सूचना भेजनी होगी. यह सूचना, NCI स्पेसिफ़िकेशन के सेक्शन 5.3 में बताई गई है. अगर पोल मोड की सुविधा चालू है, तो एनएफ़सीसी को गतिविधि के तकनीकी स्पेसिफ़िकेशन के मुताबिक, पोल मोड की गतिविधि लागू करनी होगी. एनएफ़सीसी, पोल की जानकारी को कैश मेमोरी में सेव कर सकता है. इससे ऑब्ज़र्व मोड बंद होते ही, डिवाइस को तुरंत चालू किया जा सकता है.

अगर किसी वजह से होस्ट डिवाइस बंद हो जाता है (जैसे, बैटरी खत्म हो जाना या उपयोगकर्ता की ओर से बंद किया जाना), तो NFCC को ऑब्ज़र्व मोड बंद कर देना चाहिए, ताकि SE ट्रांज़ैक्शन किए जा सकें.

NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
ऑब्ज़र्व मोड 1 ऑक्टेट 0x00 ऑब्ज़र्व मोड बंद करें (डिफ़ॉल्ट)
0x01 ऑब्ज़र्व मोड चालू करना

NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें.

पोलिंग लूप की सूचना

NFCC को हर पोलिंग लूप फ़्रेम के बाद, होस्ट को NCI_ANDROID_POLLING_FRAME_NTF सूचना भेजनी होगी. RF_FIELD_INFO_NTF और NCI_ANDROID_POLLING_FRAME_NTF, दोनों सूचनाएं जनरेट होने पर, NFCC को RF_FIELD_INFO_NTF के बाद NCI_ANDROID_POLLING_FRAME_NTF भेजनी होगी.

NCI_ANDROID_POLLING_FRAME_NTF की सूचना, इस बात पर निर्भर नहीं करती कि ऑब्ज़र्व मोड चालू है या नहीं. ऑब्ज़र्व मोड चालू होने पर, लेन-देन की प्रोसेस शुरू करने से पहले, एनएफ़सीसी को हमेशा NCI_ANDROID_POLLING_FRAME_NTF सूचना भेजनी चाहिए.

NCI_ANDROID_POLLING_FRAME_NTF

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
मतदान का डेटा[0..n] (m +3) * n ऑक्टेट पिछली सूचना के बाद से मिले पोलिंग के अनुरोधों की सूची. हर नतीजे में, मिले अनुरोधों का टाइप (टेक्नोलॉजी) और टेक्नोलॉजी के आधार पर अनुरोध से पहचाने जा सकने वाले डेटा की जानकारी मिलती है.
टाइप 1 ऑक्टेट फ़्रेम के टाइप देखें.
झंडे 1 ऑक्टेट फ़्लैग बाइट देखें.
लंबाई 1 ऑक्टेट पोलिंग डेटा रिपोर्ट की लंबाई (मीटर में). इसमें टाइमस्टैंप और गेन फ़ील्ड शामिल हैं.
टाइमस्टैंप 4 ऑक्टेट पोलिंग के अनुरोध मिलने का टाइमस्टैंप, मिलीसेकंड में. यह बिग एंडियन होता है.
वज़न बढ़ाना है 1 ऑक्टेट पोलिंग के अनुरोध की अहमियत.
0xFF से पता चलता है कि वैल्यू उपलब्ध नहीं है.
डेटा m - 5 ऑक्टेट यह कुकी, पोलिंग के अनुरोध में मौजूद पहचान किए जा सकने वाले डेटा को दिखाती है
फ़्रेम के टाइप
पोलिंग फ़्रेम टाइप साइज़ वैल्यू/ब्यौरा
रिमोट फ़ील्ड 0x00 1 ऑक्टेट 0x00 फ़ील्ड बंद है
0x01 फ़ील्ड चालू है
0x02..0xFF RFU
NFC-A 0x01 n ऑक्टेट वैल्यू में ISO 14443-3 कमांड शामिल होनी चाहिए. उदाहरण के लिए, REQ या WUP
NFC-B 0x02 n ऑक्टेट वैल्यू में एआईएफ़ बाइट और आईएसओ 14443-3 कमांड शामिल होनी चाहिए (उदाहरण के लिए, REQ या WUP)
एनएफ़सी-एफ़ 0x03 n ऑक्टेट वैल्यू में ISO 14443-3 कमांड शामिल होनी चाहिए. उदाहरण के लिए, REQ या WUP
NFC-V 0x04 n ऑक्टेट वैल्यू में ISO 14443-3 कमांड शामिल होनी चाहिए. उदाहरण के लिए, REQ या WUP
कोई जानकारी नहीं है 0x07 n ऑक्टेट रॉ फ़्रेम डेटा
फ़्लैग बाइट की डेफ़िनिशन
झंडे
b0 b1 b2 b3 b4 b5 b6 b7
0 छोटा फ़्रेम RFU RFU RFU RFU RFU RFU RFU
1 लंबा फ़्रेम

क्वेरी ऑब्ज़र्व मोड की स्थिति की जानकारी देने वाला कमांड

पैसिव ऑर्डर मोड की मौजूदा स्थिति को वापस पाने के लिए, होस्ट NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड भी शामिल होगा, जिससे यह पता चलेगा कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,
टेक्नोलॉजी मास्क 1 ऑक्टेट बिट मास्क से पता चलता है कि किस टेक्नोलॉजी के लिए ऑब्ज़र्व मोड चालू है:
  • बिट 0: NFC-A
  • बिट 1: NFC-B
  • बिट 2: NFC-F
  • बिट 3: NFC-V

Set passive observer technologies command

पैसिव ऑब्ज़र्वर टेक्नोलॉजी सेट करने के लिए, होस्ट NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD कमांड का इस्तेमाल कर सकता है. इस निर्देश की मदद से, RF_DEACTIVATE_CMD की ज़रूरत के बिना, चुनी गई टेक्नोलॉजी के लिए ऑब्ज़र्व मोड को चालू या बंद किया जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताया जाएगा कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
टेक्नोलॉजी मास्क 1 ऑक्टेट बिट मास्क से पता चलता है कि किन टेक्नोलॉजी के लिए ऑब्ज़र्व मोड चालू करना है:
  • बिट 0: NFC-A
  • बिट 1: NFC-B
  • बिट 2: NFC-F
  • बिट 3: NFC-V
मास्क में सेट नहीं की गई टेक्नोलॉजी को, सुनने वाले मोड में काम करना जारी रखना चाहिए.

NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें.

पैसिव ऑब्ज़र्वर के लिए, एग्ज़िट फ़्रेम कमांड सेट करना

होस्ट, ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम की टेबल को कॉन्फ़िगर करने के लिए, NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD कमांड का इस्तेमाल कर सकता है. इस कमांड से, ऐसे आरएफ़ फ़्रेम तय किए जाते हैं जिनसे ऑब्ज़र्व मोड बंद हो जाता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताया जाएगा कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
ज़्यादा देखें 1 ऑक्टेट 0x00 - Last message
0x01 - More messages to follow
टाइम आउट की संख्या दो ऑक्टेट ऑब्ज़र्व मोड को वापस लाने के लिए, मिलीसेकंड में टाइम आउट (little endian).
आरएफ़ फ़्रेम एंट्री की संख्या 1 ऑक्टेट RF फ़्रेम एंट्री फ़ील्ड की संख्या (n). 0x00, टेबल को रीसेट करता है.
RF फ़्रेम एंट्री [0..n] (2+x)*n ऑक्टेट
क्वालिफ़ायर-टाइप 1 ऑक्टेट इससे फ़्रेम टाइप और मैचिंग के विकल्पों के बारे में पता चलता है.
वैल्यू की लंबाई 1 ऑक्टेट वैल्यू फ़ील्ड की लंबाई 'x' है.
वैल्यू x ऑक्टेट पावर स्टेट (1), रेफ़रंस डेटा (n), मास्क (n). 1 <= n <= 16.

NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

सामान्य दर्शक के तौर पर शामिल होने वाले व्यक्ति के लिए, फ़्रेम से बाहर निकलने की कमांड पाना

ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम की टेबल के मौजूदा कॉन्फ़िगरेशन को वापस पाने के लिए, होस्ट NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP के साथ जवाब देना होगा. इसके बाद, NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF.

NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
ऑब्ज़र्व मोड से बाहर निकलने वाले फ़्रेम की एंट्री की संख्या 1 ऑक्टेट ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम एंट्री फ़ील्ड की संख्या (n).
Entry [0..n] x+2 ऑक्टेट क्वालिफ़ायर-टाइप (1), लंबाई (1), वैल्यू (x).

खाली NCI कमांड

एनसीआई को खाली करने के लिए, होस्ट NCI_ANDROID_BLANK_NCI_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_BLANK_NCI_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताना होगा कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_BLANK_NCI_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
फ़्रेम की लंबाई 1 ऑक्टेट फ़्रेम डेटा का साइज़
फ़्रेम डेटा n ऑक्टेट फ़्रेम का डेटा

NCI_ANDROID_BLANK_NCI_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

पोलिंग लूप एनोटेशन कमांड सेट करना

पोलिंग लूप एनोटेशन सेट करने के लिए, होस्ट NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD कमांड का इस्तेमाल करके, कस्टम पोलिंग फ़्रेम टेबल भर सकता है. इस टेबल में, कस्टम आरएफ़ फ़्रेम तय किए जाते हैं. इन्हें स्टैंडर्ड डिस्कवरी लूप में डाला जाता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP स्टेटस कोड के साथ जवाब देना होगा. साथ ही, स्टेटस कोड से यह पता चलना चाहिए कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
आरएफ़ फ़्रेम की एंट्री की संख्या 1 ऑक्टेट फ़ॉलो की जाने वाली एंट्री की संख्या (n), जो 0 से 4 के बीच होनी चाहिए. n=0 होने पर, यह सुविधा बंद हो जाती है.
RF फ़्रेम एंट्री [1..n] 2+x ऑक्टेट
क्वालिफ़ायर-टाइप 1 ऑक्टेट यह डिस्कवरी लूप में फ़्रेम टाइप, टेक्नोलॉजी, और पोज़िशन तय करता है.
लंबाई 1 ऑक्टेट वैल्यू (x) की लंबाई.
वैल्यू x ऑक्टेट इंतज़ार का समय (1 बाइट) और आरएफ़ फ़्रेम (1 से 16 बाइट).

NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

बैटरी बचाने वाले मोड को चालू करने के लिए क्वेरी करना

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

NCI_ANDROID_QUERY_POWER_SAVING_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

NCI_ANDROID_QUERY_POWER_SAVING_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,

पैसिव ऑब्ज़र्वर के तौर पर काम करने वाले खाते के निलंबित होने की सूचना

जब कोई एक्ज़िट फ़्रेम दिखता है, तब NFCC को होस्ट को NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF सूचना भेजनी चाहिए. इससे ऑब्ज़र्व मोड निलंबित हो जाता है.

NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
टाइप 1 ऑक्टेट फ़्रेम का टाइप: 0x00=टाइप-A, 0x01=टाइप-B
लंबाई 1 ऑक्टेट वैल्यू की लंबाई (n)
वैल्यू n ऑक्टेट ऐसा फ़्रेम मिला जो एग्ज़िट फ़्रेम एंट्री से मेल खाता है.

पैसिव ऑब्ज़र्वर के तौर पर शामिल व्यक्ति को सूचना फिर से भेजी गई

जब टाइम आउट या अन्य शर्तों के बाद, पैसिव ऑब्ज़र्वर को फिर से शुरू किया जाता है, तब NFCC को होस्ट को NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF सूचना भेजनी चाहिए.

NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

पोलिंग लूप एनोटेशन कमांड पाना

NFCC की कस्टम पोलिंग फ़्रेम टेबल को पढ़ने के लिए, होस्ट NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_CMD कमांड का इस्तेमाल कर सकता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. NFCC को NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के साथ-साथ, कस्टम पोलिंग फ़्रेम की जानकारी भी शामिल होगी. स्टेटस कोड से यह पता चलेगा कि अनुरोध पूरा हुआ या नहीं.

NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_CMD

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
लागू नहीं 0 ऑक्टेट

NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP

पेलोड फ़ील्ड साइज़ वैल्यू/जानकारी
स्थिति 1 ऑक्टेट एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें,
आरएफ़ फ़्रेम की एंट्री की संख्या 1 ऑक्टेट फ़ॉलो की जाने वाली एंट्री की संख्या (n), जो 0 से 4 के बीच होनी चाहिए. n=0 होने पर, यह सुविधा बंद हो जाती है.
RF फ़्रेम एंट्री [1..n] 2+x ऑक्टेट क्वालिफ़ायर-टाइप 1 ऑक्टेट यह डिस्कवरी लूप में फ़्रेम टाइप, टेक्नोलॉजी, और पोज़िशन तय करता है.
लंबाई 1 ऑक्टेट वैल्यू (x) की लंबाई.
वैल्यू x ऑक्टेट इंतज़ार का समय (1 बाइट) और आरएफ़ फ़्रेम (1 से 16 बाइट).

लागू करना

रेफ़रंस के तौर पर लागू करने के लिए, यहां दिए गए लिंक देखें: