chrome.usb

বিবরণ

কানেক্ট করা USB ডিভাইসের সাথে ইন্টার‍্যাক্ট করতে chrome.usb API ব্যবহার করুন। এই API কোনও অ্যাপের কন্টেক্সটের মধ্যে থেকে USB অপারেশনে অ্যাক্সেস প্রদান করে। এই API ব্যবহার করে, অ্যাপ হার্ডওয়্যার ডিভাইসের জন্য ড্রাইভার হিসেবে কাজ করতে পারে। এই API-এর মাধ্যমে তৈরি হওয়া সমস্যার ব্যাপারে runtime.lastError সেট করে এবং ফাংশনের নিয়মিত কলব্যাক এক্সিকিউট করে রিপোর্ট করা হয়। এই ক্ষেত্রে কলব্যাকের সাধারণ প্যারামিটারগুলি সংজ্ঞায়িত করা হবে না।

অনুমতি

usb

উপলভ্যতা

শুধুমাত্র ChromeOS

ধরন

ConfigDescriptor

প্রপার্টি

  • অ্যাক্টিভ আছে

    বুলিয়ান

    Chrome 47+

    এটি কি অ্যাক্টিভ কনফিগারেশন?

  • configurationValue

    নম্বর

    কনফিগারেশন নম্বর।

  • বর্ণনা

    স্ট্রিং ঐচ্ছিক

    কনফিগারেশনের বিবরণ।

  • extra_data

    ArrayBuffer

    এই কনফিগারেশনের সাথে অতিরিক্ত বর্ণনাকারী ডেটা যুক্ত আছে।

  • ইন্টারফেস

    উপলভ্য ইন্টারফেস।

  • maxPower

    নম্বর

    এই ডিভাইসের জন্য প্রয়োজনীয় সর্বাধিক পাওয়ার মিলিঅ্যাম্পে (mA)।

  • remoteWakeup

    বুলিয়ান

    ডিভাইসটি রিমোট ওয়েকআপ সাপোর্ট করে।

  • selfPowered

    বুলিয়ান

    ডিভাইসটি সেল্ফ-পাওয়ার্ড।

ConnectionHandle

প্রপার্টি

  • হ্যান্ডেল

    নম্বর

    USB ডিভাইসের সাথে এই কানেকশন এবং সমস্ত সংশ্লিষ্ট দাবি করা ইন্টারফেস ও বাকি থাকা ট্রান্সফারকে উপস্থাপন করে এমন একটি অস্বচ্ছ হ্যান্ডেল। প্রতিবার ডিভাইস খোলার সময় একটি নতুন হ্যান্ডেল তৈরি করা হয়। কানেকশন হ্যান্ডেল Device.device-এর থেকে আলাদা।

  • productId

    নম্বর

    প্রোডাক্ট আইডি।

  • vendorId

    নম্বর

    ডিভাইস ভেন্ডর আইডি।

ControlTransferInfo

প্রপার্টি

  • ডেটা

    ArrayBuffer ঐচ্ছিক

    ট্রান্সমিট করার ডেটা (শুধুমাত্র আউটপুট ট্রান্সফারের জন্য প্রয়োজন)।

  • দিকনির্দেশ

    ট্রান্সফারের দিকনির্দেশ ("in" বা "out")।

  • সূচি

    নম্বর

    wIndex ফিল্ড, Ibid দেখুন।

  • দৈর্ঘ্য

    নম্বর ঐচ্ছিক

    সর্বাধিক কত বাইট রিসিভ করা যাবে (শুধুমাত্র ইনপুট ট্রান্সফারের ক্ষেত্রে প্রয়োজন)।

  • প্রাপক

    ট্রান্সফারের টার্গেট। "interface" বা "endpoint" হলে, index-এর দেওয়া টার্গেট অবশ্যই দাবি করতে হবে।

  • অনুরোধ

    নম্বর

    bRequest ফিল্ড, Universal Serial Bus স্পেসিফিকেশন রিভিশন ১.১ § ৯.৩ দেখুন।

  • requestType

    অনুরোধের ধরন।

  • সময় সমাপ্ত

    নম্বর ঐচ্ছিক

    Chrome 43+

    অনুরোধের সময়সীমা (মিলিসেকেন্ডে)। ডিফল্ট ভ্যালু 0-এর অর্থ হল কোনও টাইমআউট নেই।

  • মান

    নম্বর

    wValue ফিল্ড, Ibid দেখুন।

