chrome.serial

תיאור

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

הרשאות

serial

זמינות

ל-ChromeOS בלבד

סוגים

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 (אינדיקטור צלצול).

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 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

connect()

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

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

פרמטרים

  • נתיב

    מחרוזת

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

  • options

    ConnectionOptions אופציונלי

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

  • callback

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

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

    (connectionInfo: ConnectionInfo) => void

החזרות

  • Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

disconnect()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

flush()

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

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

פרמטרים

  • connectionId

    number

  • callback

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getConnections()

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

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

פרמטרים

  • callback

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

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

    (connectionInfos: ConnectionInfo[]) => void

החזרות

  • Promise<ConnectionInfo[]>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getControlSignals()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

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

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

    (signals: DeviceControlSignals) => void

החזרות

  • Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getDevices()

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

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

פרמטרים

  • callback

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

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

    (ports: DeviceInfo[]) => void

החזרות

  • Promise<DeviceInfo[]>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getInfo()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

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

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

    (connectionInfo: ConnectionInfo) => void

החזרות

  • Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

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 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

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 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

setControlSignals()

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

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

פרמטרים

  • connectionId

    number

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

  • אותות

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

  • callback

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

setPaused()

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

הפסקת חיבור פתוח או הפעלה שלו.

פרמטרים

  • connectionId

    number

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

  • מושהה

    בוליאני

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

update()

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

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

פרמטרים

  • connectionId

    number

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

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

  • callback

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

אירועים

onReceive

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

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

פרמטרים

  • callback

    פונקציה

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

    (info: ReceiveInfo) => void

onReceiveError

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

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

פרמטרים