chrome.serial

Descrição

Use a API chrome.serial para ler e gravar em um dispositivo conectado a uma porta serial.

Permissões

serial

Tipos

ConnectionInfo

Propriedades

  • bitrate

    número opcional

    Consulte os ConnectionOptions.bitrate. Esse campo pode ser omitido ou impreciso se uma taxa de bits não padrão estiver em uso ou se ocorrer um erro ao consultar o dispositivo subjacente.

  • bufferSize

    number

    Ver ConnectionOptions.bufferSize

  • connectionId

    number

    O código da conexão da porta serial.

  • ctsFlowControl

    booleano opcional

    Consulte os ConnectionOptions.ctsFlowControl. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.

  • dataBits

    DataBits opcional

    Consulte os ConnectionOptions.dataBits. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.

  • name

    string

    Ver ConnectionOptions.name

  • parityBit

    ParityBit opcional

    Consulte os ConnectionOptions.parityBit. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.

  • pausado

    boolean

    Sinalização que indica se a conexão está bloqueada para disparar eventos onReceive.

  • permanentes

    boolean

    Ver ConnectionOptions.persistent

  • receiveTimeout

    number

    Ver ConnectionOptions.receiveTimeout

  • sendTimeout

    number

    Ver ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcional

    Consulte os ConnectionOptions.stopBits. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.

ConnectionOptions

Propriedades

  • bitrate

    número opcional

    A taxa de bits da conexão a ser aberta solicitada. Para compatibilidade com a maior variedade de hardwares, esse número precisa corresponder a uma das taxas de bits mais comuns, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Não há garantia de que o dispositivo conectado à porta serial oferecerá suporte à taxa de bits solicitada, mesmo que a própria porta seja compatível com essa taxa de bits. 9600 serão transmitidos por padrão.

  • bufferSize

    número opcional

    O tamanho do buffer usado para receber dados. O valor padrão é 4.096.

  • ctsFlowControl

    booleano opcional

    Sinalização que indica se o controle de fluxo de hardware RTS/CTS será ativado ou não. O padrão é "false".

  • dataBits

    DataBits opcional

    "eight" serão transmitidos por padrão.

  • name

    string opcional

    Uma string definida pelo aplicativo para associar à conexão.

  • parityBit

    ParityBit opcional

    "no" serão transmitidos por padrão.

  • permanentes

    booleano opcional

    Sinalização que indica se a conexão deve ou não ser deixada em aberto quando o aplicativo for suspenso. Consulte Gerenciar o ciclo de vida do app. O valor padrão é "falso". Quando o aplicativo é carregado, todas as conexões seriais abertas anteriormente com persistent=true podem ser buscadas com getConnections.

  • receiveTimeout

    número opcional

    O tempo máximo (em milissegundos) de espera por novos dados antes de gerar um evento onReceiveError com um erro de "tempo limite". Se for zero, erros de tempo limite de recebimento não serão gerados para a conexão. O padrão é 0.

  • sendTimeout

    número opcional

    O tempo máximo (em milissegundos) de espera pela conclusão de uma operação send antes de chamar o callback com um erro de "tempo limite". Se for zero, erros de tempo limite de envio não serão acionados. O padrão é 0.

  • stopBits

    StopBits opcional

    "one" serão transmitidos por padrão.

DataBits

Tipo enumerado

DeviceControlSignals

Propriedades

  • cts

    boolean

    CTS (Limpar para enviar).

  • DC

    boolean

    DCD (Detecção de Operadora de Dados) ou RLSD (Detecção/ Sinal de Linha de Recebimento).

  • DSR

    boolean

    DSR (conjunto de dados pronto).

  • ri

    boolean

    RI (Ring Indicator).

DeviceInfo

Propriedades

  • displayName

    string opcional

    Um nome de exibição legível por humanos para o dispositivo, se for possível consultá-lo pelo driver do host.

  • caminho

    string

    Caminho do sistema do dispositivo. Isso precisa ser transmitido como o argumento path para chrome.serial.connect para se conectar a esse dispositivo.

  • productId

    número opcional

    Um ID do produto USB, se for possível determinar um para o dispositivo subjacente.

  • vendorId

    número opcional

    Um ID de fornecedor PCI ou USB, se for possível determinar um para o dispositivo subjacente.

HostControlSignals

Propriedades

  • dtr

    booleano opcional

    DTR (Terminal de dados pronto).

  • leis de trânsito

    booleano opcional

    RTS (solicitação de envio).

ParityBit

Tipo enumerado

ReceiveError

Tipo enumerado

"desconectado"
A conexão foi desconectada.

"timeout"
Nenhum dado foi recebido por receiveTimeout milissegundos.

"device_lost"
O dispositivo provavelmente foi desconectado do host.

"break"
O dispositivo detectou uma condição de interrupção.

