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

Obietnica Chrome w wersji 45 lub nowszej
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()

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

    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 na platformie Manifest V3 i nowszych, inne platformy muszą 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

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

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

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

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

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

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

Parametry

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

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

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

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

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

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

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

Obietnica Chrome w wersji 45 lub nowszej
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()

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.

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

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

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

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