chrome.serial

Описание

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

Разрешения

serial

Типы

ConnectionInfo

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

  • битрейт

    номер необязательно

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

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

    число

    См. ConnectionOptions.bufferSize

  • connectionId

    число

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

  • ctsFlowControl

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

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

  • dataBits

    DataBits необязательный

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

  • имя

    нить

    См. ConnectionOptions.name

  • parityBit

    ParityBit необязательный

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

  • приостановлено

    булев

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

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

    булев

    См. ConnectionOptions.persistent

  • receiveTimeout

    число

    См. ConnectionOptions.receiveTimeout

  • sendTimeout

    число

    См. ConnectionOptions.sendTimeout

  • stopBits

    StopBits опционально

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

ConnectionOptions

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

  • битрейт

    номер необязательно

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

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

    номер необязательно

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

  • ctsFlowControl

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

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

  • dataBits

    DataBits необязательный

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

  • имя

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

    Определенная приложением строка для связи с соединением.

  • parityBit

    ParityBit необязательный

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

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

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

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

  • receiveTimeout

    номер необязательно

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

  • sendTimeout

    номер необязательно

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

  • stopBits

    StopBits опционально

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

DataBits

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

"Семь"

"восемь"

DeviceControlSignals

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

  • ктс

    булев

    CTS (Готово к отправке).

  • dcd

    булев

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

  • дср

    булев

    DSR (готовность к набору данных).

  • ри

    булев

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

DeviceInfo

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

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

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

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

  • путь

    нить

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

  • productId

    номер необязательно

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

  • идентификатор поставщика

    номер необязательно

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

HostControlSignals

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

  • дтр

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

    DTR (готов к использованию с терминалом данных).

  • ртс

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

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

ParityBit

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

"нет"

"странный"

"даже"

ReceiveError

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

"отключен"
Соединение было прервано.

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

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

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

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

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

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

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

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

ReceiveErrorInfo

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

  • connectionId

    число

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

  • ошибка

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

ReceiveInfo

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

  • connectionId

    число

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

  • данные

    ArrayBuffer

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

SendError

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

"отключен"
Соединение было прервано.

"в ожидании"
Отправка уже была в режиме ожидания.

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

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

SendInfo

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

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

    число

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

  • ошибка

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

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

StopBits

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

"один"

"два"

Методы

clearBreak()

Обещание Chrome 45+
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

Параметры

  • connectionId

    число

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

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

connect()

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

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

Параметры

  • путь

    нить

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

  • параметры

    ConnectionOptions (опционально)

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

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

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

    Параметр callback выглядит так:

    (connectionInfo: ConnectionInfo) => void

Возврат

  • Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

disconnect()

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

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

Параметры

  • connectionId

    число

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

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

flush()

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

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

Параметры

  • connectionId

    число

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getConnections()

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

Возвращает список открытых в данный момент последовательных портов, принадлежащих приложению.

Параметры

Возврат

  • Обещание< ConnectionInfo []>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getControlSignals()

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

Возвращает состояние сигналов управления на заданном соединении.

Параметры

Возврат

  • Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getDevices()

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

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

Параметры

Возврат

  • Обещание< DeviceInfo []>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getInfo()

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

Возвращает состояние заданного соединения.

Параметры

  • connectionId

    число

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

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

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

    Параметр callback выглядит так:

    (connectionInfo: ConnectionInfo) => void

Возврат

  • Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

send()

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

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

Параметры

  • connectionId

    число

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

  • данные

    ArrayBuffer

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

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

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

    Параметр callback выглядит так:

    (sendInfo: SendInfo) => void

Возврат

  • Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

setBreak()

Обещание Chrome 45+
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

Параметры

  • connectionId

    число

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

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

setControlSignals()

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

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

Параметры

  • connectionId

    число

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

  • сигналы

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

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

setPaused()

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

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

Параметры

  • connectionId

    число

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

  • приостановлено

    булев

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

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

update()

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

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

Параметры

  • connectionId

    число

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

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

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

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

    Параметр callback выглядит так:

    (result: boolean) => void

    • результат

      булев

Возврат

  • Обещание<логическое>

    Хром 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