chrome.serial

Описание

Используйте API chrome.serial для чтения и записи данных на устройство, подключенное к последовательному порту.

Разрешения

serial

Доступность

Только для ChromeOS

Типы

ConnectionInfo

Характеристики

  • битрейт

    число необязательно

    См. ConnectionOptions.bitrate . Это поле может быть опущено или содержать неточные данные, если используется нестандартный битрейт или если при запросе к базовому устройству произошла ошибка.

  • размер буфера

    число

    См. ConnectionOptions.bufferSize

  • connectionId

    число

    Идентификатор соединения последовательного порта.

  • ctsFlowControl

    логический необязательный

    См. ConnectionOptions.ctsFlowControl . Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка.

  • биты данных

    DataBits (необязательно)

    См. ConnectionOptions.dataBits . Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка.

  • имя

    нить

    См. ConnectionOptions.name

  • parityBit

    ParityBit ( необязательно)

    См. ConnectionOptions.parityBit . Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка.

  • пауза

    логический

    Флаг, указывающий, заблокировано ли соединение для генерации событий onReceive.

  • настойчивый

    логический

    См. ConnectionOptions.persistent

  • receiveTimeout

    число

    См. ConnectionOptions.receiveTimeout

  • sendTimeout

    число

    См. ConnectionOptions.sendTimeout

  • стопБитс

    Стопбиты (необязательно)

    См. ConnectionOptions.stopBits . Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка.

ConnectionOptions

Характеристики

  • битрейт

    число необязательно

    Запрашиваемая скорость передачи данных для открываемого соединения. Для обеспечения совместимости с максимально широким спектром оборудования это число должно соответствовать одному из распространенных значений скорости передачи данных, таких как 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Конечно, нет гарантии, что устройство, подключенное к последовательному порту, будет поддерживать запрашиваемую скорость передачи данных, даже если сам порт поддерживает эту скорость. По умолчанию будет передано значение 9600 .

  • размер буфера

    число необязательно

    Размер буфера, используемого для приема данных. Значение по умолчанию — 4096.

  • ctsFlowControl

    логический необязательный

    Флаг, указывающий, следует ли включать аппаратное управление потоком RTS/CTS. По умолчанию — false.

  • биты данных

    DataBits (необязательно)

    "eight" будет передано по умолчанию.

  • имя

    строка необязательный

    Строка, определяемая приложением, которая будет связана с соединением.

  • parityBit

    ParityBit ( необязательно)

    По умолчанию будет передано значение "no" .

  • настойчивый

    логический необязательный

    Флаг, указывающий, следует ли оставлять соединение открытым при приостановке работы приложения (см. раздел «Управление жизненным циклом приложения »). Значение по умолчанию — «false». При загрузке приложения любые последовательные соединения, ранее открытые с параметром persistent=true, можно получить с помощью getConnections .

  • receiveTimeout

    число необязательно

    Максимальное время (в миллисекундах) ожидания новых данных перед возникновением события onReceiveError с ошибкой "timeout". Если значение равно нулю, ошибки тайм-аута приема данных для данного соединения генерироваться не будут. Значение по умолчанию — 0.

  • sendTimeout

    число необязательно

    Максимальное время (в миллисекундах), в течение которого следует ожидать завершения операции send перед вызовом функции обратного вызова с ошибкой "timeout". Если значение равно нулю, ошибки "timeout" при отправке не будут срабатывать. Значение по умолчанию — 0.

  • стопБитс

    Стопбиты (необязательно)

    По умолчанию будет передано значение "one" .

DataBits

Перечисление

"Семь"

"восемь"

DeviceControlSignals

Характеристики

  • cts

    логический

    CTS (Clear To Send — Разрешена отправка).

  • дкд

    логический

    DCD (обнаружение несущей данных) или RLSD (обнаружение сигнала приемной линии).

  • дср

    логический

    DSR (Data Set Ready).

  • ри

    логический

    RI (кольцевой индикатор).

DeviceInfo

Характеристики

  • отображаемое имя

    строка необязательный

    Удобочитаемое отображаемое имя базового устройства, если таковое можно получить от драйвера хоста.

  • путь

    нить

    Системный путь устройства. Его следует передать в качестве аргумента path chrome.serial.connect для подключения к этому устройству.

  • продуктId

    число необязательно

    Если для данного устройства можно определить идентификатор продукта USB, это будет его идентификатор.

  • vendorId

    число необязательно

    Идентификатор производителя PCI или USB, если таковой может быть определен для базового устройства.

HostControlSignals

Характеристики

  • дтр

    логический необязательный

    DTR (Data Terminal Ready — готовность терминала данных).

  • ртс

    логический необязательный

    RTS (Запрос на отправку).

ParityBit

Перечисление

"нет"

"странный"

"даже"

ReceiveError