Device

প্রপার্টি

  • ডিভাইস

    নম্বর

    USB ডিভাইসের জন্য একটি অস্বচ্ছ আইডি। ডিভাইস আনপ্লাগ না করা পর্যন্ত এটি অপরিবর্তিত থাকে।

  • manufacturerName

    স্ট্রিং

    Chrome 46+

    ডিভাইস থেকে পড়া iManufacturer স্ট্রিং, যদি উপলভ্য থাকে।

  • productId

    নম্বর

    প্রোডাক্ট আইডি।

  • productName

    স্ট্রিং

    Chrome 46+

    ডিভাইস থেকে iProduct স্ট্রিং রিড করা হয়েছে, যদি উপলভ্য থাকে।

  • serialNumber

    স্ট্রিং

    Chrome 46+

    ডিভাইস থেকে পড়া iSerialNumber স্ট্রিং, যদি উপলভ্য থাকে।

  • vendorId

    নম্বর

    ডিভাইস ভেন্ডর আইডি।

  • ভার্সন

    নম্বর

    Chrome 51+

    ডিভাইস ভার্সন (bcdDevice ফিল্ড)।

DeviceFilter

প্রপার্টি

  • interfaceClass

    নম্বর ঐচ্ছিক

    USB ইন্টারফেস ক্লাস, ডিভাইসের যেকোনও ইন্টারফেসের সাথে ম্যাচ করে।

  • interfaceProtocol

    নম্বর ঐচ্ছিক

    USB ইন্টারফেস প্রোটোকল, ইন্টারফেস সাব-ক্লাস মিললে তবেই চেক করা হয়।

  • interfaceSubclass

    নম্বর ঐচ্ছিক

    USB ইন্টারফেস সাব-ক্লাস, ইন্টারফেস ক্লাস মিললে তবেই চেক করা হয়।

  • productId

    নম্বর ঐচ্ছিক

    ডিভাইস প্রোডাক্ট আইডি, ভেন্ডর আইডি মিললে তবেই চেক করা হয়।

  • vendorId

    নম্বর ঐচ্ছিক

    ডিভাইস ভেন্ডর আইডি।

DevicePromptOptions

প্রপার্টি

  • ফিল্টার

    DeviceFilter[] ঐচ্ছিক

    ব্যবহারকারীকে দেখানো ডিভাইসের তালিকা ফিল্টার করুন। একাধিক ফিল্টার প্রদান করা হলে, যেকোনও ফিল্টারের সাথে ম্যাচ করা ডিভাইস দেখানো হবে।

  • একাধিক

    বুলিয়ান ঐচ্ছিক

    ব্যবহারকারীকে একাধিক ডিভাইস বেছে নেওয়ার অনুমতি দিন।

Direction

Direction, Recipient, RequestType এবং TransferType, USB স্পেসিফিকেশনের মধ্যে তাদের নাম অনুযায়ী ম্যাপ করে।

Enum

"in"

"আউট"

EndpointDescriptor

প্রপার্টি

  • ঠিকানা

    নম্বর

    এন্ডপয়েন্ট অ্যাড্রেস।

  • দিকনির্দেশ

    ট্রান্সফারের দিকনির্দেশ।

  • extra_data

    ArrayBuffer

    এই এন্ডপয়েন্টের সাথে যুক্ত অতিরিক্ত বর্ণনাকারী ডেটা।

  • maximumPacketSize

    নম্বর

    প্যাকেটের সর্বাধিক সাইজ।

  • pollingInterval

    নম্বর ঐচ্ছিক

    পোলিং ইন্টারভাল (শুধুমাত্র ইন্টারাপ্ট ও আইসোক্রোনাস)।

  • সিঙ্ক্রোনাইজেশন

    SynchronizationType ঐচ্ছিক

    ট্রান্সফার সিঙ্ক্রোনাইজেশন মোড (শুধুমাত্র আইসোক্রোনাস)।

  • ধরন

    ট্রান্সফারের ধরন।

  • ব্যবহার

    UsageType ঐচ্ছিক

    এন্ডপয়েন্ট ব্যবহার সংক্রান্ত ইঙ্গিত।

