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 אופציונלי

    סימון שמציין אם להפעיל או להשבית בקרת תעבורת נתונים (flow control) בחומרה של RTS/CTS. ברירת המחדל היא false.

  • dataBits

    DataBits אופציונלי

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

  • שם

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

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

  • parityBit

    ParityBit אופציונלי

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

  • קבוע

    boolean אופציונלי

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

  • receiveTimeout

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

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

  • sendTimeout

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

    משך הזמן המקסימלי (באלפיות שנייה) להמתנה להשלמת פעולת send לפני קריאה ל-callback עם השגיאה 'זמן קצוב פג'. אם הערך הוא אפס, לא יופעלו שגיאות של זמן קצוב לשליחה. ברירת המחדל היא 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 (Data Terminal Ready).

  • rts

    boolean אופציונלי

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

ParityBit

Enum

"no"

"odd"

"even"

ReceiveError

Enum

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

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

"device_lost"
סביר להניח שהמכשיר התנתק מהמארח.

"break"
המכשיר זיהה תנאי הפסקה.

‎"frame_error"
המכשיר זיהה שגיאה בפריימים.

"overrun"
אירעה חריגה ממאגר התווים. התו הבא לא נקלט.

"buffer_overflow"
אירעה חריגה של מאגר נתונים (buffer) להזנת נתונים. אין מקום במאגר הקלט, או שהתקבל תו אחרי תו סיום הקובץ (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,
)

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

פרמטרים

  • connectionId

    number

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

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

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

connect()

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

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

פרמטרים

  • נתיב

    מחרוזת

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

  • אפשרויות

    ConnectionOptions אופציונלי

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

  • קריאה חוזרת (callback)

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

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

    (connectionInfo: ConnectionInfo) => void

החזרות

  • גרסה 117 ואילך של Chrome

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

disconnect()

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

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

פרמטרים

  • connectionId

    number

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

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

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

flush()

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

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

פרמטרים

  • connectionId

    number

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

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

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)

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

פרמטרים

  • קריאה חוזרת (callback)

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

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

    (connectionInfos: ConnectionInfo[]) => void

החזרות

  • Promise<ConnectionInfo[]>

    גרסה 117 ואילך של Chrome

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

getControlSignals()

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

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

פרמטרים

  • connectionId

    number

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

  • קריאה חוזרת (callback)

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

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

    (signals: DeviceControlSignals) => void

החזרות

  • גרסה 117 ואילך של Chrome

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

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)

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

פרמטרים

  • קריאה חוזרת (callback)

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

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

    (ports: DeviceInfo[]) => void

החזרות

  • Promise<DeviceInfo[]>

    גרסה 117 ואילך של Chrome

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

getInfo()

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

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

פרמטרים

  • connectionId

    number

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

  • קריאה חוזרת (callback)

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

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

    (connectionInfo: ConnectionInfo) => void

החזרות

  • גרסה 117 ואילך של Chrome

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

send()

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

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

פרמטרים

  • connectionId

    number

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

  • נתונים

    ArrayBuffer

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

  • קריאה חוזרת (callback)

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

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

    (sendInfo: SendInfo) => void

החזרות

  • Promise<SendInfo>

    גרסה 117 ואילך של Chrome

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

setBreak()

Promise Chrome מגרסה 45 ואילך
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

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

פרמטרים

  • connectionId

    number

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

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

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

setControlSignals()

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

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

פרמטרים

  • connectionId

    number

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

  • אותות

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

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

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

setPaused()

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

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

פרמטרים

  • connectionId

    number

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

  • מושהה

    בוליאני

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

  • קריאה חוזרת (callback)

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

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

    () => void

החזרות

  • Promise<void>

    גרסה 117 ואילך של Chrome

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

update()

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

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

פרמטרים

  • connectionId

    number

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

  • אפשרויות

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

  • קריאה חוזרת (callback)

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

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    גרסה 117 ואילך של Chrome

    יש תמיכה ב-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" לא משהה את החיבור.

פרמטרים