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 z portem szeregowym.
-
ctsFlowControl
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
DataBits opcjonalne
Zobacz
ConnectionOptions.dataBits
. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia źródłowego 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 wskazująca, czy połączenie jest zablokowane przed wywołaniem zdarzeń onReceive.
-
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 wykonywania zapytania dotyczącego urządzenia źródłowego 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 jak największą liczbą urządzeń, ta liczba powinna odpowiadać jednej z powszechnie dostępnych szybkości transmisji danych, takich jak 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. 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
zostanie przekazana 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"
zostanie przekazana domyślnie. -
nazwa
ciąg znaków opcjonalny
Zdefiniowany przez aplikację ciąg tekstowy 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”. 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, nie będą wysyłane błędy przekroczenia czasu oczekiwania na połączenie. Domyślna wartość to 0. -
sendTimeout
number opcjonalny
Maksymalny czas (w milisekundach) oczekiwania na zakończenie operacji
send
przed wywołaniem zwrotnym z „limitem czasu” . Jeśli wartość wynosi 0, nie będą wywoływane błędy związane z czasem oczekiwania na wysyłanie. Domyślna wartość to 0. -
stopBits
StopBits opcjonalny
Wartość
"one"
zostanie przekazana domyślnie.
DataBits
Typ wyliczeniowy
„seven”
DeviceControlSignals
Właściwości
-
CTR
wartość logiczna
CTS (Clear To Send).
-
dcd
wartość logiczna
DCD (Data Carrier Detect) lub RLSD (Receive Line Signal/Detect).
-
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 podstawowego urządzenia, jeśli można ją zapytać z sterownika hosta.
-
ścieżka
ciąg znaków
Ścieżka systemowa urządzenia. Aby połączyć się z tym urządzeniem, należy przekazać ten parametr jako argument
path
do funkcjichrome.serial.connect
. -
productId
liczba opcjonalnie
Identyfikator produktu USB, jeśli można go ustalić dla danego urządzenia.
-
vendorId
number opcjonalny
Identyfikator dostawcy PCI lub USB, jeśli można go ustalić w przypadku danego urządzenia.
HostControlSignals
Właściwości
-
dtr
logiczna opcjonalna
DTR (Data Terminal Ready).
-
RT
logiczna opcjonalna
RTS (prośba o wysłanie).
ParityBit
Typ wyliczeniowy
"no"
„odd”
„even”
ReceiveError
Typ wyliczeniowy
„disconnected” (rozłączone)
Połączenie zostało przerwane.
"timeout"
Nie odebrano danych od receiveTimeout
milisekund.
"device_lost"
Urządzenie zostało prawdopodobnie 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
ArrayBuffer
Dane odebrane.
SendError
Typ wyliczeniowy
„disconnected” (rozłączone)
Połączenie zostało przerwane.
"pending"
Oczekuje na wysłanie.
„timeout”
Wystąpił 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
SendError opcjonalnie
Kod błędu, który wystąpił w przypadku wystąpienia błędu.
StopBits
Typ wyliczeniowy
„one”
"two"
Metody
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Przywrócić transmisję znaków na danym połączeniu i ustawić linię transmisji w stanie bez przerwy.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszejObietnice 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
ConnectionOptions opcjonalne
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 nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
function opcjonalny
Parametr
callback
ma postać:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Wyrzuca wszystkie bajty z buforów 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 nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
ma postać:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Zwroty
-
Promise<ConnectionInfo[]>
Chrome w wersji 117 lub nowszejObietnice 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
function opcjonalny
Parametr
callback
ma postać:(signals: DeviceControlSignals) => void
-
sygnały
-
Zwroty
-
Obietnica<DeviceControlSignals>
Chrome w wersji 117 lub nowszejObietnice 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 z numerem seryjnym w systemie. Lista jest generowana ponownie przy każdym wywołaniu tej metody.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
ma postać:(ports: DeviceInfo[]) => void
-
ports
-
Zwroty
-
Promise<DeviceInfo[]>
Chrome w wersji 117 lub nowszejObietnice 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
function opcjonalny
Parametr
callback
wygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Zwroty
-
Obietnica<ConnectionInfo>
Chrome w wersji 117 lub nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Zapisuje dane w danym połączeniu.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
dane
ArrayBuffer
Dane do wysłania.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(sendInfo: SendInfo) => void
-
sendInfo
-
Zwroty
-
Obietnica<SendInfo>
Chrome w wersji 117 lub nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Wstrzymuje transmisję znaków w danym połączeniu i przełącza linię transmisji w stan przerwy do momentu wywołania 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 nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
Zbiór zmian sygnału do wysłania do urządzenia.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome w wersji 117 lub nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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 wskazująca, czy wstrzymać czy wznowić.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 117 lub nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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 nowszejObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
ma postać:(info: ReceiveInfo) => void
-
informacje
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Zdarzenie wywoływane, gdy podczas oczekiwania na dane na porcie szeregowym wystąpił błąd. Po zgłoszeniu tego zdarzenia połączenie może zostać ustawione na paused
. Błąd "timeout"
nie powoduje wstrzymania połączenia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-