EnumerateDevicesAndRequestAccessOptions

প্রপার্টি

  • interfaceId

    নম্বর ঐচ্ছিক

    অ্যাক্সেসের অনুরোধ করার জন্য ইন্টারফেস আইডি। শুধুমাত্র Chrome OS-এ উপলভ্য। অন্যান্য প্ল্যাটফর্মে এর কোনও প্রভাব পড়ে না।

  • productId

    নম্বর

    প্রোডাক্ট আইডি।

  • vendorId

    নম্বর

    ডিভাইস ভেন্ডর আইডি।

EnumerateDevicesOptions

প্রপার্টি

  • ফিল্টার

    DeviceFilter[] ঐচ্ছিক

    প্রদত্ত যেকোনও ফিল্টারের সাথে ম্যাচ করে এমন ডিভাইস দেখানো হবে। ফিল্টার তালিকা খালি থাকলে, অ্যাপের অনুমতি আছে এমন সব ডিভাইস দেখাবে।

  • productId

    নম্বর ঐচ্ছিক

    বন্ধ করে দেওয়া হয়েছে

    DeviceFilter.productId সেট করার সমতুল্য।

  • vendorId

    নম্বর ঐচ্ছিক

    বন্ধ করে দেওয়া হয়েছে

    DeviceFilter.vendorId সেট করার সমতুল্য।

GenericTransferInfo

প্রপার্টি

  • ডেটা

    ArrayBuffer ঐচ্ছিক

    ট্রান্সমিট করার ডেটা (শুধুমাত্র আউটপুট ট্রান্সফারের জন্য প্রয়োজন)।

  • দিকনির্দেশ

    ট্রান্সফারের দিক ("in" বা "out")।

  • এন্ডপয়েন্ট

    নম্বর

    টার্গেট এন্ডপয়েন্ট অ্যাড্রেস। এই এন্ডপয়েন্ট সহ ইন্টারফেসটি অবশ্যই দাবি করতে হবে।

  • দৈর্ঘ্য

    নম্বর ঐচ্ছিক

    সর্বাধিক কত বাইট রিসিভ করা যাবে (শুধুমাত্র ইনপুট ট্রান্সফারের ক্ষেত্রে প্রয়োজন)।

  • সময় সমাপ্ত

    নম্বর ঐচ্ছিক

    Chrome 43+

    অনুরোধের সময়সীমা (মিলিসেকেন্ডে)। ডিফল্ট ভ্যালু 0-এর অর্থ হল কোনও টাইমআউট নেই।

InterfaceDescriptor