"frame_error"
O dispositivo detectou um erro de enquadramento.

"overrun"
Ocorreu um excesso de buffer de caracteres. O próximo caractere é perdido.

"buffer_overflow"
Ocorreu um estouro do buffer de entrada. Não há espaço no buffer de entrada ou um caractere foi recebido após o fim de arquivo (EOF, na sigla em inglês).

"parity_error"
O dispositivo detectou um erro de paridade.

"system_error"
Ocorreu um erro do sistema e a conexão pode ser irrecuperável.

ReceiveErrorInfo

Propriedades

  • connectionId

    number

    É o identificador da conexão.

  • error

    Um código de erro indicando o que deu errado.

ReceiveInfo

Propriedades

  • connectionId

    number

    É o identificador da conexão.

  • dados

    ArrayBuffer

    Os dados recebidos.

SendError

Tipo enumerado

"desconectado"
A conexão foi desconectada.

"pending"
Um envio já estava pendente.

"timeout"
O tempo limite do envio expirou.

"system_error"
Ocorreu um erro do sistema e a conexão pode ser irrecuperável.

SendInfo

Propriedades

  • bytesSent

    number

    O número de bytes enviados.

  • error

    SendError opcional

    Um código caso tenha ocorrido um erro.

StopBits

Tipo enumerado

Métodos

clearBreak()

Promessa Chrome 45+
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

Restaure a transmissão de caracteres em uma determinada conexão e coloque a linha de transmissão em um estado sem interrupção.

Parâmetros

  • connectionId

    number

    O ID da conexão.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

connect()

Promessa
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)

Conecta-se a uma determinada porta serial.

Parâmetros

  • caminho

    string

    O caminho do sistema da porta serial a ser aberta.

  • opções

    Opções de configuração de porta.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (connectionInfo: ConnectionInfo)=>void

Retorna

  • Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promessa
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)

Desconecta-se de uma porta serial.

Parâmetros

  • connectionId

    number

    ID da conexão aberta.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

flush()

Promessa
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)

Limpa todos os bytes nos buffers de entrada e saída da conexão especificada.

Parâmetros

  • connectionId

    number

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getConnections()

Promessa
chrome.serial.getConnections(
  callback?: function,
)

Recupera a lista de conexões de portas seriais abertas no momento pertencentes ao aplicativo.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (connectionInfos: ConnectionInfo[])=>void

Retorna

  • Promise<ConnectionInfo[]>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getControlSignals()

Promessa
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

Recupera o estado dos sinais de controle em uma determinada conexão.

Parâmetros

Retorna

  • Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

Promessa
chrome.serial.getDevices(
  callback?: function,
)

Retorna informações sobre dispositivos seriais disponíveis no sistema. A lista é gerada novamente sempre que esse método é chamado.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (ports: DeviceInfo[])=>void

Retorna

  • Promise<DeviceInfo[]>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getInfo()

Promessa
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

Recupera o estado de uma determinada conexão.

Parâmetros

  • connectionId

    number

    ID da conexão aberta.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (connectionInfo: ConnectionInfo)=>void

Retorna

  • Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

Promessa
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

Grava dados na conexão especificada.

Parâmetros

  • connectionId

    number

    O ID da conexão.

  • dados

    ArrayBuffer

    Os dados a serem enviados.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (sendInfo: SendInfo)=>void

Retorna

  • Promise<SendInfo>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setBreak()

Promessa Chrome 45+
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

Suspende a transmissão de caracteres em uma determinada conexão e coloca a linha de transmissão em um estado de interrupção até que clearBreak seja chamado.

Parâmetros

  • connectionId

    number

    O ID da conexão.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setControlSignals()

Promessa
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)

Define o estado dos sinais de controle em uma determinada conexão.

Parâmetros

  • connectionId

    number

    O ID da conexão.

  • indicadores

    O conjunto de mudanças de sinal para enviar ao dispositivo.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setPaused()

Promessa
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)

Pausa ou retoma uma conexão aberta.

Parâmetros

  • connectionId

    number

    ID da conexão aberta.

  • pausado

    boolean

    Sinalização para indicar se é preciso pausar ou retomar.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

Promessa
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)

Atualizar as configurações de opção em uma conexão de porta serial aberta.

Parâmetros

  • connectionId

    number

    ID da conexão aberta.

  • Opções de configuração de porta.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: boolean)=>void

    • resultado

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

Eventos

onReceive

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

Evento gerado quando os dados são lidos da conexão.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (info: ReceiveInfo)=>void

onReceiveError

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

Evento gerado quando ocorre um erro enquanto o ambiente de execução aguarda os dados na porta serial. Quando esse evento é gerado, a conexão pode ser definida como paused. Um erro "timeout" não pausa a conexão.

Parâmetros