Описание
Используйте 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
Перечисление
"отключен" "тайм-аут" "device_lost" "перерыв" "frame_error" "перегнать" "buffer_overflow" "parity_error" "системная_ошибка"
Соединение было прервано.
В течение миллисекунд receiveTimeout
данные не были получены.
Скорее всего устройство было отключено от хоста.
Устройство обнаружило неисправность.
Устройство обнаружило ошибку кадрирования.
Произошло переполнение буфера символов. Следующий персонаж потерян.
Произошло переполнение входного буфера. Во входном буфере либо нет места, либо символ был получен после символа конца файла (EOF).
Устройство обнаружило ошибку четности.
Произошла системная ошибка, и соединение может оказаться невосстановимым.
ReceiveErrorInfo
Характеристики
- идентификатор соединения
число
Идентификатор соединения.
- ошибка
Код ошибки, указывающий, что пошло не так.
ReceiveInfo
Характеристики
- идентификатор соединения
число
Идентификатор соединения.
- данные
МассивБуфер
Данные получены.
SendError
Перечисление
"отключен" "в ожидании" "тайм-аут" "системная_ошибка"
Соединение было прервано.
Отправка уже ожидалась.
Время отправки истекло.
Произошла системная ошибка, и соединение может оказаться невосстановимым.
SendInfo
Характеристики
- байтОтправлено
число
Количество отправленных байт.
- ошибка
ОтправитьОшибку необязательно
Код ошибки, если произошла ошибка.
StopBits
Перечисление
"один" "два"
Методы
clearBreak()
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
Возврат
Обещание < 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,
)
Получает список открытых в данный момент подключений последовательного порта, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(connectionInfos: ConnectionInfo[]) => void
- ConnectionInfos
Возврат
Обещание< ConnectionInfo []>
Хром 117+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Получает состояние сигналов управления по данному соединению.
Параметры
- идентификатор соединения
число
Идентификатор соединения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(signals: DeviceControlSignals) => void
- сигналы
Возврат
Обещание <DeviceControlSignals>
Хром 117+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Возвращает информацию о доступных последовательных устройствах в системе. Список обновляется каждый раз при вызове этого метода.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(ports: DeviceInfo[]) => void
- порты
Возврат
Обещание< DeviceInfo []>
Хром 117+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Получает состояние данного соединения.
Параметры
- идентификатор соединения
число
Идентификатор открытого соединения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(connectionInfo: ConnectionInfo) => void
- ConnectionInfo
Возврат
Обещание < ConnectionInfo >
Хром 117+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Записывает данные в данное соединение.
Параметры
- идентификатор соединения
число
Идентификатор соединения.
- данные
МассивБуфер
Данные для отправки.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(sendInfo: SendInfo) => void
- sendInfo
Возврат
Обещание <SendInfo>
Хром 117+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setBreak()
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,
)
Событие возникает, когда данные были прочитаны из соединения.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveInfo) => void
- информация
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Событие возникает, когда возникает ошибка, пока среда выполнения ожидает данных на последовательном порту. Как только это событие возникнет, соединение может быть paused
. Ошибка "timeout"
не приостанавливает соединение.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveErrorInfo) => void
- информация