প্রপার্টি

  • alternateSetting

    নম্বর

    ইন্টারফেসের বিকল্প সেটিং নম্বর (ডিফল্ট হিসেবে 0

  • বর্ণনা

    স্ট্রিং ঐচ্ছিক

    ইন্টারফেসের বিবরণ।

  • এন্ডপয়েন্ট

    উপলভ্য এন্ডপয়েন্ট।

  • extra_data

    ArrayBuffer

    এই ইন্টারফেসের সাথে যুক্ত অতিরিক্ত বর্ণনাকারী ডেটা।

  • interfaceClass

    নম্বর

    USB ইন্টারফেস ক্লাস।

  • interfaceNumber

    নম্বর

    ইন্টারফেস নম্বর।

  • interfaceProtocol

    নম্বর

    USB ইন্টারফেস প্রোটোকল।

  • interfaceSubclass

    নম্বর

    USB ইন্টারফেস সাব-ক্লাস।

IsochronousTransferInfo

প্রপার্টি

  • packetLength

    নম্বর

    এই ট্রান্সফারে প্রতিটি প্যাকেটের দৈর্ঘ্য।

  • প্যাকেট

    নম্বর

    এই ট্রান্সফারে মোট প্যাকেটের সংখ্যা।

  • transferInfo

    ট্রান্সফার প্যারামিটার। এই প্যারামিটার ব্লকে উল্লেখ করা ট্রান্সফার দৈর্ঘ্য বা ডেটা বাফার packetLength সীমানা বরাবর বিভক্ত হয়ে ট্রান্সফারের স্বতন্ত্র প্যাকেট তৈরি করে।

Recipient

Enum

"ডিভাইস"

"ইন্টারফেস"

"endpoint"

"অন্যান্য"

RequestType

Enum

"স্ট্যান্ডার্ড"

"class"

"ভেন্ডর"

"রিজার্ভ করা"

SynchronizationType

ইন্টারাপ্ট ও আইসোক্রোনাস মোডের জন্য, SynchronizationType ও UsageType, USB স্পেসিফিকেশনের মধ্যে তাদের নাম অনুযায়ী ম্যাপ করে।

Enum

"অ্যাসিঙ্ক্রোনাস"

"অ্যাডাপ্টিভ"

"সিঙ্ক্রোনাস"

TransferResultInfo

প্রপার্টি

  • ডেটা

    ArrayBuffer ঐচ্ছিক

    ইনপুট ট্রান্সফারের মাধ্যমে ফেরত পাওয়া ডেটা। আউটপুট ট্রান্সফারের জন্য undefined।

  • resultCode

    নম্বর ঐচ্ছিক

    0-এর ভ্যালু থেকে বোঝা যায় যে ট্রান্সফার সফল হয়েছে। অন্যান্য ভ্যালু ব্যর্থতা নির্দেশ করে।

TransferType

Enum

"কন্ট্রোল"

"বাধা"

"isochronous"

"বাল্ক"

UsageType

Enum

"ডেটা"

"মতামত"

"explicitFeedback"

"পর্যায়ক্রমিক"

"বিজ্ঞপ্তি"

পদ্ধতি

bulkTransfer()

প্রতিশ্রুতি
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

নির্দিষ্ট ডিভাইসে বাল্ক ট্রান্সফার করে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • transferInfo

    ট্রান্সফার প্যারামিটার।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: TransferResultInfo) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

claimInterface()

প্রতিশ্রুতি
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

USB ডিভাইসে ইন্টারফেস দাবি করে। কোনও ইন্টারফেস বা সংশ্লিষ্ট এন্ডপয়েন্টে ডেটা ট্রান্সফার করার আগে ইন্টারফেসটি দাবি করতে হবে। যেকোনও সময় শুধুমাত্র একটি কানেকশন হ্যান্ডেল ইন্টারফেস দাবি করতে পারে। ইন্টারফেস আগেই দাবি করা হয়ে থাকলে, এই কল করা যাবে না।

ইন্টারফেসের আর প্রয়োজন না থাকলে releaseInterface কল করতে হবে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • interfaceNumber

    নম্বর

    যে ইন্টারফেস দাবি করতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

closeDevice()

প্রতিশ্রুতি
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<void>

কানেকশন হ্যান্ডেল বন্ধ করে। হ্যান্ডেল বন্ধ হয়ে যাওয়ার পরে সেটির উপর অপারেশন চালু করা নিরাপদ হলেও কোনও অ্যাকশন নেওয়া হয় না।

প্যারামিটারগুলি

  • হ্যান্ডেল

    বন্ধ করার জন্য ConnectionHandle।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

controlTransfer()

প্রতিশ্রুতি
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

নির্দিষ্ট ডিভাইসে কন্ট্রোল ট্রান্সফার করে।

কন্ট্রোল ট্রান্সফার বলতে ডিভাইস, ইন্টারফেস বা এন্ডপয়েন্টকে বোঝায়। কোনও ইন্টারফেস বা এন্ডপয়েন্টে ট্রান্সফার করার জন্য ইন্টারফেসটি দাবি করতে হবে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • transferInfo
  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: TransferResultInfo) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

findDevices()

প্রতিশ্রুতি
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)
: Promise<ConnectionHandle[]>

ভেন্ডর, প্রোডাক্ট এবং (ঐচ্ছিক) ইন্টারফেস আইডি দ্বারা নির্দিষ্ট করা USB ডিভাইস খুঁজে বের করে এবং অনুমতি থাকলে ব্যবহারের জন্য সেগুলি খোলে।

অ্যাক্সেসের অনুরোধ বাতিল করা হলে বা ডিভাইস খোলা না গেলে, কানেকশন হ্যান্ডেল তৈরি বা ফেরত দেওয়া হবে না।

