Opis
Interfejs API chrome.serial
umożliwia odczyt i zapis na urządzeniu podłączonym do portu szeregowego.
Uprawnienia
serial
Typy
ConnectionInfo
Właściwości
-
bitrate
Liczba opcjonalnie
Zobacz
ConnectionOptions.bitrate
. Jeśli używana jest niestandardowa szybkość transmisji bitów lub wystąpił błąd podczas wysyłania zapytania do powiązanego urządzenia, to pole może zostać pominięte lub może być niedokładne. -
bufferSize
Liczba
Zobacz:
ConnectionOptions.bufferSize
-
connectionId
Liczba
Identyfikator połączenia z portem szeregowym.
-
ctsFlowControl
wartość logiczna opcjonalna
Zobacz
ConnectionOptions.ctsFlowControl
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia bazowego wystąpił błąd. -
dataBits
Opcjonalne DataBits
Zobacz
ConnectionOptions.dataBits
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia bazowego wystąpił błąd. -
nazwa
string,
Zobacz:
ConnectionOptions.name
-
parityBit
ParityBit opcjonalnie
Zobacz
ConnectionOptions.parityBit
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia bazowego wystąpił błąd. -
wstrzymane
boolean
Flaga z informacją, czy połączenie jest zablokowane i nie można uruchamiać zdarzeń onpickup.
-
trwałe
boolean
Zobacz:
ConnectionOptions.persistent
-
receiveTimeout
Liczba
Zobacz:
ConnectionOptions.receiveTimeout
-
sendTimeout
Liczba
Zobacz:
ConnectionOptions.sendTimeout
-
stopBits
StopBits opcjonalnie
Zobacz
ConnectionOptions.stopBits
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia bazowego wystąpił błąd.
ConnectionOptions
Właściwości
-
bitrate
Liczba opcjonalnie
Żądana szybkość transmisji bitów połączenia, które ma zostać otwarte. Aby zapewnić zgodność z szeroką gamą sprzętu, ta liczba powinna być zgodna z jedną z powszechnie dostępnych szybkości transmisji bitów, np. 110, 300, 1200, 2400, 4800, 9600, 14 400, 19 200, 38 400, 57 600, 115 200. Nie ma oczywiście gwarancji, że urządzenie podłączone do portu szeregowego będzie obsługiwać żądaną szybkość transmisji bitów, nawet jeśli sam port obsługuje tę szybkość. Kod
9600
będzie przekazywany domyślnie. -
bufferSize
Liczba opcjonalnie
Rozmiar bufora używanego do odbierania danych. Wartość domyślna to 4096.
-
ctsFlowControl
wartość logiczna opcjonalna
Flaga z informacją, czy włączyć sprzętowe sterowanie przepływem sprzętowym RTS/CTS. Wartość domyślna to fałsz.
-
dataBits
Opcjonalne DataBits
Kod
"eight"
będzie przekazywany domyślnie. -
nazwa
ciąg znaków opcjonalny
Zdefiniowany przez aplikację ciąg znaków do powiązania z połączeniem.
-
parityBit
ParityBit opcjonalnie
Kod
"no"
będzie przekazywany domyślnie. -
trwałe
wartość logiczna opcjonalna
Flaga z informacją, czy połączenie powinno być otwarte, gdy aplikacja jest zawieszona (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po załadowaniu aplikacji wszystkie połączenia szeregowe otwarte wcześniej z parametrem trwały=true można pobrać za pomocą funkcji
getConnections
. -
receiveTimeout
Liczba opcjonalnie
Maksymalny czas (w milisekundach) oczekiwania na nowe dane przed zgłoszeniem zdarzenia
onReceiveError
z błędem przekroczenia limitu czasu. Jeśli wartość wynosi zero, błędy limitu czasu odbierania nie będą zgłaszane w przypadku tego połączenia. Domyślna wartość to 0. -
sendTimeout
Liczba opcjonalnie
Maksymalny czas (w milisekundach) oczekiwania na zakończenie operacji
send
przed wywołaniem wywołania zwrotnego z błędem „przekroczenia limitu czasu”. Jeśli wartość wynosi zero, błędy przekroczenia limitu czasu wysyłania nie będą się pojawiać. Domyślna wartość to 0. -
stopBits
StopBits opcjonalnie
Kod
"one"
będzie przekazywany domyślnie.
DataBits
Enum
DeviceControlSignals
Właściwości
-
cts
boolean
CTS (Clear To Send)
-
prąd stały
boolean
DCD (wykrywanie operatora danych) lub RLSD (sygnał z linii odbierania)
-
dsr
boolean
Lustrzanka cyfrowa (zestaw danych gotowa).
-
ri
boolean
RI (wskaźnik pierścieniowy).
DeviceInfo
Właściwości
-
displayName
ciąg znaków opcjonalny
Zrozumiała dla człowieka wyświetlana nazwa urządzenia bazowego, jeśli można o nią wysyłać zapytania do sterownika hosta.
-
ścieżka
string,
Ścieżka systemowa urządzenia. Należy go przekazać jako argument
path
dochrome.serial.connect
, aby połączyć się z tym urządzeniem. -
productId
Liczba opcjonalnie
Identyfikator produktu USB, jeśli można go określić dla urządzenia.
-
vendorId
Liczba opcjonalnie
Identyfikator dostawcy PCI lub USB, jeśli można go określić dla urządzenia.
HostControlSignals
Właściwości
-
dtr
wartość logiczna opcjonalna
DTR (Data Terminal Ready).
-
RTS
wartość logiczna opcjonalna
RTS (prośba o wysłanie).
ParityBit
Enum
ReceiveError
Enum
"disconnect"
Połączenie zostało rozłączone.
"timeout"
Nie otrzymano danych przez receiveTimeout
milisekund.
"device_lost"
Najprawdopodobniej urządzenie zostało odłączone od hosta.
"break"
Urządzenie wykryło warunek awarii.
"frame_error"
Urządzenie wykryło błąd kadrowania.
"overrun"
Przekroczenie bufora znaków. Następny znak zostanie zgubiony.
"buffer_overflow"
Wystąpił przepełnienie bufora wejściowego. W buforze nie ma miejsca lub po znaku końca pliku (EOF) odebrano znak.
"parity_error"
Urządzenie wykryło błąd parytetu.
"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.
ReceiveErrorInfo
Właściwości
-
connectionId
Liczba
Identyfikator połączenia.
-
error
Kod błędu wskazujący, co poszło nie tak.
ReceiveInfo
Właściwości
-
connectionId
Liczba
Identyfikator połączenia.
-
dane
ArrayBuffer
Dane odebrane.
SendError
Enum
"disconnect"
Połączenie zostało rozłączone.
"pending"
Wiadomość była już w stanie oczekiwania.
"timeout"
Upłynął limit czasu wysyłania.
"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.
SendInfo
Właściwości
-
bytesSent
Liczba
Liczba wysłanych bajtów.
-
error
SendError opcjonalnie
Kod błędu, jeśli wystąpił błąd.
StopBits
Enum
Metody
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Przywróć transmisję znaków w danym połączeniu i umieść linię przesyłania w stanie nieprzerwanym.
Parametry
-
connectionId
Liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Łączy się z danym portem szeregowym.
Parametry
-
ścieżka
string,
Ścieżka systemowa portu szeregowego, który ma zostać otwarty.
-
Opcje
Opcjonalne ConnectionOptions
Opcje konfiguracji portów.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Akcje powrotne
-
Promise<ConnectionInfo>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Odłącza się od portu szeregowego.
Parametry
-
connectionId
Liczba
Identyfikator otwartego połączenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Opróżni wszystkie bajty z buforów danych wejściowych i wyjściowych danego połączenia.
Parametry
-
connectionId
Liczba
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Pobiera listę obecnie otwartych połączeń z portami szeregowymi należących do aplikacji.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Akcje powrotne
-
Promise<ConnectionInfo[]>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Pobiera stan sygnałów sterujących dla danego połączenia.
Parametry
-
connectionId
Liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(signals: DeviceControlSignals) => void
-
sygnały
-
Akcje powrotne
-
Promise<DeviceControlSignals>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Zwraca informacje o urządzeniach szeregowych dostępnych w systemie. Lista jest generowana ponownie przy każdym wywołaniu tej metody.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(ports: DeviceInfo[]) => void
-
ports
-
Akcje powrotne
-
Promise<DeviceInfo[]>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Pobiera stan danego połączenia.
Parametry
-
connectionId
Liczba
Identyfikator otwartego połączenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Akcje powrotne
-
Promise<ConnectionInfo>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Zapisuje dane w podanym połączeniu.
Parametry
-
connectionId
Liczba
Identyfikator połączenia.
-
dane
ArrayBuffer
Dane do wysłania.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(sendInfo: SendInfo) => void
-
sendInfo
-
Akcje powrotne
-
Promise<SendInfo>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Zawiesza transmisję znaków na danym połączeniu i umieszcza linię przesyłania w stan przerwania do czasu wywołania metody clearBreak.
Parametry
-
connectionId
Liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
Ustawia stan sygnałów sterujących w danym połączeniu.
Parametry
-
connectionId
Liczba
Identyfikator połączenia.
-
sygnały
Zestaw sygnałów zmieni się, aby wysłać go do urządzenia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
wstrzymuje lub wznawia otwarte połączenie.
Parametry
-
connectionId
Liczba
Identyfikator otwartego połączenia.
-
wstrzymane
boolean
Flaga określająca, czy wstrzymać, czy wznowić.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Zaktualizuj ustawienia opcji dla otwartego połączenia z portem szeregowym.
Parametry
-
connectionId
Liczba
Identyfikator otwartego połączenia.
-
Opcje
Opcje konfiguracji portów.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
boolean
-
Akcje powrotne
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane po odczytaniu danych z połączenia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveInfo) => void
-
informacje
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Zdarzenie zgłoszone, gdy wystąpił błąd, gdy środowisko wykonawcze czekało na dane na porcie szeregowym. Po zgłoszeniu tego zdarzenia połączenie może być ustawione na paused
. Błąd "timeout"
nie wstrzyma połączenia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-