Opis
Interfejs API chrome.serial
służy do odczytu i zapisu na urządzeniu podłączonym do portu szeregowego.
Uprawnienia
serial
Typy
ConnectionInfo
Właściwości
-
bitrate
liczba opcjonalnie
Zobacz
ConnectionOptions.bitrate
. To pole może zostać pominięte lub nieprawidłowe, jeśli używana jest niestandardowa szybkość transmisji bitów albo jeśli podczas wysyłania zapytania dotyczącego urządzenia wystąpił błąd. -
bufferSize
liczba
Zobacz:
ConnectionOptions.bufferSize
-
connectionId
liczba
Identyfikator połączenia przez port szeregowy.
-
ctsFlowControl
Wartość logiczna opcjonalna
Zobacz
ConnectionOptions.ctsFlowControl
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia wystąpił błąd. -
dataBits
Opcjonalny DataBits
Zobacz
ConnectionOptions.dataBits
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia wystąpił błąd. -
nazwa
ciąg znaków
Zobacz:
ConnectionOptions.name
-
parityBit
Opcjonalny ParityBit
Zobacz
ConnectionOptions.parityBit
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia wystąpił błąd. -
wstrzymana
wartość logiczna
Flaga z informacją, czy uruchamianie zdarzeń onReceive przez połączenie jest zablokowane.
-
trwała
wartość logiczna
Zobacz:
ConnectionOptions.persistent
-
receiveTimeout
liczba
Zobacz:
ConnectionOptions.receiveTimeout
-
sendTimeout
liczba
Zobacz:
ConnectionOptions.sendTimeout
-
stopBits
StopBits (opcjonalne)
Zobacz
ConnectionOptions.stopBits
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia 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 najszerszym zakresem sprzętowym, ta liczba powinna być zgodna z jedną z powszechnie dostępnych szybkości transmisji bitów, np. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115 200. Nie da się jednak zagwarantować, że urządzenie podłączone do portu szeregowego będzie obsługiwać żądaną szybkość transmisji bitów, nawet jeśli jest ona obsługiwana przez sam port. Wartość
9600
będzie przekazywana domyślnie. -
bufferSize
liczba opcjonalnie
Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.
-
ctsFlowControl
Wartość logiczna opcjonalna
Flaga z informacją, czy włączyć sterowanie przepływem sprzętu RTS/CTS Wartość domyślna to fałsz.
-
dataBits
Opcjonalny DataBits
Wartość
"eight"
będzie przekazywana domyślnie. -
nazwa
ciąg znaków opcjonalny
Zdefiniowany przez aplikację ciąg do powiązania z połączeniem.
-
parityBit
Opcjonalny ParityBit
Wartość
"no"
będzie przekazywana domyślnie. -
trwała
Wartość logiczna opcjonalna
Flaga z informacją, czy połączenie powinno pozostać otwarte po zawieszeniu aplikacji (zobacz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false” (fałsz). Podczas wczytywania aplikacji wszystkie połączenia szeregowe otwarte wcześniej z ustawieniem stałego=true mogą być pobierane za pomocą funkcji
getConnections
. -
receiveTimeout
liczba opcjonalnie
Maksymalny czas (w milisekundach) oczekiwania na nowe dane przed wywołaniem zdarzenia
onReceiveError
z „limitem czasu” . Jeśli wartość wynosi 0, błędy limitu czasu odbierania nie będą zgłaszane dla połączenia. Domyślna wartość to 0. -
sendTimeout
liczba opcjonalnie
Maksymalny czas (w milisekundach) oczekiwania na zakończenie operacji
send
przed wywołaniem zwrotnym z „limitem czasu” . Jeśli ustawisz wartość zero, błędy limitu czasu wysyłania nie będą wywoływane. Domyślna wartość to 0. -
stopBits
StopBits (opcjonalne)
Wartość
"one"
będzie przekazywana domyślnie.
DataBits
Typ wyliczeniowy
"seven"
"osiem"
DeviceControlSignals
Właściwości
-
CTR
wartość logiczna
CTS (Clear To Send).
-
dcd
wartość logiczna
DCD (Data Carrier Detect) lub RLSD (sygnał/ wykrywanie sygnału linii odbierającej).
-
dsr
wartość logiczna
DSR (gotowy zbiór danych).
-
ri
wartość logiczna
RI (wskaźnik pierścienia).
DeviceInfo
Właściwości
-
wyświetlanaNazwa
ciąg znaków opcjonalny
Zrozumiała dla człowieka wyświetlana nazwa urządzenia, jeśli można ją odczytać ze sterownika hosta.
-
ścieżka
ciąg znaków
Ścieżka systemowa urządzenia. Należy to przekazać jako argument
path
dochrome.serial.connect
, aby można było połączyć się z tym urządzeniem. -
productId
liczba opcjonalnie
Identyfikator produktu USB, jeśli można go ustalić dla danego urządzenia.
-
vendorId
liczba opcjonalnie
Identyfikator dostawcy PCI lub USB, jeśli można go ustalić w przypadku danego urządzenia.
HostControlSignals
Właściwości
-
dtr
Wartość logiczna opcjonalna
DTR (Data Terminal Ready).
-
RT
Wartość logiczna opcjonalna
RTS (prośba o wysłanie).
ParityBit
Typ wyliczeniowy
"no"
"odd"
"even"
ReceiveError
Typ wyliczeniowy
"disconnected"
Połączenie zostało rozłączone.
"timeout"
Nie odebrano danych od receiveTimeout
milisekund.
"device_lost"
Najprawdopodobniej urządzenie zostało odłączone od hosta.
"break"
Urządzenie wykryło warunek przerwy.
"frame_error"
Urządzenie wykryło błąd kadrowania.
"overrun"
Wystąpiło przepełnienie bufora znaków. Następny znak zostanie utracony.
"buffer_overflow"
Wystąpiło przepełnienie bufora wejściowego. W buforze danych wejściowych nie ma miejsca albo znak został odebrany po znaku końca pliku (EOF).
"parity_error"
Urządzenie wykryło błąd parzystości.
"system_error"
Wystąpił błąd systemu i połączenie może być niemożliwe do odzyskania.
ReceiveErrorInfo
Właściwości
-
connectionId
liczba
Identyfikator połączenia.
-
błąd
Kod błędu informujący o tym, co poszło nie tak.
ReceiveInfo
Właściwości
-
connectionId
liczba
Identyfikator połączenia.
-
dane
SlateBuffer
Dane odebrane.
SendError
Typ wyliczeniowy
"disconnected"
Połączenie zostało rozłączone.
"pending"
Oczekuje na wysłanie.
"timeout"
Upłynął limit czasu wysyłania.
"system_error"
Wystąpił błąd systemu i połączenie może być niemożliwe do odzyskania.
SendInfo
Właściwości
-
bytesSent
liczba
Liczba wysłanych bajtów.
-
błąd
Opcjonalne SendError
Kod błędu, który wystąpił w przypadku wystąpienia błędu.
StopBits
Typ wyliczeniowy
"one"
"dwa"
Metody
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Przywróć transmisję znaków w przypadku danego połączenia i ustaw linię przesyłania bez uszkodzenia.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Umożliwia podłączenie danego portu szeregowego.
Parametry
-
ścieżka
ciąg znaków
Ścieżka systemowa portu szeregowego do otworzenia.
-
Opcje
Opcjonalne ConnectionOptions
Opcje konfiguracji portów.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Zwroty
-
Promise<ConnectionInfo>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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 optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Opróżnia wszystkie bajty w buforach wejściowych i wyjściowych danego połączenia.
Parametry
-
connectionId
liczba
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Pobiera listę obecnie otwartych połączeń przez port szeregowy należących do aplikacji.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Zwroty
-
Promise<ConnectionInfo[]>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Pobiera stan sygnałów sterujących w danym połączeniu.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(signals: DeviceControlSignals) => void
-
sygnały
-
Zwroty
-
Promise<DeviceControlSignals>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Zwraca informacje o dostępnych urządzeniach szeregowych w systemie. Lista jest generowana ponownie przy każdym wywołaniu tej metody.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(ports: DeviceInfo[]) => void
-
ports
-
Zwroty
-
Promise<DeviceInfo[]>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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 optional
Parametr
callback
wygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Zwroty
-
Promise<ConnectionInfo>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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
SlateBuffer
Dane do wysłania.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(sendInfo: SendInfo) => void
-
sendInfo
-
Zwroty
-
Promise<SendInfo>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Zawiesza transmisję znaków w przypadku danego połączenia i umieszcza linię przesyłania w stanie przerwy do czasu wywołania metody clearBreak.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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
Zmienia się zestaw sygnałów wysyłanych do urządzenia.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, 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.
-
wstrzymana
wartość logiczna
Flaga z informacją, czy wstrzymać czy wznowić.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Zaktualizuj ustawienia opcji w otwartym połączeniu przez port szeregowy.
Parametry
-
connectionId
liczba
Identyfikator otwartego połączenia.
-
Opcje
Opcje konfiguracji portów.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Zdarzenie zgłoszone 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 oczekuje na dane na porcie szeregowym. Po zgłoszeniu tego zdarzenia połączenie może zostać ustawione na paused
. Błąd "timeout"
nie wstrzymuje połączenia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-