এই পদ্ধতি কল করা মানে হল প্রতিটি ডিভাইসের জন্য getDevices কল করার পরে openDevice কল করা।

প্যারামিটারগুলি

  • টার্গেট ডিভাইসে সার্চ করার জন্য প্রপার্টি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (handles: ConnectionHandle[]) => void

রিটার্ন

  • Promise<ConnectionHandle[]>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getConfiguration()

প্রতিশ্রুতি
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<ConfigDescriptor>

বর্তমানে বেছে নেওয়া কনফিগারেশনের জন্য কনফিগারেশন ডেসক্রিপ্টর পায়।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (config: ConfigDescriptor) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getConfigurations()

Promise Chrome 47+
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)
: Promise<ConfigDescriptor[]>

ডিভাইস কনফিগারেশন ডেসক্রিপ্টরের সম্পূর্ণ সেট দেখায়।

প্যারামিটারগুলি

  • ডিভাইস

    যে Device থেকে ডেসক্রিপ্টর ফেচ করতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (configs: ConfigDescriptor[]) => void

রিটার্ন

  • Promise<ConfigDescriptor[]>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getDevices()

প্রতিশ্রুতি
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)
: Promise<Device[]>

কানেক্ট করা USB ডিভাইসের তালিকা তৈরি করে।

প্যারামিটারগুলি

  • বিকল্প

    টার্গেট ডিভাইসে সার্চ করার জন্য প্রপার্টি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (devices: Device[]) => void

রিটার্ন

  • Promise<Device[]>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getUserSelectedDevices()

প্রতিশ্রুতি
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)
: Promise<Device[]>

ব্যবহারকারীকে ডিভাইস বেছে নেওয়ার বিকল্প দেখায় এবং বেছে নেওয়া Device দেখায়। ব্যবহারকারী পিকার বাতিল করলে, ডিভাইসের তালিকা খালি থাকবে। ডায়ালগ দেখানোর জন্য ইউজার জেসচার প্রয়োজন। ইউজার জেসচার ছাড়া, কলব্যাক এমনভাবে চলবে যেন ব্যবহারকারী বাতিল করেছেন।

প্যারামিটারগুলি

  • বিকল্প

    ডিভাইস পিকার ডায়ালগ বক্সের কনফিগারেশন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (devices: Device[]) => void

রিটার্ন

  • Promise<Device[]>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

interruptTransfer()

প্রতিশ্রুতি
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

নির্দিষ্ট ডিভাইসে ইন্টারাপ্ট ট্রান্সফার করে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • transferInfo

    ট্রান্সফার প্যারামিটার।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: TransferResultInfo) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

isochronousTransfer()

প্রতিশ্রুতি
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

নির্দিষ্ট ডিভাইসে আইসোক্রোনাস ট্রান্সফার করে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: TransferResultInfo) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

listInterfaces()

প্রতিশ্রুতি
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<InterfaceDescriptor[]>

USB ডিভাইসের সব ইন্টারফেসের তালিকা দেখায়।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (descriptors: InterfaceDescriptor[]) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

openDevice()

প্রতিশ্রুতি
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)
: Promise<ConnectionHandle>

getDevices-এর মাধ্যমে ফেরত পাঠানো USB ডিভাইস খোলে।

প্যারামিটারগুলি

  • ডিভাইস

    খোলার জন্য Device।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (handle: ConnectionHandle) => void

রিটার্ন

  • Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

releaseInterface()

প্রতিশ্রুতি
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

দাবি করা ইন্টারফেস রিলিজ করে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • interfaceNumber

    নম্বর

    ইন্টারফেস রিলিজ করতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

requestAccess()

Promise বন্ধ করা হয়েছে
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)
: Promise<boolean>

এই ফাংশনটি Chrome OS-এর জন্য নির্দিষ্ট ছিল এবং অন্যান্য প্ল্যাটফর্মে এটি কল করলে তা কাজ করবে না। এই অপারেশন এখন openDevice-এর অংশ হিসেবে অন্তর্নিহিতভাবে করা হয় এবং এই ফাংশন সব প্ল্যাটফর্মে true ফিরিয়ে দেবে।

