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

  • taxa de bits

    número opcional

    Consulte ConnectionOptions.bitrate. Esse campo pode ser omitido ou estar impreciso se uma taxa de bits fora do padrão estiver em uso ou se ocorrer um erro durante a consulta do dispositivo.

  • bufferSize

    number

    Ver ConnectionOptions.bufferSize

  • connectionId

    number

    O ID da conexão da porta serial.

  • ctsFlowControl

    booleano opcional

    Consulte ConnectionOptions.ctsFlowControl. Este campo pode ser omitido se ocorrer um erro durante a consulta do dispositivo.

  • dataBits

    DataBits opcional

    Consulte ConnectionOptions.dataBits. Este campo pode ser omitido se ocorrer um erro durante a consulta do dispositivo.

  • nome

    string

    Ver ConnectionOptions.name

  • parityBit

    ParityBit opcional

    Consulte ConnectionOptions.parityBit. Este campo pode ser omitido se ocorrer um erro durante a consulta do dispositivo.

  • pausado

    booleano

    Sinalização que indica se a conexão está impedida de disparar eventos onReceber.

  • persistente

    booleano

    Ver ConnectionOptions.persistent

  • receiveTimeout

    number

    Ver ConnectionOptions.receiveTimeout

  • sendTimeout

    number

    Ver ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcional

    Consulte ConnectionOptions.stopBits. Este campo pode ser omitido se ocorrer um erro durante a consulta do dispositivo.

ConnectionOptions

Propriedades

  • taxa de bits

    número opcional

    A taxa de bits solicitada da conexão que será aberta. Para compatibilidade com a maior variedade de hardwares, esse número deve corresponder a uma das taxas de bits mais comuns disponíveis, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Não há garantia de que o dispositivo conectado à porta serial será compatível com a 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 é 4096.

  • ctsFlowControl

    booleano opcional

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

  • dataBits

    DataBits opcional

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

  • nome

    string opcional

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

  • parityBit

    ParityBit opcional

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

  • persistente

    booleano opcional

    Sinalização que indica se a conexão deve ou não permanecer aberta quando o aplicativo é 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 compersistent=true podem ser buscadas com getConnections.

  • receiveTimeout

    número opcional

    O tempo máximo (em milissegundos) para aguardar novos dados antes de gerar um evento onReceiveError com um "tempo limite". erro. Se 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) para aguardar a conclusão de uma operação send antes de chamar o callback com um "tempo limite". erro. Se 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

Enumeração

"sete"

"oito"

DeviceControlSignals

Propriedades

  • cts

    booleano

    CTS ("Clear to Send").

  • dcd

    booleano

    DCD (Detecção da operadora de dados) ou RLSD (Receber sinal/ detecção de linha).

  • dsr

    booleano

    DSR (conjunto de dados pronto).

  • ri

    booleano

    RI (indicador de campainha).

DeviceInfo

Propriedades

  • displayName

    string opcional

    Um nome de exibição legível para o dispositivo subjacente, caso possa ser consultado no driver do host.

  • caminho

    string

    O caminho do sistema do dispositivo. Ele precisa ser transmitido como o argumento path para o chrome.serial.connect para se conectar ao dispositivo.

  • productId

    número opcional

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

  • vendorId

    número opcional

    Um código de fornecedor USB ou PCI, se for possível determinar para o dispositivo subjacente.

HostControlSignals

Propriedades

  • dtr

    booleano opcional

    DTR (Pronto para Terminal de Dados).

  • RT

    booleano opcional

    RTS (solicitação para enviar).

ParityBit

Enumeração

"não"

"ímpar"

"uniforme"

ReceiveError

Enumeração

"dislinked"
A conexão foi desconectada.

"tempo limite"
Nenhum dado foi recebido por receiveTimeout milissegundos.

"device_lost"
O dispositivo provavelmente foi desconectado do host.

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

"frame_error"
O dispositivo detectou um erro de enquadramento.

"overrun"
O buffer de caracteres de caracteres foi excedido. 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 caractere de fim de arquivo (EOF, na sigla em inglês).

"parity_error"
O dispositivo detectou um erro de paridade.

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

ReceiveErrorInfo

Propriedades

  • connectionId

    number

    É o identificador de conexão.

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

ReceiveInfo

Propriedades

  • connectionId

    number

    É o identificador de conexão.

  • dados

    Buffer de matriz

    Os dados recebidos.

SendError

Enumeração

"dislinked"
A conexão foi desconectada.

"pendente"
Um envio já estava pendente.

"tempo limite"
O tempo limite de envio expirou.

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

SendInfo

Propriedades

  • bytesSent

    number

    O número de bytes enviados.

  • erro

    SendError opcional

    Um código de erro caso ocorra um erro.

StopBits

Enumeração

"um"

"dois"

Métodos

clearBreak()

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

Restaura a transmissão de caracteres em uma determinada conexão e coloca a linha de transmissão em um estado sem quebra.

Parâmetros

  • connectionId

    number

    O ID da conexão.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 portas.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (connectionInfo: ConnectionInfo) => void

Retorna

  • Promise<ConnectionInfo>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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

    O ID da conexão aberta.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

flush()

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

Apaga todos os bytes nos buffers de entrada e saída de determinada conexão.

Parâmetros

  • connectionId

    number

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 porta serial atualmente abertas de propriedade do aplicativo.

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (connectionInfos: ConnectionInfo[]) => void

Retorna

  • Promise<ConnectionInfo[]>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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

  • Promise<DeviceControlSignals>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

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

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

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (ports: DeviceInfo[]) => void

Retorna

  • Promise<DeviceInfo[]>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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

    O ID da conexão aberta.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (connectionInfo: ConnectionInfo) => void

Retorna

  • Promise<ConnectionInfo>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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

    Buffer de matriz

    Os dados a serem enviados.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (sendInfo: SendInfo) => void

Retorna

  • Promise<SendInfo>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setBreak()

Promessa Chrome 45 ou superior
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 opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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

    O ID da conexão aberta.

  • pausado

    booleano

    Sinalização para indicar se é necessário pausar ou retomar.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

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

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

Parâmetros

  • connectionId

    number

    O ID da conexão aberta.

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

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

Retorna

  • Promise&lt;boolean&gt;

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

Eventos

onReceive

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

Evento gerado quando os dados tiverem sido lidos a partir 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 um erro ocorreu enquanto o ambiente de execução aguardava 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