chrome.serial

תיאור

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

הרשאות

serial

זמינות

ChromeOS בלבד

סוגים

ConnectionInfo

מאפיינים

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

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

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

  • bufferSize

    number

    הצגה של ConnectionOptions.bufferSize

  • connectionId

    number

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

  • ctsFlowControl

    בוליאני אופציונלי

    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, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. כמובן שאין ערובה לכך שהמכשיר שמחובר ליציאה הטורית יתמוך בקצב העברת הנתונים המבוקש, גם אם היציאה עצמה תומכת בקצב העברת הנתונים הזה. הערך 9600 יועבר כברירת מחדל.

  • bufferSize

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

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

  • ctsFlowControl

    בוליאני אופציונלי

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

  • dataBits

    ‫DataBits אופציונלי

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

  • שם

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

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

  • parityBit

    ParityBit אופציונלי

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

  • קבוע

    בוליאני אופציונלי

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

  • receiveTimeout

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

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

  • sendTimeout

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

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

  • stopBits

    StopBits אופציונלי

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

DataBits

טיפוסים בני מנייה (enum)

"seven"

"eight"

DeviceControlSignals

מאפיינים

  • cts

    בוליאני

    ‫CTS (מוכן לשליחה).

  • dcd

    בוליאני

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

  • dsr

    בוליאני

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

  • ri

    בוליאני

    ‫RI (אינדיקטור צלצול).

DeviceInfo

מאפיינים

  • displayName

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

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

  • נתיב

    מחרוזת

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

  • productId

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

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

  • vendorId

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

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

HostControlSignals

מאפיינים

  • dtr

    בוליאני אופציונלי

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

  • rts

    בוליאני אופציונלי

    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"
החיבור נותק.

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

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

‫"system_error"
אירעה שגיאת מערכת ויכול להיות שלא ניתן לשחזר את החיבור.

SendInfo

מאפיינים

  • bytesSent

    number

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

  • error

    ‫SendError אופציונלי

    קוד שגיאה, אם קרתה שגיאה.

StopBits

טיפוסים בני מנייה (enum)

"one"

"שתיים"

Methods

clearBreak()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

connect()

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

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

פרמטרים

  • נתיב

    מחרוזת

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

  • אפשרויות

    ‫ConnectionOptions אופציונלי

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

  • callback

    function optional

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

    (connectionInfo: ConnectionInfo) => void

החזרות

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

disconnect()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

flush()

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

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

פרמטרים

  • connectionId

    number

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getConnections()

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

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

פרמטרים

  • callback

    function optional

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

    (connectionInfos: ConnectionInfo[]) => void

החזרות

  • Promise<ConnectionInfo[]>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getControlSignals()

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

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

פרמטרים

החזרות

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getDevices()

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

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

פרמטרים

  • callback

    function optional

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

    (ports: DeviceInfo[]) => void

החזרות

  • Promise<DeviceInfo[]>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getInfo()

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

אחזור הסטטוס של חיבור נתון.

פרמטרים

  • connectionId

    number

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

  • callback

    function optional

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

    (connectionInfo: ConnectionInfo) => void

החזרות

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

send()

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

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

פרמטרים

  • connectionId

    number

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

  • נתונים

    ArrayBuffer

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

  • callback

    function optional

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

    (sendInfo: SendInfo) => void

החזרות

  • Promise<SendInfo>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

setBreak()

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

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

פרמטרים

  • connectionId

    number

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

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

setControlSignals()

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

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

פרמטרים

  • connectionId

    number

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

  • אותות

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

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

setPaused()

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

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

פרמטרים

  • connectionId

    number

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

  • מושהה

    בוליאני

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

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

update()

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

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

פרמטרים

  • connectionId

    number

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

  • אפשרויות

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

  • callback

    function optional

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

    (result: boolean) => void

    • תוצאה

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

אירועים

onReceive

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

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

פרמטרים

  • callback

    פונקציה

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

    (info: ReceiveInfo) => void

onReceiveError

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

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

פרמטרים