ডিভাইসে প্রদত্ত ইন্টারফেস দাবি করা না হলে, Chrome OS-এর দাবি করা ডিভাইসে অনুমতি ব্রোকার থেকে অ্যাক্সেসের অনুরোধ করে।

প্যারামিটারগুলি

  • ডিভাইস

    Device-এ অ্যাক্সেসের অনুরোধ করতে।

  • interfaceId

    নম্বর

    অনুরোধ করা নির্দিষ্ট ইন্টারফেস।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (success: boolean) => void

    • হয়ে গেছে

      বুলিয়ান

রিটার্ন

  • Promise<boolean>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

resetDevice()

প্রতিশ্রুতি
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<boolean>

USB ডিভাইস রিসেট করার চেষ্টা করে। রিসেট করা না গেলে, প্রদত্ত কানেকশন হ্যান্ডেল বন্ধ হয়ে যাবে এবং USB ডিভাইস ডিসকানেক্ট হয়ে আবার কানেক্ট হবে। এই ক্ষেত্রে, ডিভাইস অ্যাকোয়ার করার জন্য getDevices বা findDevices আবার কল করতে হবে।

প্যারামিটারগুলি

  • হ্যান্ডেল

    রিসেট করার জন্য কানেকশন হ্যান্ডেল।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (success: boolean) => void

    • হয়ে গেছে

      বুলিয়ান

রিটার্ন

  • Promise<boolean>

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

setConfiguration()

প্রতিশ্রুতি
chrome.usb.setConfiguration(
  handle: ConnectionHandle,
  configurationValue: number,
  callback?: function,
)
: Promise<void>

ডিভাইস কনফিগারেশন বেছে নিন।

এই ফাংশনটি ডিভাইসের উপলভ্য কনফিগারেশনগুলির মধ্যে একটি বেছে নিয়ে ডিভাইসটিকে কার্যকরভাবে রিসেট করে। 0-এর থেকে বেশি কনফিগারেশন ভ্যালু সঠিক, তবে কিছু ডিভাইসে সমস্যা থাকার কারণে 0 কনফিগারেশন ভ্যালু কাজ করে এবং তাই এই ভ্যালু ব্যবহার করার অনুমতি দেওয়া হয়।

প্যারামিটারগুলি

  • হ্যান্ডেল

    ডিভাইসের সাথে একটি ওপেন কানেকশন।

  • configurationValue

    নম্বর

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

setInterfaceAlternateSetting()

প্রতিশ্রুতি
chrome.usb.setInterfaceAlternateSetting(
  handle: ConnectionHandle,
  interfaceNumber: number,
  alternateSetting: number,
  callback?: function,
)
: Promise<void>

আগে দাবি করা ইন্টারফেসে বিকল্প সেটিং বেছে নেয়।

প্যারামিটারগুলি

  • হ্যান্ডেল

    যে ডিভাইসে এই ইন্টারফেস দাবি করা হয়েছে সেটির সাথে একটি ওপেন কানেকশন।

  • interfaceNumber

    নম্বর

    কনফিগার করার ইন্টারফেস।

  • alternateSetting

    নম্বর

    কনফিগার করার জন্য বিকল্প সেটিং।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 116+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

ইভেন্ট

onDeviceAdded

chrome.usb.onDeviceAdded.addListener(
  callback: function,
)

সিস্টেমে কোনও ডিভাইস যোগ করা হলে ইভেন্ট তৈরি হয়। ডিভাইস অ্যাক্সেস করার অনুমতি আছে এমন অ্যাপ ও এক্সটেনশনেই শুধু ইভেন্ট ব্রডকাস্ট করা হয়। ইনস্টল করার সময়, ব্যবহারকারী ঐচ্ছিক অনুমতি গ্রহণ করার সময় (permissions.request দেখুন) অথবা getUserSelectedDevices-এর মাধ্যমে অনুমতি দেওয়া হতে পারে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (device: Device) => void

onDeviceRemoved

chrome.usb.onDeviceRemoved.addListener(
  callback: function,
)

সিস্টেম থেকে কোনও ডিভাইস সরিয়ে দেওয়া হলে ইভেন্ট তৈরি হয়। কোন কোন ইভেন্ট ডেলিভার করা হয়েছে তা জানতে onDeviceAdded দেখুন।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (device: Device) => void