chrome.serial

Описание

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

Разрешения

serial

Типы

ConnectionInfo

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

  • битрейт

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

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

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

    число

    См. ConnectionOptions.bufferSize .

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

    число

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

  • ctsFlowControl

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

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

  • биты данных

    Биты данных необязательно

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

  • имя

    нить

    См. ConnectionOptions.name

  • бит четности

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

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

  • остановился

    логическое значение

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

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

    логическое значение

    См. ConnectionOptions.persistent .

  • getTimeout

    число

    См. ConnectionOptions.receiveTimeout .

  • ОтправитьТаймаут

    число

    См. ConnectionOptions.sendTimeout .

  • стопбиты

    Стопбиты опционально

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

ConnectionOptions

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

  • битрейт

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

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

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

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

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

  • ctsFlowControl

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

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

  • биты данных

    Биты данных необязательно

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

  • имя

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

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

  • бит четности

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

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

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

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

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

  • getTimeout

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

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

  • ОтправитьТаймаут

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

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

  • стопбиты

    Стопбиты опционально

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

DataBits

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

"Семь"

"восемь"

DeviceControlSignals

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

  • КТ

    логическое значение

    CTS (Очистить для отправки).

  • DCD

    логическое значение

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

  • дср

    логическое значение

    DSR (набор данных готов).

  • ри

    логическое значение

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

DeviceInfo

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

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

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

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

  • путь

    нить

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

  • идентификатор продукта

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

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

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

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

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

HostControlSignals

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

  • ДТР

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

    DTR (терминал данных готов).

  • ртс

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

    РТС (запрос на отправку).

ParityBit

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

"нет"

"странный"

"даже"

ReceiveError

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

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

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

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

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

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

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

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

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

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

ReceiveErrorInfo

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

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

    число

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

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

ReceiveInfo

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

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

    число

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

  • данные

    МассивБуфер

    Данные получены.

SendError

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

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

"в ожидании"
Отправка уже ожидалась.

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

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

SendInfo

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

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

    число

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

  • ошибка

    ОтправитьОшибку необязательно

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

StopBits

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

"один"

"два"

Методы

clearBreak()

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

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

Параметры

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

    число

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

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

connect()

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

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

Параметры

  • путь

    нить

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

  • параметры

    Параметры подключения необязательно

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

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

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

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

    (connectionInfo: ConnectionInfo) => void

Возврат

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

    Хром 117+

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

disconnect()

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

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

Параметры

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

    число

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

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

flush()

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

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

Параметры

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

    число

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

getConnections()

Обещать
chrome.serial.getConnections(
  callback?: function,
)

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

Параметры

Возврат

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

    Хром 117+

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

getControlSignals()

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

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

Параметры

Возврат

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

    Хром 117+

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

getDevices()

Обещать
chrome.serial.getDevices(
  callback?: function,
)

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

Параметры

Возврат

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

    Хром 117+

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

getInfo()

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

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

Параметры

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

    число

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

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

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

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

    (connectionInfo: ConnectionInfo) => void

Возврат

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

    Хром 117+

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

send()

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

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

Параметры

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

    число

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

  • данные

    МассивБуфер

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

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

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

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

    (sendInfo: SendInfo) => void

Возврат

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

    Хром 117+

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

setBreak()

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

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

Параметры

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

    число

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

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

setControlSignals()

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

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

Параметры

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

    число

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

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

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

setPaused()

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

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

Параметры

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

    число

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

  • остановился

    логическое значение

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

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

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

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

    () => void

Возврат

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

    Хром 117+

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

update()

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

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

Параметры

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

    число

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

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

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

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

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

    (result: boolean) => void

    • результат

      логическое значение

Возврат

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

    Хром 117+

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

События

onReceive

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

Событие возникает, когда данные были прочитаны из соединения.

Параметры

onReceiveError

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

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

Параметры