NFC কন্ট্রোলার ইন্টারফেস (NCI) একটি NFC কন্ট্রোলার (NFCC) এর সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়। এই পৃষ্ঠাটি অ্যান্ড্রয়েডের মালিকানাধীন NCI কমান্ডের স্পেসিফিকেশন বর্ণনা করে।
NCI সংজ্ঞা
অ্যান্ড্রয়েডের মালিকানাধীন NCI কমান্ডগুলি মালিকানা গ্রুপ আইডি (GID) 0xF
এবং 0xC
এর Android অপকোড শনাক্তকারী (OID) কোড স্পেস ব্যবহার করে।
সাধারণ প্যাকেট বিন্যাস
অ্যান্ড্রয়েড NCI প্যাকেট বিন্যাস মালিকানাধীন Group_ID 0xF
এবং Opcode_ID 0x0C
ব্যবহার করে নিয়ন্ত্রণ প্যাকেটগুলির জন্য NCI স্পেসিফিকেশন অনুসরণ করে। প্রতিটি অ্যান্ড্রয়েড মালিকানাধীন বার্তার জন্য, প্যাকেট পেলোডের প্রথম বাইটটি অবশ্যই অ্যান্ড্রয়েড অপকোড ( 0x0C
) সেট করতে হবে। অ্যান্ড্রয়েড কন্ট্রোল প্যাকেটগুলি স্ট্যান্ডার্ড কমান্ডের অনুরূপ কমান্ড, প্রতিক্রিয়া এবং বিজ্ঞপ্তিগুলি সনাক্ত করার জন্য Message_Type
এবং PBF
ব্যবহার করে।
অ্যান্ড্রয়েড প্যাকেট বিন্যাস নিম্নলিখিত টেবিলে দেখানো হয়েছে:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Message_Type | PBF | Group_ID = 0xF (PROPRIETARY) | |||||
ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত (RFU) | Opcode_ID = 0x0C (ANDROID) | ||||||
Payload_Length | |||||||
Android_Opcode_ID | |||||||
Android_Payload | |||||||
অ্যাসাইন করা অ্যান্ড্রয়েড অপকোড শনাক্তকারী নিম্নলিখিত সারণীতে তালিকাভুক্ত করা হয়েছে। প্রতিটি প্যাকেটের স্পেসিফিকেশন পরবর্তী বিভাগে অনুসরণ করা হয়েছে।
ক্ষমতা কমান্ড পান
হোস্ট NCI_ANDROID_GET_CAPS_CMD
ব্যবহার করে NFCC দ্বারা সমর্থিত Android মালিকানাধীন বৈশিষ্ট্যগুলির তালিকা অনুসন্ধান করতে। NCI_ANDROID_GET_CAPS_CMD
কমান্ড কোনো প্যারামিটার নেয় না।
NFCC অবশ্যই NCI_ANDROID_GET_CAPS_RSP
প্রতিক্রিয়া সহ STATUS_OK
স্ট্যাটাস এবং সমর্থিত ক্ষমতা এবং বৈশিষ্ট্যগুলির তালিকা সহ সাড়া দিতে হবে।
যদি NFCC NCI_ANDROID_GET_CAPS_CMD
সমর্থন না করে, তাহলে হোস্টকে অবশ্যই ধরে নিতে হবে যে প্রতিটি ক্ষমতাগুলি ডিফল্ট নির্দিষ্ট মান গ্রহণ করে। যদি উত্তরে NFCC দ্বারা একটি নির্দিষ্ট ক্ষমতা ফেরত না দেওয়া হয়, তাহলে হোস্টকে অবশ্যই ধরে নিতে হবে যে ক্ষমতাটির ডিফল্ট নির্দিষ্ট মান রয়েছে।
NCI_ANDROID_GET_CAPS_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_CAPS_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন। | |||||
Android_Version | 2 অক্টেট | NFCC দ্বারা প্রয়োগ করা Android প্রয়োজনীয়তার সংস্করণ সনাক্ত করে৷ | |||||
0x0000 | অ্যান্ড্রয়েড 15 | ||||||
ক্ষমতার সংখ্যা | 1 অক্টেট | সমর্থিত ক্ষমতার সংখ্যা (n) | |||||
ক্ষমতা[0..n] | (m + 2) * n অক্টেট | সমর্থিত ক্ষমতা | |||||
টাইপ | 1 অক্টেট | সক্ষমতার শনাক্তকারী | |||||
লেন | 1 অক্টেট | মানের দৈর্ঘ্য (মি) | |||||
মান | মি অক্টেটস | সামর্থ্যের মান |
অ্যান্ড্রয়েড মালিকানা ক্ষমতা
ক্ষমতার নাম | আইডি | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|---|
পর্যবেক্ষণ মোড | 0x00 | 1 অক্টেট | পর্যবেক্ষণ মোড জন্য সমর্থন. 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না। 0x01 - হোস্ট থেকে RF নিষ্ক্রিয়করণের সাথে বৈশিষ্ট্যটিকে সমর্থন করে (Android 15 এর জন্য প্রয়োজনীয়)। 0x02 - হোস্ট থেকে RF নিষ্ক্রিয়করণ ছাড়াই বৈশিষ্ট্যটিকে সমর্থন করে (Android 16 এবং উচ্চতর সংস্করণের জন্য প্রয়োজনীয়)। অন্য সব মান হল RFU. | |||||
পোলিং ফ্রেম বিজ্ঞপ্তি | 0x01 | 1 অক্টেট | পোলিং ফ্রেম বিজ্ঞপ্তির জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান হল RFU. | |||||
পাওয়ার সেভিং মোড | 0x02 | 1 অক্টেট | পাওয়ার সেভিং মোডের জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান হল RFU. | |||||
অটোট্রান্স্যাক্ট পোলিং লুপ ফিল্টার | 0x03 | 1 অক্টেট | যখন পর্যবেক্ষণ মোড বিশ্বব্যাপী সক্রিয় থাকে তখন নির্দিষ্ট প্যাটার্নের জন্য পর্যবেক্ষণ মোড বাইপাস করতে ফার্মওয়্যারে পোলিং লুপ ফিল্টারগুলির জন্য সমর্থন। 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না 0x01 - পোলিং লুপ ফিল্টার সমর্থন করে অন্য সব মান হল RFU | |||||
প্রস্থান ফ্রেম এন্ট্রি সমর্থিত সংখ্যা | 0x04 | 1 অক্টেট | প্রস্থান ফ্রেম এন্ট্রি সমর্থিত সংখ্যা. ন্যূনতম পাঁচটি প্রস্থান ফ্রেম এন্ট্রি প্রয়োজন। | |||||
পাঠক মোড টীকা | 0x05 | 1 অক্টেট | রিডার মোড টীকা জন্য সমর্থন. 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না। 0x01 - এই বৈশিষ্ট্য সমর্থন করে. অন্য সব মান হল RFU. | |||||
0x06..0xFF | 0 অক্টেট | ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত |
পাওয়ার সেভিং কমান্ড
NFCC কে পাওয়ার সেভিং মোডে রূপান্তর করতে, হোস্ট NCI_ANDROID_POWER_SAVING_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_POWER_SAVING_RSP
সাথে একটি স্ট্যাটাস কোড সহ উত্তর দিতে হবে যা সাফল্য বা ব্যর্থতা নির্দেশ করে৷
পাওয়ার সেভিং মোডে থাকাকালীন, হোস্ট অবশ্যই NFCC-কে কোনো কমান্ড পাঠাবে না এবং NFCC অবশ্যই হোস্টকে কোনো বিজ্ঞপ্তি বা প্রতিক্রিয়া পাঠাবে না। NFCC বা এমবেডেড সিকিউর এলিমেন্ট (eSE) পাওয়ার সেভিং মোড সক্রিয় করার আগে সেট করা রাউটিং কনফিগারেশন অনুযায়ী ইনকামিং পেমেন্টের অনুরোধ স্বয়ংক্রিয়ভাবে গ্রহণ করতে পারে।
সম্পূর্ণ পাওয়ার মোডে ফিরে আসতে, হোস্ট NFCC রিসেট বা পুনরায় চালু করতে পারে।
NCI_ANDROID_POWER_SAVING_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
পাওয়ার সেভিং মোড | 1 অক্টেট | 0x00 | পাওয়ার সেভিং মোড অক্ষম করুন |
0x01 | পাওয়ার সেভিং মোড সক্রিয় করুন |
NCI_ANDROID_POWER_SAVING_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পর্যবেক্ষণ মোড কমান্ড সেট করুন
পর্যবেক্ষণ মোড সক্রিয় বা নিষ্ক্রিয় করতে, হোস্ট NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
সাথে একটি স্ট্যাটাস কোড সহ উত্তর দিতে হবে যা সাফল্য বা ব্যর্থতা নির্দেশ করে৷
যখন পর্যবেক্ষণ মোড অক্ষম করা হয়, তখন NFCC কে অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী স্ট্যান্ডার্ড লিসেন মোড অ্যাক্টিভিটি বাস্তবায়ন করতে হবে।
যখন পর্যবেক্ষণ মোড সক্রিয় থাকে, তখন হোস্ট দ্বারা স্পষ্টভাবে অনুমোদিত না হওয়া পর্যন্ত NFCC অবশ্যই লিসেন মোডে পোলিং লুপের সময় কোনো পোল অনুরোধের জবাব দেবে না। NFCC অবশ্যই RF_FIELD_INFO_NTF
বিজ্ঞপ্তি পাঠাতে হবে ( NCI স্পেসিফিকেশনের সেকশন 5.3 দ্বারা সংজ্ঞায়িত) যখন এটি ফিল্ড অ্যাক্টিভেশন সনাক্ত করে। পোল মোড আবিষ্কার সক্রিয় থাকলে, NFCC অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী পোল মোড কার্যকলাপ বাস্তবায়ন করবে। NFCC ভোটের তথ্য ক্যাশে করতে পারে যাতে পর্যবেক্ষণ মোড নিষ্ক্রিয় হওয়ার সাথে সাথে ডিভাইস সক্রিয়করণের সাথে সাথে সাথে এগিয়ে যেতে পারে।
কোনো কারণে হোস্ট বন্ধ হয়ে গেলে NFCC-এর পর্যবেক্ষণ মোড বন্ধ করা উচিত (উদাহরণস্বরূপ, ব্যাটারি শেষ বা ব্যবহারকারীর দ্বারা শুরু করা শাটডাউন) যাতে SE লেনদেনগুলি এগিয়ে যেতে পারে।
NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
মোড পর্যবেক্ষণ করুন | 1 অক্টেট | 0x00 | পর্যবেক্ষণ মোড অক্ষম করুন (ডিফল্ট) |
0x01 | পর্যবেক্ষণ মোড সক্ষম করুন |
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 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
বিজ্ঞপ্তিটি পর্যবেক্ষন মোড সক্রিয় কি না তার উপর নির্ভরশীল। যখন পর্যবেক্ষণ মোড সক্রিয় থাকে, লেনদেনের সাথে এগিয়ে যাওয়ার আগে NFCC সর্বদা একটি 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 | আরএফইউ | |||
NFC-A | 0x01 | n অক্টেটস | মান অবশ্যই একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত করতে হবে (উদাহরণস্বরূপ, REQ বা WUP) | |
NFC-B | 0x02 | n অক্টেটস | মান অবশ্যই একটি AIF বাইট এবং একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত করতে হবে (উদাহরণস্বরূপ, REQ বা WUP) | |
NFC-F | 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 | ছোট ফ্রেম | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ |
1 | লম্বা ফ্রেম |
কোয়েরি মোড স্ট্যাটাস কমান্ড পর্যবেক্ষণ করুন
প্যাসিভ অর্ডার মোডের বর্তমান অবস্থা পুনরুদ্ধার করতে, হোস্ট NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, | |
প্রযুক্তি মাস্ক | 1 অক্টেট | বিট মাস্ক নির্দেশ করে যে কোন প্রযুক্তিগুলি পর্যবেক্ষণ মোড এর জন্য সক্ষম করা হয়েছে:
|
প্যাসিভ পর্যবেক্ষক প্রযুক্তি কমান্ড সেট করুন
প্যাসিভ পর্যবেক্ষক প্রযুক্তি সেট করতে, হোস্ট NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
কমান্ড ব্যবহার করতে পারে। এই কমান্ড RF_DEACTIVATE_CMD
প্রয়োজন ছাড়াই নির্দিষ্ট প্রযুক্তির জন্য পর্যবেক্ষণ মোড সক্ষম বা নিষ্ক্রিয় করে। NFCC কে অবশ্যই NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
প্রযুক্তি মাস্ক | 1 অক্টেট | বিট মাস্ক নির্দেশ করে যে কোন প্রযুক্তির জন্য পর্যবেক্ষণ মোড সক্ষম করতে হবে:
|
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন। |
প্যাসিভ পর্যবেক্ষক প্রস্থান ফ্রেম কমান্ড সেট করুন
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম টেবিল কনফিগার করতে, হোস্ট NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
কমান্ড ব্যবহার করতে পারে। এই কমান্ডটি RF ফ্রেমগুলিকে নির্দিষ্ট করে যা পর্যবেক্ষণ মোড থেকে প্রস্থান করে। এই কমান্ডটি শুধুমাত্র RFST_IDLE
এ পাঠানো যেতে পারে। NFCC কে অবশ্যই NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
আরও | 1 অক্টেট | 0x00 - শেষ বার্তা 0x01 - অনুসরণ করার জন্য আরও বার্তা৷ | |||||
টাইম আউট | 2 অক্টেট | পর্যবেক্ষণ মোড পুনরুদ্ধার করতে ms-এ টাইমআউট (সামান্য এন্ডিয়ান)। | |||||
RF ফ্রেম এন্ট্রির সংখ্যা | 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 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
প্যাসিভ পর্যবেক্ষক প্রস্থান ফ্রেম কমান্ড পান
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম টেবিলের বর্তমান কনফিগারেশন পুনরুদ্ধার করতে, হোস্ট NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
কমান্ড ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
এর সাথে উত্তর দিতে হবে, তার পরে NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
।
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম এন্ট্রি সংখ্যা | 1 অক্টেট | অনুসরণ করার জন্য পর্যবেক্ষণ মোড প্রস্থান ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা (n)। | |
প্রবেশ [0..n] | x+2 অক্টেট | কোয়ালিফায়ার-টাইপ (1), দৈর্ঘ্য (1), মান (x)। |
ফাঁকা NCI কমান্ড
NCI খালি করতে, হোস্ট NCI_ANDROID_BLANK_NCI_CMD
কমান্ড ব্যবহার করতে পারে। NFCC অবশ্যই NCI_ANDROID_BLANK_NCI_RSP
সাথে একটি স্ট্যাটাস কোড সহ ব্যর্থতার সাফল্য নির্দেশ করে।
NCI_ANDROID_BLANK_NCI_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
ফ্রেমের দৈর্ঘ্য | 1 অক্টেট | ফ্রেমের ডেটার দৈর্ঘ্য | |||||
ফ্রেম ডেটা | n অক্টেটস | ফ্রেম ডেটা |
NCI_ANDROID_BLANK_NCI_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পোলিং লুপ টীকা কমান্ড সেট করুন
পোলিং লুপ টীকা সেট করতে, হোস্ট কাস্টম পোলিং ফ্রেম টেবিলটি পূরণ করতে NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
কমান্ড ব্যবহার করতে পারে৷ এই টেবিলটি একটি স্ট্যান্ডার্ড ডিসকভারি লুপের ভিতরে ঢোকানোর জন্য কাস্টম RF ফ্রেমগুলিকে সংজ্ঞায়িত করে৷ এই কমান্ডটি শুধুমাত্র RFST_IDLE
এ পাঠানো যেতে পারে। NFCC কে অবশ্যই NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | ||
---|---|---|---|---|
RF ফ্রেম এন্ট্রির সংখ্যা | 1 অক্টেট | 0 এবং 4 এর মধ্যে অনুসরণ করার জন্য এন্ট্রির সংখ্যা (n)। n=0 বৈশিষ্ট্যটি নিষ্ক্রিয় করে। | ||
RF ফ্রেম এন্ট্রি [1..n] | 2+x অক্টেট | |||
কোয়ালিফায়ার-টাইপ | 1 অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, প্রযুক্তি এবং অবস্থান নির্ধারণ করে। | ||
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (x)। | ||
মান | x অক্টেট | অপেক্ষার সময় (1 বাইট) এবং আরএফ ফ্রেম (1-16 বাইট)। |
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পাওয়ার সেভিং কমান্ড জিজ্ঞাসা করুন
পাওয়ার সেভিং মোড জিজ্ঞাসা করতে, হোস্ট NCI_ANDROID_QUERY_POWER_SAVING_CMD
কমান্ড ব্যবহার করতে পারে৷ NFCC অবশ্যই NCI_ANDROID_QUERY_POWER_SAVING_RSP
সাথে একটি স্ট্যাটাস কোড সহ ব্যর্থতার সাফল্য নির্দেশ করে।
NCI_ANDROID_QUERY_POWER_SAVING_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_QUERY_POWER_SAVING_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
প্যাসিভ পর্যবেক্ষক স্থগিত বিজ্ঞপ্তি
NFCC অবশ্যই NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
বিজ্ঞপ্তি পাঠাতে হবে হোস্টকে যখন একটি প্রস্থান ফ্রেম সনাক্ত করা হয়, যার ফলে পর্যবেক্ষণ মোড স্থগিত করা হয়।
NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
টাইপ | 1 অক্টেট | ফ্রেমের ধরন: 0x00=টাইপ-এ, 0x01=টাইপ-বি | |||||
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (n) | |||||
মান | n অক্টেটস | প্রাপ্ত ফ্রেম যা একটি প্রস্থান ফ্রেম এন্ট্রির সাথে মিলেছে৷ |
প্যাসিভ পর্যবেক্ষক বিজ্ঞপ্তি পুনরায় শুরু
NFCC অবশ্যই NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
বিজ্ঞপ্তি পাঠাতে হবে হোস্টের কাছে যখন প্যাসিভ পর্যবেক্ষক একটি টাইমআউট বা অন্যান্য অবস্থার পরে পুনরায় চালু করা হয়।
NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 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
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | ||
---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, | ||
RF ফ্রেম এন্ট্রির সংখ্যা | 1 অক্টেট | 0 এবং 4 এর মধ্যে অনুসরণ করার জন্য এন্ট্রির সংখ্যা (n)। n=0 বৈশিষ্ট্যটি নিষ্ক্রিয় করে। | ||
RF ফ্রেম এন্ট্রি [1..n] | 2+x অক্টেট | কোয়ালিফায়ার-টাইপ | 1 অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, প্রযুক্তি এবং অবস্থান নির্ধারণ করে। |
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (x)। | ||
মান | x অক্টেট | অপেক্ষার সময় (1 বাইট) এবং আরএফ ফ্রেম (1-16 বাইট)। |
বাস্তবায়ন
রেফারেন্স বাস্তবায়নের জন্য, নিম্নলিখিত দেখুন:
,NFC কন্ট্রোলার ইন্টারফেস (NCI) একটি NFC কন্ট্রোলার (NFCC) এর সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়। এই পৃষ্ঠাটি অ্যান্ড্রয়েডের মালিকানাধীন NCI কমান্ডের স্পেসিফিকেশন বর্ণনা করে।
NCI সংজ্ঞা
অ্যান্ড্রয়েডের মালিকানাধীন NCI কমান্ডগুলি মালিকানা গ্রুপ আইডি (GID) 0xF
এবং 0xC
এর Android অপকোড শনাক্তকারী (OID) কোড স্পেস ব্যবহার করে।
সাধারণ প্যাকেট বিন্যাস
অ্যান্ড্রয়েড NCI প্যাকেট বিন্যাস মালিকানাধীন Group_ID 0xF
এবং Opcode_ID 0x0C
ব্যবহার করে নিয়ন্ত্রণ প্যাকেটগুলির জন্য NCI স্পেসিফিকেশন অনুসরণ করে। প্রতিটি অ্যান্ড্রয়েড মালিকানাধীন বার্তার জন্য, প্যাকেট পেলোডের প্রথম বাইটটি অবশ্যই অ্যান্ড্রয়েড অপকোড ( 0x0C
) এ সেট করতে হবে। অ্যান্ড্রয়েড কন্ট্রোল প্যাকেটগুলি স্ট্যান্ডার্ড কমান্ডের অনুরূপ কমান্ড, প্রতিক্রিয়া এবং বিজ্ঞপ্তিগুলি সনাক্ত করার জন্য Message_Type
এবং PBF
ব্যবহার করে।
অ্যান্ড্রয়েড প্যাকেট বিন্যাস নিম্নলিখিত টেবিলে দেখানো হয়েছে:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Message_Type | PBF | Group_ID = 0xF (PROPRIETARY) | |||||
ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত (RFU) | Opcode_ID = 0x0C (ANDROID) | ||||||
Payload_Length | |||||||
Android_Opcode_ID | |||||||
Android_Payload | |||||||
অ্যাসাইন করা অ্যান্ড্রয়েড অপকোড শনাক্তকারী নিম্নলিখিত সারণীতে তালিকাভুক্ত করা হয়েছে। প্রতিটি প্যাকেটের স্পেসিফিকেশন পরবর্তী বিভাগে অনুসরণ করা হয়েছে।
ক্ষমতা কমান্ড পান
হোস্ট NCI_ANDROID_GET_CAPS_CMD
ব্যবহার করে NFCC দ্বারা সমর্থিত Android মালিকানাধীন বৈশিষ্ট্যগুলির তালিকা অনুসন্ধান করতে। NCI_ANDROID_GET_CAPS_CMD
কমান্ড কোনো প্যারামিটার নেয় না।
NFCC অবশ্যই NCI_ANDROID_GET_CAPS_RSP
প্রতিক্রিয়া সহ STATUS_OK
স্ট্যাটাস এবং সমর্থিত ক্ষমতা এবং বৈশিষ্ট্যগুলির তালিকা সহ সাড়া দিতে হবে।
যদি NFCC NCI_ANDROID_GET_CAPS_CMD
সমর্থন না করে, তাহলে হোস্টকে অবশ্যই ধরে নিতে হবে যে প্রতিটি ক্ষমতাগুলি ডিফল্ট নির্দিষ্ট মান গ্রহণ করে। যদি উত্তরে NFCC দ্বারা একটি নির্দিষ্ট ক্ষমতা ফেরত না দেওয়া হয়, তাহলে হোস্টকে অবশ্যই ধরে নিতে হবে যে ক্ষমতাটির ডিফল্ট নির্দিষ্ট মান রয়েছে।
NCI_ANDROID_GET_CAPS_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_CAPS_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন। | |||||
Android_Version | 2 অক্টেট | NFCC দ্বারা প্রয়োগ করা Android প্রয়োজনীয়তার সংস্করণ সনাক্ত করে৷ | |||||
0x0000 | অ্যান্ড্রয়েড 15 | ||||||
ক্ষমতার সংখ্যা | 1 অক্টেট | সমর্থিত ক্ষমতার সংখ্যা (n) | |||||
ক্ষমতা[0..n] | (m + 2) * n অক্টেট | সমর্থিত ক্ষমতা | |||||
টাইপ | 1 অক্টেট | সক্ষমতার শনাক্তকারী | |||||
লেন | 1 অক্টেট | মানের দৈর্ঘ্য (মি) | |||||
মান | মি অক্টেটস | সামর্থ্যের মান |
অ্যান্ড্রয়েড মালিকানা ক্ষমতা
ক্ষমতার নাম | আইডি | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|---|
পর্যবেক্ষণ মোড | 0x00 | 1 অক্টেট | পর্যবেক্ষণ মোড জন্য সমর্থন. 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না। 0x01 - হোস্ট থেকে RF নিষ্ক্রিয়করণের সাথে বৈশিষ্ট্যটিকে সমর্থন করে (Android 15 এর জন্য প্রয়োজনীয়)। 0x02 - হোস্ট থেকে RF নিষ্ক্রিয়করণ ছাড়াই বৈশিষ্ট্যটিকে সমর্থন করে (Android 16 এবং উচ্চতর সংস্করণের জন্য প্রয়োজনীয়)। অন্য সব মান হল RFU. | |||||
পোলিং ফ্রেম বিজ্ঞপ্তি | 0x01 | 1 অক্টেট | পোলিং ফ্রেম বিজ্ঞপ্তির জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান হল RFU. | |||||
পাওয়ার সেভিং মোড | 0x02 | 1 অক্টেট | পাওয়ার সেভিং মোডের জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান হল RFU. | |||||
অটোট্রান্স্যাক্ট পোলিং লুপ ফিল্টার | 0x03 | 1 অক্টেট | যখন পর্যবেক্ষণ মোড বিশ্বব্যাপী সক্রিয় থাকে তখন নির্দিষ্ট প্যাটার্নের জন্য পর্যবেক্ষণ মোড বাইপাস করতে ফার্মওয়্যারে পোলিং লুপ ফিল্টারগুলির জন্য সমর্থন। 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না 0x01 - পোলিং লুপ ফিল্টার সমর্থন করে অন্য সব মান হল RFU | |||||
প্রস্থান ফ্রেম এন্ট্রি সমর্থিত সংখ্যা | 0x04 | 1 অক্টেট | প্রস্থান ফ্রেম এন্ট্রি সমর্থিত সংখ্যা. ন্যূনতম পাঁচটি প্রস্থান ফ্রেম এন্ট্রি প্রয়োজন। | |||||
পাঠক মোড টীকা | 0x05 | 1 অক্টেট | রিডার মোড টীকা জন্য সমর্থন. 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না। 0x01 - এই বৈশিষ্ট্য সমর্থন করে. অন্য সব মান হল RFU. | |||||
0x06..0xFF | 0 অক্টেট | ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত |
পাওয়ার সেভিং কমান্ড
NFCC কে পাওয়ার সেভিং মোডে রূপান্তর করতে, হোস্ট NCI_ANDROID_POWER_SAVING_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_POWER_SAVING_RSP
সাথে একটি স্ট্যাটাস কোড সহ উত্তর দিতে হবে যা সাফল্য বা ব্যর্থতা নির্দেশ করে৷
পাওয়ার সেভিং মোডে থাকাকালীন, হোস্ট অবশ্যই NFCC-কে কোনো কমান্ড পাঠাবে না এবং NFCC অবশ্যই হোস্টকে কোনো বিজ্ঞপ্তি বা প্রতিক্রিয়া পাঠাবে না। NFCC বা এমবেডেড সিকিউর এলিমেন্ট (eSE) পাওয়ার সেভিং মোড সক্রিয় করার আগে সেট করা রাউটিং কনফিগারেশন অনুযায়ী ইনকামিং পেমেন্টের অনুরোধ স্বয়ংক্রিয়ভাবে গ্রহণ করতে পারে।
সম্পূর্ণ পাওয়ার মোডে ফিরে আসতে, হোস্ট NFCC রিসেট বা পুনরায় চালু করতে পারে।
NCI_ANDROID_POWER_SAVING_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
পাওয়ার সেভিং মোড | 1 অক্টেট | 0x00 | পাওয়ার সেভিং মোড অক্ষম করুন |
0x01 | পাওয়ার সেভিং মোড চালু করুন |
NCI_ANDROID_POWER_SAVING_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পর্যবেক্ষণ মোড কমান্ড সেট করুন
পর্যবেক্ষণ মোড সক্রিয় বা নিষ্ক্রিয় করতে, হোস্ট NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
সাথে একটি স্ট্যাটাস কোড সহ উত্তর দিতে হবে যা সাফল্য বা ব্যর্থতা নির্দেশ করে৷
যখন পর্যবেক্ষণ মোড অক্ষম করা হয়, তখন NFCC কে অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী স্ট্যান্ডার্ড লিসেন মোড অ্যাক্টিভিটি বাস্তবায়ন করতে হবে।
যখন পর্যবেক্ষণ মোড সক্রিয় থাকে, তখন হোস্ট দ্বারা স্পষ্টভাবে অনুমোদিত না হওয়া পর্যন্ত NFCC অবশ্যই লিসেন মোডে পোলিং লুপের সময় কোনো পোল অনুরোধের জবাব দেবে না। NFCC অবশ্যই RF_FIELD_INFO_NTF
বিজ্ঞপ্তি পাঠাতে হবে ( NCI স্পেসিফিকেশনের সেকশন 5.3 দ্বারা সংজ্ঞায়িত) যখন এটি ফিল্ড অ্যাক্টিভেশন সনাক্ত করে। পোল মোড আবিষ্কার সক্রিয় থাকলে, NFCC অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী পোল মোড কার্যকলাপ বাস্তবায়ন করবে। NFCC ভোটের তথ্য ক্যাশে করতে পারে যাতে পর্যবেক্ষণ মোড নিষ্ক্রিয় হওয়ার সাথে সাথে ডিভাইস সক্রিয়করণের সাথে সাথে সাথে এগিয়ে যেতে পারে।
কোনো কারণে হোস্ট বন্ধ হয়ে গেলে NFCC-এর পর্যবেক্ষণ মোড বন্ধ করা উচিত (উদাহরণস্বরূপ, ব্যাটারি শেষ বা ব্যবহারকারীর দ্বারা শুরু করা শাটডাউন) যাতে SE লেনদেনগুলি এগিয়ে যেতে পারে।
NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
মোড পর্যবেক্ষণ করুন | 1 অক্টেট | 0x00 | পর্যবেক্ষণ মোড অক্ষম করুন (ডিফল্ট) |
0x01 | পর্যবেক্ষণ মোড সক্ষম করুন |
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 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
বিজ্ঞপ্তিটি পর্যবেক্ষন মোড সক্রিয় কি না তার উপর নির্ভরশীল। যখন পর্যবেক্ষণ মোড সক্রিয় থাকে, লেনদেনের সাথে এগিয়ে যাওয়ার আগে NFCC সর্বদা একটি 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 | আরএফইউ | |||
NFC-A | 0x01 | n অক্টেটস | মান অবশ্যই একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত করতে হবে (উদাহরণস্বরূপ, REQ বা WUP) | |
NFC-B | 0x02 | n অক্টেটস | মান অবশ্যই একটি AIF বাইট এবং একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত করতে হবে (উদাহরণস্বরূপ, REQ বা WUP) | |
NFC-F | 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 | ছোট ফ্রেম | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ |
1 | লম্বা ফ্রেম |
কোয়েরি মোড স্ট্যাটাস কমান্ড পর্যবেক্ষণ করুন
প্যাসিভ অর্ডার মোডের বর্তমান অবস্থা পুনরুদ্ধার করতে, হোস্ট NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
কমান্ড ব্যবহার করতে পারে। NFCC কে অবশ্যই NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, | |
প্রযুক্তি মাস্ক | 1 অক্টেট | বিট মাস্ক নির্দেশ করে যে কোন প্রযুক্তিগুলি পর্যবেক্ষণ মোড এর জন্য সক্ষম করা হয়েছে:
|
প্যাসিভ পর্যবেক্ষক প্রযুক্তি কমান্ড সেট করুন
প্যাসিভ পর্যবেক্ষক প্রযুক্তি সেট করতে, হোস্ট NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
কমান্ড ব্যবহার করতে পারে। এই কমান্ড RF_DEACTIVATE_CMD
প্রয়োজন ছাড়াই নির্দিষ্ট প্রযুক্তির জন্য পর্যবেক্ষণ মোড সক্ষম বা নিষ্ক্রিয় করে। NFCC কে অবশ্যই NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
প্রযুক্তি মাস্ক | 1 অক্টেট | বিট মাস্ক নির্দেশ করে যে কোন প্রযুক্তির জন্য পর্যবেক্ষণ মোড সক্ষম করতে হবে:
|
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন। |
প্যাসিভ পর্যবেক্ষক প্রস্থান ফ্রেম কমান্ড সেট করুন
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম টেবিল কনফিগার করতে, হোস্ট NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
কমান্ড ব্যবহার করতে পারে। এই কমান্ডটি RF ফ্রেমগুলিকে নির্দিষ্ট করে যা পর্যবেক্ষণ মোড থেকে প্রস্থান করে। এই কমান্ডটি শুধুমাত্র RFST_IDLE
এ পাঠানো যেতে পারে। NFCC কে অবশ্যই NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
আরও | 1 অক্টেট | 0x00 - শেষ বার্তা 0x01 - অনুসরণ করার জন্য আরও বার্তা৷ | |||||
টাইম আউট | 2 অক্টেট | পর্যবেক্ষণ মোড পুনরুদ্ধার করতে ms-এ টাইমআউট (সামান্য এন্ডিয়ান)। | |||||
RF ফ্রেম এন্ট্রির সংখ্যা | 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 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
প্যাসিভ পর্যবেক্ষক প্রস্থান ফ্রেম কমান্ড পান
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম টেবিলের বর্তমান কনফিগারেশন পুনরুদ্ধার করতে, হোস্ট NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
কমান্ড ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
এর সাথে উত্তর দিতে হবে, তার পরে NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
।
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
পর্যবেক্ষণ মোড প্রস্থান ফ্রেম এন্ট্রি সংখ্যা | 1 অক্টেট | অনুসরণ করার জন্য পর্যবেক্ষণ মোড প্রস্থান ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা (n)। | |
প্রবেশ [0..n] | x+2 অক্টেট | কোয়ালিফায়ার-টাইপ (1), দৈর্ঘ্য (1), মান (x)। |
ফাঁকা NCI কমান্ড
NCI খালি করতে, হোস্ট NCI_ANDROID_BLANK_NCI_CMD
কমান্ড ব্যবহার করতে পারে। NFCC অবশ্যই NCI_ANDROID_BLANK_NCI_RSP
সাথে একটি স্ট্যাটাস কোড সহ ব্যর্থতার সাফল্য নির্দেশ করে।
NCI_ANDROID_BLANK_NCI_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
ফ্রেমের দৈর্ঘ্য | 1 অক্টেট | ফ্রেমের ডেটার দৈর্ঘ্য | |||||
ফ্রেম ডেটা | n অক্টেটস | ফ্রেম ডেটা |
NCI_ANDROID_BLANK_NCI_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পোলিং লুপ টীকা কমান্ড সেট করুন
পোলিং লুপ টীকা সেট করতে, হোস্ট কাস্টম পোলিং ফ্রেম টেবিলটি পূরণ করতে NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
কমান্ড ব্যবহার করতে পারে৷ এই টেবিলটি একটি স্ট্যান্ডার্ড ডিসকভারি লুপের ভিতরে ঢোকানোর জন্য কাস্টম RF ফ্রেমগুলিকে সংজ্ঞায়িত করে৷ এই কমান্ডটি শুধুমাত্র RFST_IDLE
এ পাঠানো যেতে পারে। NFCC কে অবশ্যই NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
সাথে একটি স্ট্যাটাস কোডের সাথে প্রতিক্রিয়া জানাতে হবে যা ব্যর্থতার সাফল্য নির্দেশ করে৷
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | ||
---|---|---|---|---|
RF ফ্রেম এন্ট্রির সংখ্যা | 1 অক্টেট | 0 এবং 4 এর মধ্যে অনুসরণ করার জন্য এন্ট্রির সংখ্যা (n)। n=0 বৈশিষ্ট্যটি নিষ্ক্রিয় করে। | ||
RF ফ্রেম এন্ট্রি [1..n] | 2+x অক্টেট | |||
কোয়ালিফায়ার-টাইপ | 1 অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, প্রযুক্তি এবং অবস্থান নির্ধারণ করে। | ||
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (x)। | ||
মান | x অক্টেট | অপেক্ষার সময় (1 বাইট) এবং আরএফ ফ্রেম (1-16 বাইট)। |
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
পাওয়ার সেভিং কমান্ড জিজ্ঞাসা করুন
পাওয়ার সেভিং মোড জিজ্ঞাসা করতে, হোস্ট NCI_ANDROID_QUERY_POWER_SAVING_CMD
কমান্ড ব্যবহার করতে পারে৷ NFCC অবশ্যই NCI_ANDROID_QUERY_POWER_SAVING_RSP
সাথে একটি স্ট্যাটাস কোড সহ ব্যর্থতার সাফল্য নির্দেশ করে।
NCI_ANDROID_QUERY_POWER_SAVING_CMD
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_QUERY_POWER_SAVING_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |
---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, |
প্যাসিভ পর্যবেক্ষক স্থগিত বিজ্ঞপ্তি
NFCC অবশ্যই NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
বিজ্ঞপ্তি পাঠাতে হবে হোস্টকে যখন একটি প্রস্থান ফ্রেম সনাক্ত করা হয়, যার ফলে পর্যবেক্ষণ মোড স্থগিত করা হয়।
NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
টাইপ | 1 অক্টেট | ফ্রেমের ধরন: 0x00=টাইপ-এ, 0x01=টাইপ-বি | |||||
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (n) | |||||
মান | n অক্টেটস | প্রাপ্ত ফ্রেম যা একটি প্রস্থান ফ্রেম এন্ট্রির সাথে মিলেছে৷ |
প্যাসিভ পর্যবেক্ষক বিজ্ঞপ্তি পুনরায় শুরু
NFCC অবশ্যই NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
বিজ্ঞপ্তি পাঠাতে হবে হোস্টের কাছে যখন প্যাসিভ পর্যবেক্ষক একটি টাইমআউট বা অন্যান্য অবস্থার পরে পুনরায় চালু করা হয়।
NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 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
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | |||||
---|---|---|---|---|---|---|---|
N/A | 0 অক্টেট |
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP
পেলোড ক্ষেত্র | আকার | মান/বর্ণনা | ||
---|---|---|---|---|
স্ট্যাটাস | 1 অক্টেট | NCI স্পেসিফিকেশনের 140 সারণীতে স্ট্যাটাস কোড দেখুন, | ||
RF ফ্রেম এন্ট্রির সংখ্যা | 1 অক্টেট | 0 এবং 4 এর মধ্যে অনুসরণ করার জন্য এন্ট্রির সংখ্যা (n)। n=0 বৈশিষ্ট্যটি নিষ্ক্রিয় করে। | ||
RF ফ্রেম এন্ট্রি [1..n] | 2+x অক্টেট | কোয়ালিফায়ার-টাইপ | 1 অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, প্রযুক্তি এবং অবস্থান নির্ধারণ করে। |
দৈর্ঘ্য | 1 অক্টেট | মানের দৈর্ঘ্য (x)। | ||
মান | x অক্টেট | অপেক্ষার সময় (1 বাইট) এবং আরএফ ফ্রেম (1-16 বাইট)। |
বাস্তবায়ন
রেফারেন্স বাস্তবায়নের জন্য, নিম্নলিখিত দেখুন: