chrome.serial

תיאור

משתמשים ב-API ‏chrome.serial כדי לקרוא ממכשיר שמחובר ליציאה טורית ולכתוב אליו.

הרשאות

serial

סוגים

ConnectionInfo

מאפיינים

  • קצב העברת נתונים

    מספר אופציונלי

    ConnectionOptions.bitrate. יכול להיות שהשדה הזה לא יופיע או שהערך שלו יהיה שגוי אם נעשה שימוש בקצב העברת נתונים לא סטנדרטי, או אם התרחשה שגיאה בזמן שליחת שאילתה למכשיר הבסיסי.

  • bufferSize

    number

    הצגה של ConnectionOptions.bufferSize

  • connectionId

    number

    המזהה של החיבור ליציאה הטורית.

  • ctsFlowControl

    ‫boolean אופציונלי

    ConnectionOptions.ctsFlowControl. אפשר להשמיט את השדה הזה אם אירעה שגיאה במהלך שליחת שאילתה למכשיר הבסיסי.

  • dataBits

    DataBits אופציונלי

    ConnectionOptions.dataBits. אפשר להשמיט את השדה הזה אם אירעה שגיאה במהלך שליחת שאילתה למכשיר הבסיסי.

  • שם

    מחרוזת

    הצגה של ConnectionOptions.name

  • parityBit

    ParityBit אופציונלי

    ConnectionOptions.parityBit. אפשר להשמיט את השדה הזה אם אירעה שגיאה במהלך שליחת שאילתה למכשיר הבסיסי.

  • מושהה

    בוליאני

    סימון שמציין אם החיבור חסום מהפעלת אירועים מסוג onReceive.

  • קבוע

    בוליאני

    הצגה של ConnectionOptions.persistent

  • receiveTimeout

    number

    הצגה של ConnectionOptions.receiveTimeout

  • sendTimeout

    number

    הצגה של ConnectionOptions.sendTimeout

  • stopBits

    StopBits אופציונלי

    ConnectionOptions.stopBits. אפשר להשמיט את השדה הזה אם אירעה שגיאה במהלך שליחת שאילתה למכשיר הבסיסי.

ConnectionOptions

מאפיינים

  • קצב העברת נתונים

    מספר אופציונלי

    קצב העברת הנתונים המבוקש של החיבור שרוצים לפתוח. כדי להבטיח תאימות למגוון רחב של חומרה, המספר הזה צריך להתאים לאחד מקצבי העברת הנתונים הנפוצים, כמו 110,‏ 300,‏ 1,200,‏ 2,400,‏ 4,800,‏ 9,600,‏ 14,400,‏ 19,200,‏ 38,400,‏ 57,600 ו-115,200. כמובן שאין ערובה לכך שהמכשיר שמחובר ליציאה הטורית יתמוך בקצב העברת הנתונים המבוקש, גם אם היציאה עצמה תומכת בקצב הזה. הערך 9600 יועבר כברירת מחדל.

  • bufferSize

    מספר אופציונלי

    גודל המאגר שמשמש לקבלת נתונים. ערך ברירת המחדל הוא 4096.

  • ctsFlowControl

    ‫boolean אופציונלי

    סימון שמציין אם להפעיל או להשבית את בקרת הזרימה של החומרה RTS/CTS. ברירת המחדל היא False.

  • dataBits

    DataBits אופציונלי

    הערך "eight" יועבר כברירת מחדל.

  • שם

    מחרוזת אופציונלי

    מחרוזת שמוגדרת על ידי האפליקציה ומשויכת לחיבור.

  • parityBit

    ParityBit אופציונלי

    הערך "no" יועבר כברירת מחדל.

  • קבוע

    ‫boolean אופציונלי

    דגל שמציין אם החיבור צריך להישאר פתוח כשהאפליקציה מושהית (ראו ניהול מחזור החיים של האפליקציה). ערך ברירת המחדל הוא false. כשהאפליקציה נטענת, אפשר לאחזר חיבורים סדרתיים שנפתחו קודם עם persistent=true באמצעות getConnections.

  • receiveTimeout

    מספר אופציונלי

    משך הזמן המקסימלי (באלפיות השנייה) להמתנה לנתונים חדשים לפני הפעלת אירוע onReceiveError עם שגיאת 'פסק זמן'. אם הערך הוא אפס, לא יופיעו שגיאות של זמן קצוב לתפוגה של קבלת נתונים בחיבור. ברירת המחדל היא 0.

  • sendTimeout

    מספר אופציונלי

    משך הזמן המקסימלי (באלפיות השנייה) להמתנה לסיום של פעולת send לפני הפעלת הקריאה החוזרת עם שגיאת 'פסק זמן'. אם הערך הוא אפס, לא יופעלו שגיאות של פסק זמן לשליחה. ברירת המחדל היא 0.

  • stopBits

    StopBits אופציונלי

    הערך "one" יועבר כברירת מחדל.

