chrome.serial

Opis

Użyj interfejsu API chrome.serial, aby odczytywać i zapisywać dane na urządzeniu podłączonym do portu szeregowego.

Uprawnienia

serial

Dostępność

Tylko w systemie ChromeOS

Typy

ConnectionInfo

Właściwości

  • bitrate

    number optional

    Zobacz ConnectionOptions.bitrate. To pole może zostać pominięte lub być niedokładne, jeśli używana jest niestandardowa szybkość transmisji bitów lub jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.

  • bufferSize

    liczba

    Zobacz: ConnectionOptions.bufferSize

  • connectionId

    liczba

    Identyfikator połączenia z portem szeregowym.

  • ctsFlowControl

    boolean opcjonalne

    Zobacz ConnectionOptions.ctsFlowControl. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.

  • dataBits

    DataBits opcjonalny

    Zobacz ConnectionOptions.dataBits. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.

  • nazwa

    tekst

    Zobacz: ConnectionOptions.name

  • parityBit

    ParityBit opcjonalny

    Zobacz ConnectionOptions.parityBit. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy połączenie jest zablokowane i nie może wywoływać zdarzeń onReceive.

  • trwałe

    wartość logiczna

    Zobacz: ConnectionOptions.persistent

  • receiveTimeout

    liczba

    Zobacz: ConnectionOptions.receiveTimeout

  • sendTimeout

    liczba

    Zobacz: ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcjonalny

    Zobacz ConnectionOptions.stopBits. To pole można pominąć, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.

ConnectionOptions

