chrome.serial

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 funkcji chrome.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()

Obietnice Chrome 45 i nowsze
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 nowszej

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

connect()

Obietnica
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

Zwroty

  • Promise<ConnectionInfo>

    Chrome w wersji 117 lub nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

disconnect()

Obietnica
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 nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

flush()

Obietnica
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 nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

getConnections()

Obietnice
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

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()

Obietnice
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

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

Parametry

Zwroty

  • 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()

Obietnica
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

Zwroty

  • Promise&lt;DeviceInfo[]&gt;

    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()

Obietnica
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

Zwroty

  • Obietnica<ConnectionInfo>

    Chrome w wersji 117 lub nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

send()

Obietnica
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

Zwroty

  • Obietnica<SendInfo>

    Chrome w wersji 117 lub nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

setBreak()

Obietnice Chrome 45 i nowsze
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&lt;boolean&gt;

    Chrome w wersji 117 lub nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

setControlSignals()

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

  • 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&lt;boolean&gt;

    Chrome w wersji 117 lub nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

setPaused()

Obietnica
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 nowszej

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

update()

Obietnica
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 konfiguracji portów.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (result: boolean) => void

    • wynik

      wartość logiczna

Zwroty

  • Promise&lt;boolean&gt;

    Chrome w wersji 117 lub nowszej

    Obietnice 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

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