תיאור
שימוש ב-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()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
שחזור העברת תווים בחיבור נתון והצבת קו התמסורת במצב ללא הפסקה.
פרמטרים
-
connectionId
number
המזהה של החיבור.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה
בוליאני
-
החזרות
-
Promise<boolean>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
חיבור ליציאה טורית נתונה.
פרמטרים
-
נתיב
מחרוזת
נתיב המערכת של היציאה הטורי שרוצים לפתוח.
-
אפשרויות
ConnectionOptions אופציונלי
אפשרויות תצורה של יציאות.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
החזרות
-
Promise<ConnectionInfo>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
ניתוק מיציאה טורית.
פרמטרים
-
connectionId
number
המזהה של החיבור שנפתח.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה
בוליאני
-
החזרות
-
Promise<boolean>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
שטיפה של כל הבייטים במאגרי הקלט והפלט של החיבור הנתון.
פרמטרים
-
connectionId
number
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה
בוליאני
-
החזרות
-
Promise<boolean>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
אחזור הרשימה של חיבורי היציאה הטורי שנפתחו כרגע ובבעלות האפליקציה.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
החזרות
-
Promise<ConnectionInfo[]>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
אחזור המצב של אותות הבקרה בחיבור נתון.
פרמטרים
-
connectionId
number
המזהה של החיבור.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(signals: DeviceControlSignals) => void
-
אותות
-
החזרות
-
Promise<DeviceControlSignals>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
הפונקציה מחזירה מידע על מכשירים סריאליים זמינים במערכת. הרשימה נוצרת מחדש בכל פעם שמפעילים את השיטה הזו.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(ports: DeviceInfo[]) => void
-
ports
-
החזרות
-
Promise<DeviceInfo[]>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
אחזור המצב של חיבור נתון.
פרמטרים
-
connectionId
number
המזהה של החיבור שנפתח.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
החזרות
-
Promise<ConnectionInfo>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
כתיבת נתונים לחיבור הנתונים הנתון.
פרמטרים
-
connectionId
number
המזהה של החיבור.
-
נתונים
ArrayBuffer
הנתונים שרוצים לשלוח.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(sendInfo: SendInfo) => void
-
sendInfo
-
החזרות
-
Promise<SendInfo>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
השהיה של העברת תווים בחיבור נתון והעברת קו התקשורת למצב הפסקה עד להפעלת clearBreak.
פרמטרים
-
connectionId
number
המזהה של החיבור.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: boolean) => void
-
תוצאה
בוליאני
-
החזרות
-
Promise<boolean>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setControlSignals()
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()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
השהיה או ביטול השהיה של חיבור פתוח.
פרמטרים
-
connectionId
number
המזהה של החיבור שנפתח.
-
מושהה
בוליאני
סימון שמציין אם להשהות או לבטל את ההשהיה.
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 117 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
update()
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"
לא משהה את החיבור.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(info: ReceiveErrorInfo) => void
-
מידע
-