DataBits

Enum

"seven"

"eight"

DeviceControlSignals

מאפיינים

  • cts

    בוליאני

    CTS (Clear To Send).

  • dcd

    בוליאני

    DCD (זיהוי נתונים בקו) או RLSD (זיהוי אות בקו קבלה).

  • dsr

    בוליאני

    DSR (קבוצת נתונים מוכנה).

  • ri

    בוליאני

    RI (Ring Indicator).

DeviceInfo

מאפיינים

  • displayName

    מחרוזת אופציונלי

    שם מוצג קריא של המכשיר הבסיסי, אם אפשר לשלוף אותו מדרייבר המארח.

  • נתיב

    מחרוזת

    נתיב המערכת של המכשיר. כדי להתחבר למכשיר הזה, צריך להעביר את הערך הזה כארגומנט path לפונקציה chrome.serial.connect.

  • productId

    מספר אופציונלי

    מזהה מוצר USB אם אפשר לקבוע אותו עבור המכשיר הבסיסי.

  • vendorId

    מספר אופציונלי

    מזהה ספק PCI או USB, אם אפשר לקבוע אותו עבור המכשיר הבסיסי.

HostControlSignals

מאפיינים

  • dtr

    ‫boolean אופציונלי

    DTR (מסוף נתונים מוכן).

  • rts

    ‫boolean אופציונלי

    RTS (בקשה לשליחה).

ParityBit

Enum

"no"

"odd"

"even"

ReceiveError

Enum

"disconnected"
החיבור נותק.

"timeout"
לא התקבלו נתונים במשך receiveTimeout אלפיות השנייה.

device_lost
המכשיר כנראה נותק מהמארח.

"break"
המכשיר זיהה מצב הפסקה.

frame_error
המכשיר זיהה שגיאת מסגור.

"overrun"
חריגה ממאגר התווים התרחשה. התו הבא יאבד.

buffer_overflow
אירעה חריגה מקיבולת של מאגר קלט. אין מקום במאגר הקלט, או שהתקבל תו אחרי התו לסיום הקובץ (EOF).

parity_error
המכשיר זיהה שגיאת זוגיות.

system_error
אירעה שגיאת מערכת, ויכול להיות שאי אפשר יהיה לשחזר את החיבור.

ReceiveErrorInfo

מאפיינים

  • connectionId

    number

    מזהה החיבור.

  • error

    קוד שגיאה שמציין מה השתבש.

ReceiveInfo

מאפיינים

  • connectionId

    number

    מזהה החיבור.

  • נתונים

    ArrayBuffer

    הנתונים שהתקבלו.

SendError

Enum

"disconnected"
החיבור נותק.

בהמתנה
שליחה כבר הייתה בהמתנה.

"timeout"
השליחה נכשלה כי חלף הזמן הקצוב לתפוגה.

system_error
אירעה שגיאת מערכת, ויכול להיות שאי אפשר יהיה לשחזר את החיבור.