Перечисление

«отключен»
Соединение было разорвано.

"тайм-аут"
Данные за время receiveTimeout в миллисекундах не получены.

"device_lost"
Вероятнее всего, устройство было отключено от хоста.

"перерыв"
Устройство обнаружило повреждение.

"frame_error"
Устройство обнаружило ошибку кадрирования.

"перегрузка"
Произошло переполнение буфера символов. Следующий символ потерян.

"переполнение буфера"
Произошло переполнение входного буфера. Либо в буфере ввода нет места, либо после символа конца файла (EOF) был получен символ.

"parity_error"
Устройство обнаружило ошибку четности.

"system_error"
Произошла системная ошибка, и соединение может быть невосстановимым.

ReceiveErrorInfo

Характеристики

  • connectionId

    число

    Идентификатор соединения.

  • ошибка

    Код ошибки, указывающий на причину неполадки.

ReceiveInfo

Характеристики

  • connectionId

    число

    Идентификатор соединения.

  • данные

    ArrayBuffer

    Полученные данные.

SendError

Перечисление

«отключен»
Соединение было разорвано.

"в ожидании"
Уже была отправлена ​​операция, ожидающая подтверждения.

"тайм-аут"
Время отправки истекло.

"system_error"
Произошла системная ошибка, и соединение может быть невосстановимым.

SendInfo

Характеристики

  • байтыОтправлено

    число

    Количество отправленных байтов.

  • ошибка

    SendError ( необязательно)

    Код ошибки, если произошла ошибка.

StopBits

Перечисление

"один"

"два"

Методы

clearBreak()

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

Восстановить передачу символов по заданному соединению и перевести линию передачи в состояние без обрыва.

Параметры

  • connectionId

    число

    Идентификатор соединения.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

connect()

Обещать
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

Подключается к заданному последовательному порту.

Параметры

  • путь

    нить

    Системный путь к открываемому последовательному порту.

  • параметры

    ConnectionOptions ( необязательно)

    Параметры конфигурации порта.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (connectionInfo: ConnectionInfo) => void

Возвраты

  • Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

disconnect()

Обещать
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Отключается от последовательного порта.

Параметры

  • connectionId

    число

    Идентификатор открытого соединения.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

flush()

Обещать
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Очищает все байты во входном и выходном буферах данного соединения.

Параметры

  • connectionId

    число

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getConnections()

Обещать
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

Получает список открытых в данный момент соединений последовательного порта, принадлежащих приложению.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (connectionInfos: ConnectionInfo[]) => void

Возвраты

  • Promise< ConnectionInfo []>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getControlSignals()

Обещать
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Получает состояние управляющих сигналов в заданном соединении.

Параметры

  • connectionId

    число

    Идентификатор соединения.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (signals: DeviceControlSignals) => void

Возвраты

  • Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getDevices()

Обещать
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

Возвращает информацию о доступных в системе последовательных устройствах. Список обновляется при каждом вызове этого метода.

Параметры

Возвраты

  • Promise< DeviceInfo []>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getInfo()

Обещать
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

Получает состояние заданного соединения.

Параметры

  • connectionId

    число

    Идентификатор открытого соединения.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (connectionInfo: ConnectionInfo) => void

Возвраты

  • Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

send()

Обещать
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

Записывает данные в указанное соединение.

Параметры

  • connectionId

    число

    Идентификатор соединения.

  • данные

    ArrayBuffer

    Данные для отправки.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (sendInfo: SendInfo) => void

Возвраты

  • Promise< SendInfo >

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setBreak()

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

Приостанавливает передачу символов по заданному соединению и переводит линию передачи в состояние разрыва до вызова функции clearBreak.

Параметры

  • connectionId

    число

    Идентификатор соединения.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setControlSignals()

Обещать
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

Устанавливает состояние управляющих сигналов на данном соединении.

Параметры

  • connectionId

    число

    Идентификатор соединения.

  • сигналы

    Набор изменений сигналов для отправки на устройство.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setPaused()

Обещать
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Приостанавливает или возобновляет открытое соединение.

Параметры

  • connectionId

    число

    Идентификатор открытого соединения.

  • пауза

    логический

    Флажок, указывающий, следует ли приостановить или возобновить работу.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

update()

Обещать
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

Обновите параметры подключения через открытый последовательный порт.

Параметры

  • connectionId

    число

    Идентификатор открытого соединения.

  • Параметры конфигурации порта.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (result: boolean) => void

    • результат

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

События

onReceive

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

Событие генерируется при считывании данных из соединения.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: ReceiveInfo) => void

onReceiveError

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

Событие генерируется, когда во время ожидания данных на последовательном порту происходит ошибка в среде выполнения. После генерации этого события соединение может быть paused . Ошибка "timeout" не приостанавливает соединение.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: ReceiveErrorInfo) => void