chrome.serial

תיאור

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

הרשאות

serial

סוגים

ConnectionInfo

תכונות

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

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

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

  • bufferSize

    מספר

    הצגה של ConnectionOptions.bufferSize

  • connectionId

    מספר

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

  • ctsFlowControl

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

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

  • dataBits

    DataBits אופציונלי

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

  • name

    מחרוזת

    הצגה של ConnectionOptions.name

  • parityBit

    ParityBit אופציונלי

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

  • מושהה

    boolean

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

  • מתמיד

    boolean

    הצגה של ConnectionOptions.persistent

  • receiveTimeout

    מספר

    הצגה של ConnectionOptions.receiveTimeout

  • sendTimeout

    מספר

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

  • name

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

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

  • parityBit

    ParityBit אופציונלי

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

  • מתמיד

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

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

  • receiveTimeout

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

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

  • sendTimeout

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

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

  • stopBits

    StopBits אופציונלי

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

DataBits

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

DeviceControlSignals

תכונות

  • cts

    boolean

    CTS (ניקוי לשליחה).

  • DCD

    boolean

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

  • DSr

    boolean

    DSR (מערך הנתונים מוכן).

  • רי

    boolean

    RI (מחוון טבעת).

DeviceInfo

תכונות

  • displayName

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

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

  • נתיב

    מחרוזת

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

  • productId

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

    מזהה מוצר USB, אם ניתן לזהות אותו עבור מכשיר הבסיס.

  • vendorId

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

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

HostControlSignals

תכונות

  • dtr

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

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

  • rts

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

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

ParityBit

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

ReceiveError

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

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

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

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

"break"
המכשיר זיהה מצב של שבירה.

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

"חריגה"
אירעה חריגה של מאגר נתונים זמני. התו הבא אבד.

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

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

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

ReceiveErrorInfo

תכונות

  • connectionId

    מספר

    מזהה החיבור.

  • error

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

ReceiveInfo

תכונות

  • connectionId

    מספר

    מזהה החיבור.

  • נתונים

    ArrayBuffer

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

SendError

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

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

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

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

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

SendInfo

תכונות

  • bytesSent

    מספר

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

  • error

    SendError אופציונלי

    קוד שגיאה, במקרה שאירעה שגיאה.

StopBits

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

שיטות

clearBreak()

Promise Chrome 45 ואילך
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

שחזור העברת תווים בחיבור נתון והצבת קו השידור במצב רציף.

פרמטרים

  • connectionId

    מספר

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

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

connect()

הבטחה
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)

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

פרמטרים

  • נתיב

    מחרוזת

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

  • אפשרויות

    ConnectionOptions אופציונלי

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

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

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

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

    (connectionInfo: ConnectionInfo)=>void

החזרות

  • Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

disconnect()

הבטחה
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

flush()

הבטחה
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getConnections()

הבטחה
chrome.serial.getConnections(
  callback?: function,
)

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

פרמטרים

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

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

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

    (connectionInfos: ConnectionInfo[])=>void

החזרות

  • Promise<ConnectionInfo[]>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getControlSignals()

הבטחה
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

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

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

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

    (signals: DeviceControlSignals)=>void

החזרות

  • Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getDevices()

הבטחה
chrome.serial.getDevices(
  callback?: function,
)

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

פרמטרים

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

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

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

    (ports: DeviceInfo[])=>void

החזרות

  • Promise<DeviceInfo[]>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getInfo()

הבטחה
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

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

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

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

    (connectionInfo: ConnectionInfo)=>void

החזרות

  • Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

send()

הבטחה
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

  • נתונים

    ArrayBuffer

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

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

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

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

    (sendInfo: SendInfo)=>void

החזרות

  • Promise<SendInfo>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

setBreak()

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

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

פרמטרים

  • connectionId

    מספר

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

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

setControlSignals()

הבטחה
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

  • אותות

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

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

setPaused()

הבטחה
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

  • מושהה

    boolean

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

update()

הבטחה
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)

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

פרמטרים

  • connectionId

    מספר

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

  • אפשרויות

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

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

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

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

    (result: boolean)=>void

    • תוצאה אחת

      boolean

החזרות

  • Promise<boolean>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

אירועים

onReceive

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

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

פרמטרים

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

    פונקציה

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

    (info: ReceiveInfo)=>void

onReceiveError

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

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

פרמטרים