NFC কন্ট্রোলার (NFCC)-এর সাথে ইন্টার্যাক্ট করার জন্য NFC কন্ট্রোলার ইন্টারফেস (NCI) ব্যবহার করা হয়। এই পৃষ্ঠায় Android-এর মালিকানাধীন NCI কমান্ডের স্পেসিফিকেশন বর্ণনা করা হয়েছে।
NCI-এর সংজ্ঞা
Android মালিকানাধীন NCI কমান্ড মালিকানাধীন গ্রুপ আইডি (GID) 0xF
এবং Android opcode শনাক্তকারী (OID) কোড স্পেস 0xC ব্যবহার করে।
সাধারণ প্যাকেট ফর্ম্যাট
Android NCI প্যাকেট ফর্ম্যাট, কন্ট্রোল প্যাকেটের জন্য NCI স্পেসিফিকেশন অনুসরণ করে
মালিকানাধীন Group_ID 0xFএবং Opcode_ID 0x0C ব্যবহার করে। প্রতিটি Android
মালিকানাধীন মেসেজের জন্য, প্যাকেট পেলোডের প্রথম বাইটকে
Android opcode (0x0C) হিসেবে সেট করতে হবে। Android কন্ট্রোল প্যাকেট, কমান্ড, উত্তর ও বিজ্ঞপ্তি শনাক্ত করার জন্য Message_Type ও
PBF ব্যবহার করে, ঠিক যেভাবে
স্ট্যান্ডার্ড কমান্ড ব্যবহার করা হয়।
নিচের সারণীতে Android প্যাকেট ফর্ম্যাট দেখানো হয়েছে:
| 0 | 1 | ২ | ৩ | 4 | 5 | 6 | 7 |
Message_Type
|
PBF
|
Group_ID = 0xF (PROPRIETARY)
|
|||||
| ভবিষ্যতে ব্যবহারের জন্য রিজার্ভ করা (RFU) | Opcode_ID = 0x0C (ANDROID)
|
||||||
Payload_Length
|
|||||||
Android_Opcode_ID
|
|||||||
Android_Payload
|
|||||||
অ্যাসাইন করা Android opcode শনাক্তকারী নিম্নলিখিত সারণীতে তালিকাভুক্ত করা আছে। প্রতিটি প্যাকেটের স্পেসিফিকেশন পরবর্তী বিভাগে দেওয়া হল।
ক্ষমতা সংক্রান্ত কমান্ড পান
NFCC-এর মাধ্যমে কাজ করে এমন Android-এর মালিকানাধীন ফিচারের তালিকা কোয়েরি করতে
হোস্ট NCI_ANDROID_GET_CAPS_CMD ব্যবহার করে। 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 | ০ অক্টেট | ||||||
NCI_ANDROID_GET_CAPS_RSP
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|
| স্ট্যাটাস | ১টি অক্টেট | NCI স্পেসিফিকেশন-এর ১৪০ নম্বর টেবিলে স্ট্যাটাস কোড দেখুন। | |||||
Android_Version
|
২টি অক্টেট | NFCC-এর প্রয়োগ করা Android সংক্রান্ত প্রয়োজনীয়তার ভার্সন শনাক্ত করে। | |||||
| 0x0000 | Android 15 | ||||||
| ক্ষমতার সংখ্যা | ১ অক্টেট | কাজ করে এমন ফিচারের সংখ্যা (n) | |||||
| কেপেবিলিটি[0..n] | (m + 2) * n অক্টেট | এগুলি করা যায় | |||||
| ধরন | ১ অক্টেট | ক্ষমতার শনাক্তকারী | |||||
| Len | ১ অক্টেট | ভ্যালুর দৈর্ঘ্য (মিটারে) | |||||
| মান | m octets | ক্ষমতার ভ্যালু | |||||
Android-এর মালিকানাধীন ক্ষমতা
| ক্ষমতার নাম | আইডি | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|---|
| পর্যবেক্ষণ মোড | 0x00 | ১ অক্টেট | পর্যবেক্ষণ মোডের জন্য সহায়তা।
0x00 (ডিফল্ট) - এই ফিচার কাজ করে না। 0x01 - হোস্ট থেকে RF ডিঅ্যাক্টিভেশন সহ ফিচার কাজ করে (Android 15-এর জন্য প্রয়োজনীয়)। 0x02 - হোস্ট থেকে RF ডিঅ্যাক্টিভেট না করেই ফিচার কাজ করে (Android 16 ও এর পরের যেকোনও ভার্সনের জন্য প্রয়োজন)। অন্যান্য সব ভ্যালু RFU. |
|||||
| পোলিং ফ্রেম বিজ্ঞপ্তি | 0x01 | ১ অক্টেট | পোলিং ফ্রেম বিজ্ঞপ্তি সংক্রান্ত সহায়তা। কাজ করলে 0x01, কাজ না করলে 0x00 (ডিফল্ট)। অন্যান্য সব ভ্যালু RFU। | |||||
| পাওয়ার সেভিং মোড | 0x02 | ১টি অক্টেট | পাওয়ার সেভিং মোডের জন্য সহায়তা। কাজ করলে 0x01, কাজ না করলে 0x00 (ডিফল্ট)। অন্যান্য সব ভ্যালু RFU। | |||||
| Auotransact পোলিং লুপ ফিল্টার | 0x03 | ১ অক্টেট | ফার্মওয়্যারে পোলিং লুপ ফিল্টার কাজ করে, এর ফলে গ্লোবালি চালু থাকা অবজার্ভ মোডে নির্দিষ্ট প্যাটার্নের জন্য অবজার্ভ মোড বাইপাস করা যায়।
0x00 (ডিফল্ট) - এই ফিচার কাজ করে না 0x01 - পোলিং লুপ ফিল্টার কাজ করে অন্যান্য সব ভ্যালু RFU |
|||||
| প্রস্থান ফ্রেম এন্ট্রির সংখ্যা যা কাজ করে | 0x04 | ১ অক্টেট | সাপোর্ট করে এমন এক্সিট ফ্রেম এন্ট্রির সংখ্যা। কমপক্ষে পাঁচটি এক্সিট ফ্রেম এন্ট্রি থাকতে হবে। | |||||
| রিডার মোড অ্যানোটেশন | 0x05 | ১ অক্টেট | রিডার মোড অ্যানোটেশনের জন্য সহায়তা।
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
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |
|---|---|---|---|
| পাওয়ার সেভিং মোড | ১ অক্টেট | 0x00 | পাওয়ার সেভিং মোড বন্ধ করা |
| 0x01 | পাওয়ার সেভিং মোড চালু করা |
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_MODE_CMD
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |
|---|---|---|---|
| পর্যবেক্ষণ মোড | ১ অক্টেট | 0x00 | 'পর্যবেক্ষণ' মোড বন্ধ করুন (ডিফল্ট) |
| 0x01 | 'দেখুন' মোড চালু করা |
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 +৩) * n অক্টেট | শেষ বিজ্ঞপ্তি পাওয়ার পর থেকে পাওয়া পোলিং অনুরোধের তালিকা। প্রতিটি ফলাফল থেকে প্রাপ্ত অনুরোধের ধরন (প্রযুক্তি) এবং প্রযুক্তির উপর নির্ভর করে অনুরোধ থেকে শনাক্তযোগ্য ডেটা পাওয়া যায়। | |||||
| ধরন | ১ অক্টেট | ফ্রেমের ধরন দেখুন। | |||||
| পতাকা | ১ অক্টেট | ফ্ল্যাগ বাইট দেখুন। | |||||
| দৈর্ঘ্য | ১টি অক্টেট | টাইমস্ট্যাম্প ও গেইন ফিল্ড সহ পোলিং ডেটা রিপোর্টের দৈর্ঘ্য (মি)। | |||||
| টাইমস্ট্যাম্প | ৪টি অক্টেট | পোলিং অনুরোধ পাওয়ার সময় মিলিসেকেন্ডে পরিমাপ করা টাইমস্ট্যাম্প, বিগ এন্ডিয়ান। | |||||
| অর্জন | ১ অক্টেট | পোলিং অনুরোধের স্ট্রেন্থ।
0xFF থেকে বোঝা যায় যে ভ্যালু উপলভ্য নেই। |
|||||
| ডেটা | m - ৫ অক্টেট | পোলিং অনুরোধে উপস্থিত শনাক্তযোগ্য ডেটা রিটার্ন করে | |||||
ফ্রেমের ধরন
| পোলিং ফ্রেম | ধরন | আকার | ভ্যালু/বিবরণ | |
|---|---|---|---|---|
| রিমোট ফিল্ড | 0x00 | ১ অক্টেট | 0x00 | ফিল্ড বন্ধ আছে |
| 0x01 | ফিল্ড চালু আছে | |||
| 0x02..0xFF | RFU | |||
| NFC-A | 0x01 | nটি অক্টেট | ভ্যালুতে অবশ্যই ISO 14443-3 কমান্ড (যেমন, REQ বা WUP) থাকতে হবে | |
| NFC-B | 0x02 | n অক্টেট | ভ্যালুতে অবশ্যই একটি AIF বাইট এবং একটি ISO 14443-3 কমান্ড অন্তর্ভুক্ত থাকতে হবে (যেমন, REQ বা WUP) | |
| NFC-F | 0x03 | n অক্টেট | ভ্যালুতে অবশ্যই JIS X 6319-4 কমান্ড থাকতে হবে | |
| NFC-V | 0x04 | nটি অক্টেট | ভ্যালুতে অবশ্যই ISO 15693 কমান্ড থাকতে হবে | |
| অজানা | 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 কমান্ড ব্যবহার করতে পারে। NFCC-কে অবশ্যই NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP-এর সাথে
স্ট্যাটাস কোড দিয়ে উত্তর দিতে হবে
যা সাফল্য বা ব্যর্থতা নির্দেশ করে।
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|
| N/A | ০ অক্টেট | ||||||
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 - Last message 0x01 - More messages to follow |
|||||
| টাইম-আউট | ২টি অক্টেট | অবজার্ভ মোড রিস্টোর করার জন্য মিলিসেকেন্ডে টাইম-আউট (লিটল এন্ডিয়ান)। | |||||
| RF ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | অনুসরণ করার জন্য RF ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা (n)। 0x00 টেবিল রিসেট করে। | |||||
| RF ফ্রেম এন্ট্রি [0..n] | (2+x)*n অক্টেট | ||||||
| কোয়ালিফায়ার-টাইপ | ১ অক্টেট | ফ্রেমের ধরন ও ম্যাচিং বিকল্প নির্ধারণ করে। | |||||
| ভ্যালুর দৈর্ঘ্য | ১ অক্টেট | ভ্যালু ফিল্ডের দৈর্ঘ্য 'x'। | |||||
| মান | x অক্টেট | পাওয়ার স্টেট (১), রেফারেন্স ডেটা (n), মাস্ক (n)। ১ <= n <= ১৬। | |||||
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
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|
| N/A | ০ অক্টেট | ||||||
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |
|---|---|---|---|
| স্ট্যাটাস | ১ অক্টেট | NCI স্পেসিফিকেশন-এর ১৪০ নম্বর টেবিলে স্ট্যাটাস কোড দেখুন, | |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
| পেলোড ফিল্ড | আকার | ভ্যালু/বিবরণ | |
|---|---|---|---|
| অবজার্ভ মোড থেকে বেরিয়ে আসার ফ্রেম এন্ট্রির সংখ্যা | ১ অক্টেট | ফলো করার জন্য অবজার্ভ মোড থেকে বেরিয়ে আসার ফ্রেম এন্ট্রি ফিল্ডের সংখ্যা (n)। | |
| এন্ট্রি [0..n] | x+২ অক্টেট | কোয়ালিফায়ার-টাইপ (১), দৈর্ঘ্য (১), ভ্যালু (x). | |
ফাঁকা NCI কমান্ড
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
| পেলোড ফিল্ড | আকার | মান/বিবরণ | ||
|---|---|---|---|---|
| RF ফ্রেম এন্ট্রির সংখ্যা | ১টি অক্টেট | ফলো করার জন্য এন্ট্রি সংখ্যা (n), ০ থেকে ৪-এর মধ্যে। n=0 হলে ফিচারটি বন্ধ হয়ে যায়। | ||
| RF ফ্রেম এন্ট্রি [১..n] | ২+x অক্টেট | |||
| কোয়ালিফায়ার-টাইপ | ১টি অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, টেকনোলজি ও পজিশন নির্ধারণ করে। | ||
| দৈর্ঘ্য | ১ অক্টেট | মান (x)-এর দৈর্ঘ্য। | ||
| মান | x অক্টেট | অপেক্ষার সময় (১ বাইট) এবং RF ফ্রেম (১-১৬ বাইট)। | ||
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
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|
| N/A | ০ অক্টেট | ||||||
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
| পেলোড ফিল্ড | আকার | মান/বিবরণ | |||||
|---|---|---|---|---|---|---|---|
| N/A | ০ অক্টেট | ||||||
পোলিং লুপ অ্যানোটেশন কমান্ড পাওয়া
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 | ০ অক্টেট | ||||||
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP
| পেলোড ফিল্ড | আকার | মান/বিবরণ | ||
|---|---|---|---|---|
| স্ট্যাটাস | ১ অক্টেট | NCI স্পেসিফিকেশন-এর ১৪০ নম্বর টেবিলে স্ট্যাটাস কোড দেখুন, | ||
| RF ফ্রেম এন্ট্রির সংখ্যা | ১টি অক্টেট | ফলো করার জন্য এন্ট্রি সংখ্যা (n), ০ থেকে ৪-এর মধ্যে। n=0 হলে ফিচারটি বন্ধ হয়ে যায়। | ||
| RF ফ্রেম এন্ট্রি [১..n] | ২+x অক্টেট | কোয়ালিফায়ার-টাইপ | ১টি অক্টেট | ডিসকভারি লুপে ফ্রেমের ধরন, টেকনোলজি ও পজিশন নির্ধারণ করে। |
| দৈর্ঘ্য | ১ অক্টেট | মান (x)-এর দৈর্ঘ্য। | ||
| মান | x অক্টেট | অপেক্ষার সময় (১ বাইট) ও RF ফ্রেম (১-১৬ বাইট)। | ||
প্রয়োগ
রেফারেন্স প্রয়োগের জন্য, নিম্নলিখিত বিষয়গুলি দেখুন: