chrome.serial

Opis

Interfejs API chrome.serial umożliwia odczyt i zapis na urządzeniu podłączonym do portu szeregowego.

Uprawnienia

serial

Typy

ConnectionInfo

Właściwości

  • bitrate

    Liczba opcjonalnie

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

  • bufferSize

    Liczba

    Zobacz: ConnectionOptions.bufferSize

  • connectionId

    Liczba

    Identyfikator połączenia z portem szeregowym.

  • ctsFlowControl

    wartość logiczna opcjonalna

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

  • dataBits

    Opcjonalne DataBits

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

  • nazwa

    string,

    Zobacz: ConnectionOptions.name

  • parityBit

    ParityBit opcjonalnie

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

  • wstrzymane

    boolean

    Flaga z informacją, czy połączenie jest zablokowane i nie można uruchamiać zdarzeń onpickup.

  • trwałe

    boolean

    Zobacz: ConnectionOptions.persistent

  • receiveTimeout

    Liczba

    Zobacz: ConnectionOptions.receiveTimeout

  • sendTimeout

    Liczba

    Zobacz: ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcjonalnie

    Zobacz ConnectionOptions.stopBits. To pole może zostać pominięte, jeśli podczas wysyłania zapytania dotyczącego urządzenia bazowego 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 szeroką gamą sprzętu, ta liczba powinna być zgodna z jedną z powszechnie dostępnych szybkości transmisji bitów, np. 110, 300, 1200, 2400, 4800, 9600, 14 400, 19 200, 38 400, 57 600, 115 200. 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 obsługuje tę szybkość. Kod 9600 będzie przekazywany domyślnie.

  • bufferSize

    Liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Wartość domyślna to 4096.

  • ctsFlowControl

    wartość logiczna opcjonalna

    Flaga z informacją, czy włączyć sprzętowe sterowanie przepływem sprzętowym RTS/CTS. Wartość domyślna to fałsz.

  • dataBits

    Opcjonalne DataBits

    Kod "eight" będzie przekazywany domyślnie.

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków do powiązania z połączeniem.

  • parityBit

    ParityBit opcjonalnie

    Kod "no" będzie przekazywany domyślnie.

  • trwałe

    wartość logiczna opcjonalna

    Flaga z informacją, czy połączenie powinno być otwarte, gdy aplikacja jest zawieszona (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po załadowaniu aplikacji wszystkie połączenia szeregowe otwarte wcześniej z parametrem trwały=true można pobrać za pomocą funkcji getConnections.

  • receiveTimeout

    Liczba opcjonalnie

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

  • sendTimeout

    Liczba opcjonalnie

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

  • stopBits

    StopBits opcjonalnie

    Kod "one" będzie przekazywany domyślnie.

DataBits

Enum

DeviceControlSignals

Właściwości

  • cts

    boolean

    CTS (Clear To Send)

  • prąd stały

    boolean

    DCD (wykrywanie operatora danych) lub RLSD (sygnał z linii odbierania)

  • dsr

    boolean

    Lustrzanka cyfrowa (zestaw danych gotowa).

  • ri

    boolean

    RI (wskaźnik pierścieniowy).

DeviceInfo

Właściwości

  • displayName

    ciąg znaków opcjonalny

    Zrozumiała dla człowieka wyświetlana nazwa urządzenia bazowego, jeśli można o nią wysyłać zapytania do sterownika hosta.

  • ścieżka

    string,

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

  • productId

    Liczba opcjonalnie

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

  • vendorId

    Liczba opcjonalnie

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

HostControlSignals

Właściwości

  • dtr

    wartość logiczna opcjonalna

    DTR (Data Terminal Ready).

  • RTS

    wartość logiczna opcjonalna

    RTS (prośba o wysłanie).

ParityBit

Enum

ReceiveError

Enum

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

"timeout"
Nie otrzymano danych przez receiveTimeout milisekund.

"device_lost"
Najprawdopodobniej urządzenie zostało odłączone od hosta.

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

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

"overrun"
Przekroczenie bufora znaków. Następny znak zostanie zgubiony.

"buffer_overflow"
Wystąpił przepełnienie bufora wejściowego. W buforze nie ma miejsca lub po znaku końca pliku (EOF) odebrano znak.

"parity_error"
Urządzenie wykryło błąd parytetu.

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

  • error

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

ReceiveInfo

Właściwości

  • connectionId

    Liczba

    Identyfikator połączenia.

  • dane

    ArrayBuffer

    Dane odebrane.

SendError

Enum

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

"pending"
Wiadomość była już w stanie oczekiwania.

"timeout"
Upłynął 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.

  • error

    SendError opcjonalnie

    Kod błędu, jeśli wystąpił błąd.

StopBits

Enum

Metody

clearBreak()

Obietnica Chrome 45 lub nowsza
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

Przywróć transmisję znaków w danym połączeniu i umieść linię przesyłania w stanie nieprzerwanym.

Parametry

  • connectionId

    Liczba

    Identyfikator połączenia.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

connect()

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

Łączy się z danym portem szeregowym.

Parametry

  • ścieżka

    string,

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

  • Opcje

    Opcje konfiguracji portów.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (connectionInfo: ConnectionInfo)=>void

Akcje powrotne

  • Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

flush()

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

Opróżni wszystkie bajty z buforów danych wejściowych i wyjściowych danego połączenia.

Parametry

  • connectionId

    Liczba

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

getConnections()

Obietnica
chrome.serial.getConnections(
  callback?: function,
)

Pobiera listę obecnie otwartych połączeń z portami szeregowymi należących do aplikacji.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (connectionInfos: ConnectionInfo[])=>void

Akcje powrotne

  • Promise<ConnectionInfo[]>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

getControlSignals()

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

Pobiera stan sygnałów sterujących dla danego połączenia.

Parametry

Akcje powrotne

  • Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

getDevices()

Obietnica
chrome.serial.getDevices(
  callback?: function,
)

Zwraca informacje o urządzeniach szeregowych dostępnych w systemie. Lista jest generowana ponownie przy każdym wywołaniu tej metody.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (ports: DeviceInfo[])=>void

Akcje powrotne

  • Promise<DeviceInfo[]>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 opcjonalnie

    Parametr callback wygląda tak:

    (connectionInfo: ConnectionInfo)=>void

Akcje powrotne

  • Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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

    ArrayBuffer

    Dane do wysłania.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (sendInfo: SendInfo)=>void

Akcje powrotne

  • Promise<SendInfo>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

setBreak()

Obietnica Chrome 45 lub nowsza
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

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

Parametry

  • connectionId

    Liczba

    Identyfikator połączenia.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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.

  • Zestaw sygnałów zmieni się, aby wysłać go do urządzenia.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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.

  • wstrzymane

    boolean

    Flaga określająca, czy wstrzymać, czy wznowić.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

update()

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

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

Parametry

  • connectionId

    Liczba

    Identyfikator otwartego połączenia.

  • Opcje konfiguracji portów.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: boolean)=>void

    • wynik

      boolean

Akcje powrotne

  • Promise<boolean>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onReceive

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

Zdarzenie wywoływane po odczytaniu danych z połączenia.

Parametry

onReceiveError

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

Zdarzenie zgłoszone, gdy wystąpił błąd, gdy środowisko wykonawcze czekało na dane na porcie szeregowym. Po zgłoszeniu tego zdarzenia połączenie może być ustawione na paused. Błąd "timeout" nie wstrzyma połączenia.

Parametry