SendInfo

מאפיינים

  • bytesSent

    number

    מספר הבייטים שנשלחו.

  • error

    SendError אופציונלי

    קוד שגיאה אם אירעה שגיאה.

StopBits

Enum

"one"

‎"two"

Methods

clearBreak()

Promise Chrome 45+
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

משחזרת את שידור התווים בחיבור נתון ומעבירה את קו השידור למצב שאינו הפסקה.

פרמטרים

  • connectionId

    number

    המזהה של החיבור.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

מתחבר ליציאה טורית נתונה.

פרמטרים

  • נתיב

    מחרוזת

    נתיב המערכת של היציאה הטורית שרוצים לפתוח.

  • options

    ConnectionOptions אופציונלי

    אפשרויות להגדרת יציאה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (connectionInfo: ConnectionInfo) => void

החזרות

  • Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

הניתוק מיציאה טורית.

פרמטרים

  • connectionId

    number

    המזהה של החיבור שנפתח.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

מרוקן את כל הבייטים במאגרי הקלט והפלט של החיבור הנתון.

פרמטרים

  • connectionId

    number

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

מאחזר את רשימת החיבורים ליציאות טוריות שפתוחים כרגע ושנמצאים בבעלות האפליקציה.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (connectionInfos: ConnectionInfo[]) => void

החזרות

  • Promise<ConnectionInfo[]>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

הפונקציה מאחזרת את המצב של אותות בקרה בחיבור נתון.

פרמטרים

  • connectionId

    number

    המזהה של החיבור.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (signals: DeviceControlSignals) => void

החזרות

  • Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

מחזירה מידע על מכשירים סריאליים שזמינים במערכת. הרשימה נוצרת מחדש בכל פעם שמבצעים קריאה לשיטה הזו.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (ports: DeviceInfo[]) => void

החזרות

  • Promise<DeviceInfo[]>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

אחזור המצב של חיבור נתון.

פרמטרים

  • connectionId

    number

    המזהה של החיבור שנפתח.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (connectionInfo: ConnectionInfo) => void

החזרות

  • Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

כתיבת נתונים לחיבור שצוין.

פרמטרים

  • connectionId

    number

    המזהה של החיבור.

  • נתונים

    ArrayBuffer

    הנתונים לשליחה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (sendInfo: SendInfo) => void

החזרות

  • Promise<SendInfo>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

setBreak()

Promise Chrome 45+
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

הפונקציה משעה את שידור התווים בחיבור נתון ומעבירה את קו השידור למצב הפסקה עד להפעלת הפונקציה clearBreak.

פרמטרים

  • connectionId

    number

    המזהה של החיבור.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

הגדרת המצב של אותות בקרה בחיבור נתון.

פרמטרים

  • connectionId

    number

    המזהה של החיבור.

  • אותות

    קבוצת שינויי האותות שיישלחו למכשיר.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

השהיה או ביטול השהיה של חיבור פתוח.

פרמטרים

  • connectionId

    number

    המזהה של החיבור שנפתח.

  • מושהה

    בוליאני

    סימון שמציין אם להשהות או לבטל את ההשהיה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

מעדכנים את הגדרות האפשרות בחיבור פתוח של יציאה טורית.

פרמטרים

  • connectionId

    number

    המזהה של החיבור שנפתח.

  • אפשרויות להגדרת יציאה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.

אירועים

onReceive

chrome.serial.onReceive.addListener(
  callback: function,
)

אירוע שמופעל כשנתונים נקראים מהחיבור.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (info: ReceiveInfo) => void

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

אירוע שמופעל כשהתרחשה שגיאה בזמן שהסביבה העיקרית המתינה לנתונים ביציאה הטורית. אחרי שהאירוע הזה מופעל, יכול להיות שהחיבור יוגדר כ-paused. שגיאה ב-"timeout" לא גורמת להשהיית החיבור.

פרמטרים