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