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"
Устройство обнаружило ошибку кадрирования.

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

"переполнение буфера"
Произошло переполнение входного буфера. Во входном буфере либо нет места, либо символ был получен после символа конца файла (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" не приостанавливает соединение.

Параметры