Właściwości

  • bitrate

    number optional

    Żądana szybkość transmisji bitów połączenia, które ma zostać otwarte. Aby zapewnić zgodność z najszerszą gamą sprzętu, ta liczba powinna odpowiadać jednej z powszechnie dostępnych szybkości transmisji bitów, np. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. 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 ją obsługuje. Domyślnie przekazywana będzie wartość 9600.

  • bufferSize

    number optional

    Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.

  • ctsFlowControl

    boolean opcjonalne

    Flaga wskazująca, czy włączyć sprzętową kontrolę przepływu RTS/CTS. Wartość domyślna to fałsz.

  • dataBits

    DataBits opcjonalne

    Domyślnie przekazywana będzie wartość "eight".

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków, który ma zostać powiązany z połączeniem.

  • parityBit

    ParityBit opcjonalny

    Domyślnie przekazywana będzie wartość "no".

  • trwałe

    boolean opcjonalne

    Flaga wskazująca, czy połączenie powinno pozostać otwarte, gdy aplikacja jest zawieszona (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po wczytaniu aplikacji wszystkie połączenia szeregowe otwarte wcześniej z ustawieniem persistent=true można pobrać za pomocą getConnections.

  • receiveTimeout

    number optional

    Maksymalny czas (w milisekundach) oczekiwania na nowe dane przed wywołaniem zdarzenia onReceiveError z błędem „timeout”. Jeśli wartość wynosi 0, błędy przekroczenia limitu czasu odbioru nie będą zgłaszane w przypadku połączenia. Domyślna wartość to 0.

  • sendTimeout

    number optional

    Maksymalny czas oczekiwania (w milisekundach) na zakończenie operacji send przed wywołaniem wywołania zwrotnego z błędem „timeout”. Jeśli ustawisz wartość 0, błędy przekroczenia limitu czasu wysyłania nie będą wywoływane. Domyślna wartość to 0.

  • stopBits

    StopBits opcjonalny

    Domyślnie przekazywana będzie wartość "one".

DataBits

Typ wyliczeniowy

"seven"

"eight"

DeviceControlSignals

Właściwości

  • cts

    wartość logiczna

    CTS (Clear To Send).

  • dcd

    wartość logiczna

    DCD (Data Carrier Detect) lub RLSD (Receive Line Signal/ Detect).

  • dsr

    wartość logiczna

    DSR (Data Set Ready).

  • ri

    wartość logiczna

    RI (Ring Indicator – wskaźnik dzwonka).

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ą pobrać ze sterownika hosta.

  • ścieżka

    tekst

    Ścieżka systemowa urządzenia. Aby połączyć się z tym urządzeniem, należy przekazać go jako argument path do chrome.serial.connect.

  • productId

    number optional

    Identyfikator produktu USB, jeśli można go określić dla urządzenia podstawowego.

  • vendorId

    number optional

    Identyfikator dostawcy PCI lub USB, jeśli można go określić dla urządzenia bazowego.

HostControlSignals

Właściwości

  • dtr

    boolean opcjonalne

    DTR (Data Terminal Ready).

  • rts

    boolean opcjonalne

    RTS (Request To Send).

ParityBit

Typ wyliczeniowy

"no"

"odd"

"even"

ReceiveError

Typ wyliczeniowy

"disconnected"
Połączenie zostało rozłączone.

"timeout"
Od receiveTimeout milisekund nie otrzymano żadnych danych.

thought "device_lost"
Urządzenie zostało najprawdopodobniej odłączone od hosta.

"break"
Urządzenie wykryło warunek przerwania.

"frame_error"
Urządzenie wykryło błąd ramki.

"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 wejściowym nie ma miejsca lub po znaku końca pliku (EOF) został odebrany znak.

"parity_error"
Urządzenie wykryło błąd parzystości.

"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.

  • błąd

    Kod błędu wskazujący, co poszło nie tak.

ReceiveInfo

Właściwości

  • connectionId

    liczba

    Identyfikator połączenia.

  • dane

    ArrayBuffer

    Odebrane dane.

SendError

Typ wyliczeniowy

"disconnected"
Połączenie zostało rozłączone.

"pending"
Wysyłanie było już oczekujące.

"timeout"
Przekroczono 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.

  • błąd

    SendError opcjonalny

    kod błędu, jeśli wystąpił błąd;

StopBits

Typ wyliczeniowy

"one"

"two"

Metody

clearBreak()

Promise Chrome 45+
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Przywróć transmisję znaków na danym połączeniu i ustaw linię transmisyjną w stanie bez przerwy.

Parametry

  • connectionId

    liczba

    Identyfikator połączenia.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

connect()

Obietnica
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

Łączy się z danym portem szeregowym.

Parametry

  • ścieżka

    tekst

    Ścieżka systemowa portu szeregowego, który ma zostać otwarty.

  • Opcje

    ConnectionOptions opcjonalne

    Opcje konfiguracji portu.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (connectionInfo: ConnectionInfo) => void

Zwroty

  • Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

disconnect()

Obietnica
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Odłącza od portu szeregowego.

Parametry

  • connectionId

    liczba

    Identyfikator otwartego połączenia.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

flush()

Obietnica
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Czyści wszystkie bajty w buforach wejściowych i wyjściowych danego połączenia.

Parametry

  • connectionId

    liczba

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getConnections()

Obietnica
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

Pobiera listę aktualnie otwartych połączeń z portami szeregowymi, które należą do aplikacji.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (connectionInfos: ConnectionInfo[]) => void

Zwroty

  • Promise<ConnectionInfo[]>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getControlSignals()

Obietnica
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Pobiera stan sygnałów sterujących w danym połączeniu.

Parametry

Zwroty

  • Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getDevices()

Obietnica
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

Zwraca informacje o dostępnych urządzeniach szeregowych w systemie. Lista jest generowana ponownie za każdym razem, gdy ta metoda jest wywoływana.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (ports: DeviceInfo[]) => void

Zwroty

  • Promise<DeviceInfo[]>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getInfo()

Obietnica
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

Pobiera stan danego połączenia.

Parametry

  • connectionId

    liczba

    Identyfikator otwartego połączenia.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (connectionInfo: ConnectionInfo) => void

Zwroty

  • Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

send()

Obietnica
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

Zapisuje dane w danym połączeniu.

Parametry

  • connectionId

    liczba

    Identyfikator połączenia.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (sendInfo: SendInfo) => void

Zwroty

  • Obiekt Promise<SendInfo>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

setBreak()

Promise Chrome 45+
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Zawiesza przesyłanie znaków w danym połączeniu i ustawia linię przesyłania w stan przerwania do czasu wywołania metody clearBreak.

Parametry

  • connectionId

    liczba

    Identyfikator połączenia.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

setControlSignals()

Obietnica
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

Ustawia stan sygnałów sterujących na danym połączeniu.

Parametry

  • connectionId

    liczba

    Identyfikator połączenia.

  • Zestaw zmian sygnałów do wysłania na urządzenie.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

setPaused()

Obietnica
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Wstrzymuje lub wznawia otwarte połączenie.

Parametry

  • connectionId

    liczba

    Identyfikator otwartego połączenia.

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy wstrzymać, czy wznowić.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

update()

Obietnica
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

Zaktualizuj ustawienia opcji otwartego połączenia z portem szeregowym.

Parametry

  • connectionId

    liczba

    Identyfikator otwartego połączenia.

  • Opcje konfiguracji portu.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

Wydarzenia

onReceive

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

Zdarzenie wywoływane, gdy dane zostały odczytane z połączenia.

Parametry

onReceiveError

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

Zdarzenie wywoływane, gdy wystąpi błąd podczas oczekiwania środowiska wykonawczego na dane na porcie szeregowym. Po wywołaniu tego zdarzenia połączenie może zostać ustawione na paused. Błąd "timeout" nie powoduje wstrzymania połączenia.

Parametry