এনএফসি কন্ট্রোলার ইন্টারফেস (NCI) একটি এনএফসি কন্ট্রোলারের (NFCC) সাথে যোগাযোগের জন্য ব্যবহৃত হয়। এই পৃষ্ঠায় অ্যান্ড্রয়েডের নিজস্ব NCI কমান্ডগুলোর বিবরণ দেওয়া হয়েছে।
এনসিআই সংজ্ঞা
অ্যান্ড্রয়েডের নিজস্ব NCI কমান্ডগুলো নিজস্ব গ্রুপ আইডি (GID) 0xF এবং অ্যান্ড্রয়েড অপকোড আইডেন্টিফায়ার (OID) কোড স্পেস 0xC ব্যবহার করে।
সাধারণ প্যাকেট ফরম্যাট
অ্যান্ড্রয়েড NCI প্যাকেট ফরম্যাটটি প্রোপ্রাইটারি Group_ID 0xF এবং Opcode_ID 0x0C ব্যবহার করে কন্ট্রোল প্যাকেটের জন্য NCI স্পেসিফিকেশন অনুসরণ করে। প্রতিটি অ্যান্ড্রয়েড প্রোপ্রাইটারি মেসেজের জন্য, প্যাকেট পেলোডের প্রথম বাইটটি অবশ্যই অ্যান্ড্রয়েড অপকোডে ( 0x0C ) সেট করতে হবে। অ্যান্ড্রয়েড কন্ট্রোল প্যাকেটগুলো স্ট্যান্ডার্ড কমান্ডের মতোই কমান্ড, রেসপন্স এবং নোটিফিকেশন শনাক্ত করার জন্য Message_Type এবং PBF ব্যবহার করে।
অ্যান্ড্রয়েড প্যাকেট ফরম্যাটটি নিম্নলিখিত সারণিতে দেখানো হলো:
| ০ | ১ | ২ | ৩ | ৪ | ৫ | ৬ | ৭ |
Message_Type | PBF | Group_ID = 0xF (PROPRIETARY) | |||||
| ভবিষ্যৎ ব্যবহারের জন্য সংরক্ষিত (RFU) | Opcode_ID = 0x0C (ANDROID) | ||||||
Payload_Length | |||||||
Android_Opcode_ID | |||||||
Android_Payload | |||||||
নির্ধারিত অ্যান্ড্রয়েড অপকোড শনাক্তকারীগুলো নিম্নলিখিত সারণিতে তালিকাভুক্ত করা হয়েছে। প্রতিটি প্যাকেটের স্পেসিফিকেশন পরবর্তী বিভাগগুলোতে দেওয়া হলো।
ক্ষমতা কমান্ড পান
হোস্ট NFCC দ্বারা সমর্থিত অ্যান্ড্রয়েড প্রোপাইটারি ফিচারগুলোর তালিকা জানতে NCI_ANDROID_GET_CAPS_CMD ব্যবহার করে। NCI_ANDROID_GET_CAPS_CMD কমান্ডটি কোনো প্যারামিটার গ্রহণ করে না।
NFCC-কে অবশ্যই STATUS_OK স্ট্যাটাস এবং সমর্থিত সক্ষমতা ও বৈশিষ্ট্যসমূহের তালিকা সহ NCI_ANDROID_GET_CAPS_RSP প্রতিক্রিয়াটি প্রদান করতে হবে।
যদি NFCC, NCI_ANDROID_GET_CAPS_CMD সমর্থন না করে, তবে হোস্টকে ধরে নিতে হবে যে প্রতিটি ক্যাপাবিলিটি তার ডিফল্ট নির্দিষ্ট মান গ্রহণ করবে। যদি কোনো নির্দিষ্ট ক্যাপাবিলিটি NFCC থেকে রেসপন্সে ফেরত না আসে, তবে হোস্টকে ধরে নিতে হবে যে ক্যাপাবিলিটিটির ডিফল্ট নির্দিষ্ট মানটিই রয়েছে।
NCI_ANDROID_GET_CAPS_CMD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
NCI_ANDROID_GET_CAPS_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |||||
Android_Version | ২ অক্টেট | অ্যান্ড্রয়েড আবশ্যিকতার সেই সংস্করণটি শনাক্ত করে যা NFCC দ্বারা বাস্তবায়িত হয়। | |||||
| ০x০০০০ | অ্যান্ড্রয়েড ১৫ | ||||||
| ক্ষমতার সংখ্যা | ১ অক্টেট | সমর্থিত সক্ষমতার সংখ্যা (n) | |||||
| ক্ষমতা[0..n] | (m + 2) * n অষ্টক | সমর্থিত সক্ষমতা | |||||
| প্রকার | ১ অক্টেট | সক্ষমতার শনাক্তকারী | |||||
| লেন | ১ অক্টেট | মানটির দৈর্ঘ্য (মি) | |||||
| মূল্য | এম অক্টেট | সক্ষমতার মূল্য | |||||
অ্যান্ড্রয়েডের নিজস্ব ক্ষমতা
| সক্ষমতার নাম | আইডি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|---|
| পর্যবেক্ষণ মোড | ০x০০ | ১ অক্টেট | পর্যবেক্ষণ মোডের জন্য সমর্থন। 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থিত নয়। 0x01 - হোস্ট থেকে আরএফ নিষ্ক্রিয়করণের মাধ্যমে ফিচারটি সমর্থন করে (অ্যান্ড্রয়েড ১৫-এর জন্য আবশ্যক)। 0x02 - হোস্ট থেকে RF নিষ্ক্রিয়করণ ছাড়াই বৈশিষ্ট্যটি সমর্থন করে (অ্যান্ড্রয়েড ১৬ এবং তার উপরের সংস্করণের জন্য আবশ্যক)। অন্যান্য সকল মান RFU। | |||||
| পোলিং ফ্রেম বিজ্ঞপ্তি | ০x০১ | ১ অক্টেট | পোলিং ফ্রেম নোটিফিকেশনের জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান RFU। | |||||
| পাওয়ার সেভিং মোড | ০x০২ | ১ অক্টেট | পাওয়ার সেভিং মোডের জন্য সমর্থন। সমর্থিত হলে 0x01, সমর্থিত না হলে 0x00 (ডিফল্ট)। অন্য সব মান RFU। | |||||
| অটোট্রান্স্যাক্ট পোলিং লুপ ফিল্টার | ০x০৩ | ১ অক্টেট | যখন বিশ্বব্যাপী অবজার্ভ মোড সক্রিয় থাকে, তখন নির্দিষ্ট প্যাটার্নের জন্য অবজার্ভ মোড বাইপাস করতে ফার্মওয়্যারে পোলিং লুপ ফিল্টারের সমর্থন। 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থন করে না 0x01 - পোলিং লুপ ফিল্টার সমর্থন করে অন্যান্য সমস্ত মান RFU | |||||
| সমর্থিত প্রস্থান ফ্রেম এন্ট্রির সংখ্যা | ০x০৪ | ১ অক্টেট | সমর্থিত এক্সিট ফ্রেম এন্ট্রির সংখ্যা। ন্যূনতম পাঁচটি এক্সিট ফ্রেম এন্ট্রি আবশ্যক। | |||||
| রিডার মোড টীকা | ০x০৫ | ১ অক্টেট | রিডার মোড অ্যানোটেশনের জন্য সমর্থন। 0x00 (ডিফল্ট) - এই বৈশিষ্ট্যটি সমর্থিত নয়। 0x01 - এই বৈশিষ্ট্যটি সমর্থন করে। অন্যান্য সকল মান RFU। | |||||
| 0x06..0xFF | ০ অক্টেট | ভবিষ্যৎ ব্যবহারের জন্য সংরক্ষিত | ||||||
বিদ্যুৎ সাশ্রয় কমান্ড
NFCC-কে পাওয়ার সেভিং মোডে নিয়ে যাওয়ার জন্য, হোস্ট NCI_ANDROID_POWER_SAVING_CMD কমান্ডটি ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_POWER_SAVING_RSP কমান্ডের মাধ্যমে সাড়া দিতে হবে এবং এর সাথে একটি স্ট্যাটাস কোড যুক্ত করতে হবে যা সাফল্য বা ব্যর্থতা নির্দেশ করে।
পাওয়ার সেভিং মোডে থাকাকালীন, হোস্ট NFCC-কে কোনো কমান্ড পাঠাতে পারবে না এবং NFCC-ও হোস্টকে কোনো নোটিফিকেশন বা প্রতিক্রিয়া পাঠাতে পারবে না। পাওয়ার সেভিং মোড চালু করার আগে সেট করা রাউটিং কনফিগারেশন অনুযায়ী NFCC বা এমবেডেড সিকিওর এলিমেন্ট (eSE) স্বয়ংক্রিয়ভাবে আগত পেমেন্টের অনুরোধ গ্রহণ করতে পারে।
পূর্ণ পাওয়ার মোডে ফিরে আসার জন্য, হোস্ট NFCC রিসেট বা পুনরায় চালু করতে পারে।
NCI_ANDROID_POWER_SAVING_CMD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| পাওয়ার সেভিং মোড | ১ অক্টেট | ০x০০ | পাওয়ার সেভিং মোড নিষ্ক্রিয় করুন |
| ০x০১ | বিদ্যুৎ সাশ্রয় মোড চালু করুন |
NCI_ANDROID_POWER_SAVING_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |||||
পর্যবেক্ষণ মোড কমান্ড সেট করুন
অবজার্ভ মোড সক্রিয় বা নিষ্ক্রিয় করতে, হোস্ট NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD কমান্ডটি ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP কমান্ডের মাধ্যমে একটি স্ট্যাটাস কোড পাঠিয়ে সাড়া দিতে হবে, যা সাফল্য বা ব্যর্থতা নির্দেশ করে।
যখন অবজার্ভ মোড নিষ্ক্রিয় থাকে, তখন NFCC-কে অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী স্ট্যান্ডার্ড লিসেন মোড অ্যাক্টিভিটি বাস্তবায়ন করতে হবে।
যখন অবজার্ভ মোড সক্রিয় থাকে, তখন হোস্ট কর্তৃক সুস্পষ্টভাবে অনুমোদিত না হওয়া পর্যন্ত, লিসেন মোডে পোলিং লুপ চলাকালীন NFCC কোনো পোল অনুরোধে সাড়া দেবে না। যখন NFCC ফিল্ড অ্যাক্টিভেশন শনাক্ত করে, তখন তাকে অবশ্যই RF_FIELD_INFO_NTF নোটিফিকেশন ( NCI স্পেসিফিকেশনের ৫.৩ ধারা অনুযায়ী সংজ্ঞায়িত) পাঠাতে হবে। যদি পোল মোড ডিসকভারি সক্রিয় থাকে, তবে NFCC-কে অবশ্যই অ্যাক্টিভিটি টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী পোল মোড অ্যাক্টিভিটি বাস্তবায়ন করতে হবে। NFCC পোল তথ্য ক্যাশ করে রাখতে পারে, যাতে অবজার্ভ মোড নিষ্ক্রিয় হওয়ার সাথে সাথেই ডিভাইস অ্যাক্টিভেশনের কাজ অবিলম্বে শুরু করা যায়।
হোস্ট যেকোনো কারণে (যেমন, ব্যাটারি শেষ হয়ে গেলে বা ব্যবহারকারীর উদ্যোগে বন্ধ হয়ে গেলে) শাটডাউন হলে NFCC-এর উচিত অবজার্ভ মোড বন্ধ করে দেওয়া, যাতে SE ট্রানজ্যাকশনগুলো চলতে পারে।
NCI_ANDROID_PASSIVE_OBSERVE_MOD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| পর্যবেক্ষণ মোড | ১ অক্টেট | ০x০০ | পর্যবেক্ষণ মোড নিষ্ক্রিয় করুন (ডিফল্ট) |
| ০x০১ | পর্যবেক্ষণ মোড সক্রিয় করুন |
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |||||
পোলিং লুপ বিজ্ঞপ্তি
প্রতিটি পোলিং লুপ ফ্রেমের পরে 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 অষ্টক | সর্বশেষ বিজ্ঞপ্তির পর থেকে প্রাপ্ত ভোটগ্রহণের অনুরোধগুলির তালিকা। প্রতিটি ফলাফলে প্রাপ্ত অনুরোধগুলির ধরন (প্রযুক্তি) এবং প্রযুক্তির উপর নির্ভর করে অনুরোধ থেকে শনাক্তযোগ্য তথ্য দেওয়া থাকে। | |||||
| প্রকার | ১ অক্টেট | ফ্রেমের প্রকারভেদ দেখুন। | |||||
| পতাকা | ১ অক্টেট | ফ্ল্যাগ বাইট দেখুন। | |||||
| দৈর্ঘ্য | ১ অক্টেট | টাইমস্ট্যাম্প এবং গেইন ফিল্ড সহ পোলিং ডেটা রিপোর্টের দৈর্ঘ্য (মিটার)। | |||||
| টাইমস্ট্যাম্প | ৪ অক্টেট | পোলিং অনুরোধগুলি গ্রহণের সময়কে মিলিসেকেন্ডে পরিমাপ করা হয়, বিগ এন্ডিয়ান পদ্ধতিতে। | |||||
| লাভ | ১ অক্টেট | ভোটগ্রহণের অনুরোধের শক্তি। 0xFF নির্দেশ করে যে মানটি উপলব্ধ নয়। | |||||
| ডেটা | m - ৫ অক্টেট | পোলিং অনুরোধে উপস্থিত শনাক্তযোগ্য ডেটা ফেরত দেয়। | |||||
ফ্রেমের প্রকারভেদ
| ভোটকেন্দ্র | প্রকার | আকার | মান/বর্ণনা | |
|---|---|---|---|---|
| দূরবর্তী ক্ষেত্র | ০x০০ | ১ অক্টেট | ০x০০ | মাঠ বন্ধ |
| ০x০১ | মাঠে | |||
| 0x02..0xFF | আরএফইউ | |||
| এনএফসি-এ | ০x০১ | n অক্টেট | মানে অবশ্যই একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত থাকতে হবে (উদাহরণস্বরূপ, REQ বা WUP)। | |
| এনএফসি-বি | ০x০২ | n অক্টেট | ভ্যালুতে অবশ্যই একটি AIF বাইট এবং একটি ISO 14443-3 কমান্ড (যেমন, REQ বা WUP) অন্তর্ভুক্ত থাকতে হবে। | |
| এনএফসি-এফ | ০x০৩ | n অক্টেট | মানে অবশ্যই একটি JIS X 6319-4 কমান্ড অন্তর্ভুক্ত থাকতে হবে। | |
| এনএফসি-ভি | ০x০৪ | n অক্টেট | মানে অবশ্যই একটি ISO 15693 কমান্ড অন্তর্ভুক্ত থাকতে হবে। | |
| অজানা | ০x০৭ | n অক্টেট | কাঁচা ফ্রেম ডেটা | |
ফ্ল্যাগ বাইট সংজ্ঞা
| পতাকা | ||||||||
|---|---|---|---|---|---|---|---|---|
| b0 | খ১ | খ২ | b3 | b4 | b5 | খ৬ | b7 | |
| ০ | ছোট ফ্রেম | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ | আরএফইউ |
| ১ | লম্বা ফ্রেম | |||||||
কোয়েরি অবজার্ভ মোড স্ট্যাটাস কমান্ড
প্যাসিভ অর্ডার মোডের বর্তমান অবস্থা জানতে, হোস্ট NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD কমান্ডটি ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP কমান্ডের মাধ্যমে একটি স্ট্যাটাস কোড দিয়ে সাড়া দিতে হবে, যা তার সাফল্য বা ব্যর্থতা নির্দেশ করে।
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
| প্রযুক্তি মাস্ক | ১ অক্টেট | বিট মাস্ক যা নির্দেশ করে কোন প্রযুক্তিগুলির জন্য অবজার্ভ মোড সক্রিয় করা হয়েছে:
| |
প্যাসিভ অবজারভার প্রযুক্তি কমান্ড সেট করুন
প্যাসিভ অবজারভার টেকনোলজি সেট করার জন্য, হোস্ট 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
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযুক্তি মাস্ক | ১ অক্টেট | কোন প্রযুক্তিগুলির জন্য অবজার্ভ মোড সক্রিয় করতে হবে তা নির্দেশকারী বিট মাস্ক:
| |||||
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
প্যাসিভ অবজারভার এক্সিট ফ্রেম কমান্ড সেট করুন
অবজার্ভ মোড এক্সিট ফ্রেম টেবিল কনফিগার করার জন্য, হোস্ট 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
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| আরও | ১ অক্টেট | 0x00 - শেষ বার্তা 0x01 - আরও বার্তা আসছে | |||||
| টাইমআউট | ২ অক্টেট | অবজার্ভ মোড (লিটল এন্ডিয়ান) পুনরুদ্ধার করার জন্য টাইমআউট (মিলিসেকেন্ডে)। | |||||
| আরএফ ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | পরবর্তী আরএফ ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা (n)। 0x00 টেবিলটি রিসেট করে। | |||||
| আরএফ ফ্রেম এন্ট্রি [0..n] | (2+x)*n অক্টেট | ||||||
| কোয়ালিফায়ার-টাইপ | ১ অক্টেট | ফ্রেমের ধরণ এবং মিলানোর বিকল্পগুলি সংজ্ঞায়িত করে। | |||||
| মানের দৈর্ঘ্য | ১ অক্টেট | ভ্যালু ফিল্ডের দৈর্ঘ্য 'x'। | |||||
| মূল্য | x অক্টেট | পাওয়ার স্টেট (1), রেফারেন্স ডেটা (n), মাস্ক (n)। 1 <= n <= 16। | |||||
NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
প্যাসিভ অবজারভার এক্সিট ফ্রেম কমান্ড পান
অবজার্ভ মোড এক্সিট ফ্রেম টেবিলের বর্তমান কনফিগারেশন পুনরুদ্ধার করতে, হোস্ট 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
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবজার্ভ মোড এক্সিট ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | অবজার্ভ মোড এক্সিট ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা যা অনুসরণ করবে (n)। | |
| প্রবেশ [0..n] | x+2 অক্টেট | কোয়ালিফায়ার-টাইপ (1), দৈর্ঘ্য (1), মান (x)। | |
ব্ল্যাঙ্ক এনসিআই কমান্ড
NCI ব্ল্যাঙ্ক করতে, হোস্ট NCI_ANDROID_BLANK_NCI_CMD কমান্ডটি ব্যবহার করতে পারে। NFCC-কে অবশ্যই সফল বা ব্যর্থ নির্দেশকারী একটি স্ট্যাটাস কোডসহ NCI_ANDROID_BLANK_NCI_RSP দিয়ে সাড়া দিতে হবে।
NCI_ANDROID_BLANK_NCI_CMD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| ফ্রেমের দৈর্ঘ্য | ১ অক্টেট | ফ্রেম ডেটার দৈর্ঘ্য | |||||
| ফ্রেম ডেটা | n অক্টেট | ফ্রেম ডেটা | |||||
NCI_ANDROID_BLANK_NCI_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
পোলিং লুপ অ্যানোটেশন কমান্ড সেট করুন
পোলিং লুপ অ্যানোটেশন সেট করার জন্য, হোস্ট কাস্টম পোলিং ফ্রেম টেবিলটি পূরণ করতে 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
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | ||
|---|---|---|---|---|
| আরএফ ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | এরপরে কতগুলো এন্ট্রি থাকবে (n), যা ০ থেকে ৪-এর মধ্যে। n=0 হলে ফিচারটি নিষ্ক্রিয় হয়ে যায়। | ||
| আরএফ ফ্রেম এন্ট্রি [1..n] | ২+x অক্টেট | |||
| কোয়ালিফায়ার-টাইপ | ১ অক্টেট | ফ্রেমের ধরন, প্রযুক্তি এবং ডিসকভারি লুপে এর অবস্থান নির্ধারণ করে। | ||
| দৈর্ঘ্য | ১ অক্টেট | মানের দৈর্ঘ্য (x)। | ||
| মূল্য | x অক্টেট | অপেক্ষার সময় (১ বাইট) এবং আরএফ ফ্রেম (১-১৬ বাইট)। | ||
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
বিদ্যুৎ সাশ্রয় কমান্ড সম্পর্কে জিজ্ঞাসা করুন
পাওয়ার সেভিং মোড সম্পর্কে জানতে, হোস্ট NCI_ANDROID_QUERY_POWER_SAVING_CMD কমান্ডটি ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_QUERY_POWER_SAVING_RSP কমান্ডের মাধ্যমে একটি স্ট্যাটাস কোড পাঠিয়ে তার সফল বা ব্যর্থ হওয়ার বিষয়টি নিশ্চিত করতে হবে।
NCI_ANDROID_QUERY_POWER_SAVING_CMD
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
NCI_ANDROID_QUERY_POWER_SAVING_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |
|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | |
নিষ্ক্রিয় পর্যবেক্ষক বিজ্ঞপ্তি স্থগিত করেছেন
যখন একটি এক্সিট ফ্রেম শনাক্ত করা হয়, তখন NFCC-কে অবশ্যই হোস্টের কাছে NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF নোটিফিকেশনটি পাঠাতে হবে, যার ফলে অবজার্ভ মোড স্থগিত হয়ে যায়।
NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রকার | ১ অক্টেট | ফ্রেমের ধরণ: 0x00=টাইপ-এ, 0x01=টাইপ-বি | |||||
| দৈর্ঘ্য | ১ অক্টেট | মানের দৈর্ঘ্য (n) | |||||
| মূল্য | n অক্টেট | একটি এক্সিট ফ্রেম এন্ট্রির সাথে মিলে যাওয়া ফ্রেম পাওয়া গেছে। | |||||
নিষ্ক্রিয় পর্যবেক্ষক বিজ্ঞপ্তি পুনরায় শুরু করেছে
টাইমআউট বা অন্য কোনো শর্তের পর প্যাসিভ অবজারভার পুনরায় চালু হলে, NFCC-কে অবশ্যই হোস্টের কাছে NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF নোটিফিকেশনটি পাঠাতে হবে।
NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
পোলিং লুপ অ্যানোটেশন কমান্ড পান
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
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | |||||
|---|---|---|---|---|---|---|---|
| প্রযোজ্য নয় | ০ অক্টেট | ||||||
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP
| পেলোড ক্ষেত্রগুলি | আকার | মান/বর্ণনা | ||
|---|---|---|---|---|
| অবস্থা | ১ অক্টেট | NCI স্পেসিফিকেশনের সারণী ১৪০-এ স্ট্যাটাস কোডগুলো দেখুন। | ||
| আরএফ ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | এরপরে কতগুলো এন্ট্রি থাকবে (n), যা ০ থেকে ৪-এর মধ্যে। n=0 হলে ফিচারটি নিষ্ক্রিয় হয়ে যায়। | ||
| আরএফ ফ্রেম এন্ট্রি [1..n] | ২+x অক্টেট | কোয়ালিফায়ার-টাইপ | ১ অক্টেট | ফ্রেমের ধরন, প্রযুক্তি এবং ডিসকভারি লুপে এর অবস্থান নির্ধারণ করে। |
| দৈর্ঘ্য | ১ অক্টেট | মানের দৈর্ঘ্য (x)। | ||
| মূল্য | x অক্টেট | অপেক্ষার সময় (১ বাইট) এবং আরএফ ফ্রেম (১-১৬ বাইট)। | ||
বাস্তবায়ন
রেফারেন্স ইমপ্লিমেন্টেশনের জন্য নিম্নলিখিতগুলি দেখুন: