chrome.serial

Descrizione

Utilizza l'API chrome.serial per leggere e scrivere su un dispositivo collegato a una porta seriale.

Autorizzazioni

serial

Disponibilità

Solo ChromeOS

Tipi

ConnectionInfo

Proprietà

  • bitrate

    number optional

    Leggi i ConnectionOptions.bitrate. Questo campo potrebbe essere omesso o impreciso se viene utilizzato un bitrate non standard o se si è verificato un errore durante l'esecuzione di query sul dispositivo sottostante.

  • bufferSize

    numero

    Visualizza ConnectionOptions.bufferSize

  • connectionId

    numero

    L'ID della connessione alla porta seriale.

  • ctsFlowControl

    boolean facoltativo

    Leggi i ConnectionOptions.ctsFlowControl. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante.

  • dataBits

    DataBits facoltativo

    Leggi i ConnectionOptions.dataBits. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante.

  • nome

    stringa

    Visualizza ConnectionOptions.name

  • parityBit

    ParityBit facoltativo

    Leggi i ConnectionOptions.parityBit. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante.

  • in pausa

    booleano

    Flag che indica se la connessione è bloccata per l'attivazione degli eventi onReceive.

  • persistente

    booleano

    Visualizza ConnectionOptions.persistent

  • receiveTimeout

    numero

    Visualizza ConnectionOptions.receiveTimeout

  • sendTimeout

    numero

    Visualizza ConnectionOptions.sendTimeout

  • stopBits

    StopBits facoltativo

    Leggi i ConnectionOptions.stopBits. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante.

ConnectionOptions

Proprietà

  • bitrate

    number optional

    Il bitrate richiesto della connessione da aprire. Per la compatibilità con la più ampia gamma di hardware, questo numero deve corrispondere a una delle velocità in bit comunemente disponibili, ad esempio 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Naturalnome, non è garantito che il dispositivo connesso alla porta seriale supporti la velocità in bit richiesta, anche se la porta stessa la supporta. 9600 verrà trasmesso per impostazione predefinita.

  • bufferSize

    number optional

    La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.

  • ctsFlowControl

    boolean facoltativo

    Flag che indica se attivare o meno il controllo di flusso hardware RTS/CTS. Il valore predefinito è false.

  • dataBits

    DataBits facoltativo

    "eight" verrà trasmesso per impostazione predefinita.

  • nome

    stringa facoltativa

    Una stringa definita dall'applicazione da associare alla connessione.

  • parityBit

    ParityBit facoltativo

    "no" verrà trasmesso per impostazione predefinita.

  • persistente

    boolean facoltativo

    Flag che indica se la connessione deve essere lasciata aperta o meno quando l'applicazione viene sospesa (consulta Gestisci il ciclo di vita dell'app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutte le connessioni seriali aperte in precedenza con persistent=true possono essere recuperate con getConnections.

  • receiveTimeout

    number optional

    Il tempo massimo (in millisecondi) di attesa per i nuovi dati prima di generare un evento onReceiveError con un errore di "timeout". Se il valore è zero, non verranno generati errori di timeout di ricezione per la connessione. Il valore predefinito è 0.

  • sendTimeout

    number optional

    Il tempo massimo (in millisecondi) di attesa per il completamento di un'operazione send prima di chiamare il callback con un errore di "timeout". Se è pari a zero, non verranno attivati errori di timeout di invio. Il valore predefinito è 0.

  • stopBits

    StopBits facoltativo

    "one" verrà trasmesso per impostazione predefinita.

DataBits

Enum

"seven"

"eight"

DeviceControlSignals

Proprietà

  • cts

    booleano

    CTS (Clear To Send).

  • dcd

    booleano

    DCD (Data Carrier Detect) o RLSD (Receive Line Signal/Detect).

  • dsr

    booleano

    DSR (Data Set Ready).

  • ri

    booleano

    RI (Ring Indicator).

DeviceInfo

Proprietà

  • displayName

    stringa facoltativa

    Un nome visualizzato leggibile per il dispositivo sottostante, se è possibile eseguire una query dal driver host.

  • percorso

    stringa

    Il percorso di sistema del dispositivo. Questo deve essere passato come argomento path a chrome.serial.connect per connettersi a questo dispositivo.

  • productId

    number optional

    Un ID prodotto USB, se è possibile determinarne uno per il dispositivo sottostante.

  • vendorId

    number optional

    Un ID fornitore PCI o USB, se è possibile determinarne uno per il dispositivo sottostante.

HostControlSignals

Proprietà

  • dtr

    boolean facoltativo

    DTR (Data Terminal Ready).

  • rts

    boolean facoltativo

    RTS (Request To Send).

ParityBit

Enum

"no"

"odd"

"even"

ReceiveError

Enum

"disconnected"
La connessione è stata disconnessa.

"timeout"
Non sono stati ricevuti dati per receiveTimeout millisecondi.

"device_lost"
Il dispositivo è stato probabilmente disconnesso dall'host.

"break"
Il dispositivo ha rilevato una condizione di interruzione.

"frame_error"
Il dispositivo ha rilevato un errore di framing.

"overrun"
Si è verificato un overrun del buffer di caratteri. Il personaggio successivo è perso.

"buffer_overflow"
Si è verificato un overflow del buffer di input. Non c'è spazio nel buffer di input o è stato ricevuto un carattere dopo il carattere di fine file (EOF).

"parity_error"
Il dispositivo ha rilevato un errore di parità.

"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.

ReceiveErrorInfo

Proprietà

  • connectionId

    numero

    L'identificatore della connessione.

  • errore

    Un codice di errore che indica cosa non ha funzionato.

ReceiveInfo

Proprietà

  • connectionId

    numero

    L'identificatore della connessione.

  • dati

    ArrayBuffer

    I dati ricevuti.

SendError

Enum

"disconnected"
La connessione è stata disconnessa.

"pending"
Un invio era già in attesa.

"timeout"
L'invio è scaduto.

"system_error"
Si è verificato un errore di sistema e la connessione potrebbe non essere recuperabile.

SendInfo

Proprietà

  • bytesSent

    numero

    Il numero di byte inviati.

  • errore

    SendError facoltativo

    Un codice di errore se si è verificato un errore.

StopBits

Enum

"one"

"two"

Metodi

clearBreak()

Promise Chrome 45+
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Ripristina la trasmissione dei caratteri su una determinata connessione e imposta la linea di trasmissione su uno stato di non interruzione.

Parametri

  • connectionId

    numero

    L'ID della connessione.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

Si connette a una porta seriale specificata.

Parametri

  • percorso

    stringa

    Il percorso di sistema della porta seriale da aprire.

  • opzioni

    ConnectionOptions facoltativo

    Opzioni di configurazione delle porte.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (connectionInfo: ConnectionInfo) => void

Resi

  • Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Disconnette da una porta seriale.

Parametri

  • connectionId

    numero

    L'ID della connessione aperta.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Scarica tutti i byte nei buffer di input e output della connessione specificata.

Parametri

  • connectionId

    numero

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

Recupera l'elenco delle connessioni alle porte seriali attualmente aperte di proprietà dell'applicazione.

Parametri

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (connectionInfos: ConnectionInfo[]) => void

Resi

  • Promise<ConnectionInfo[]>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Recupera lo stato dei segnali di controllo su una determinata connessione.

Parametri

  • connectionId

    numero

    L'ID della connessione.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (signals: DeviceControlSignals) => void

Resi

  • Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

Restituisce informazioni sui dispositivi seriali disponibili nel sistema. L'elenco viene rigenerato ogni volta che viene chiamato questo metodo.

Parametri

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (ports: DeviceInfo[]) => void

Resi

  • Promise<DeviceInfo[]>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

Recupera lo stato di una determinata connessione.

Parametri

  • connectionId

    numero

    L'ID della connessione aperta.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (connectionInfo: ConnectionInfo) => void

Resi

  • Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

Scrive i dati nella connessione specificata.

Parametri

  • connectionId

    numero

    L'ID della connessione.

  • dati

    ArrayBuffer

    I dati da inviare.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (sendInfo: SendInfo) => void

Resi

  • Promise<SendInfo>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setBreak()

Promise Chrome 45+
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Sospende la trasmissione dei caratteri su una determinata connessione e imposta la linea di trasmissione in uno stato di interruzione fino a quando non viene chiamato clearBreak.

Parametri

  • connectionId

    numero

    L'ID della connessione.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

Imposta lo stato degli indicatori di controllo su una determinata connessione.

Parametri

  • connectionId

    numero

    L'ID della connessione.

  • indicatori

    L'insieme di modifiche dei segnali da inviare al dispositivo.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Mette in pausa o riprende una connessione aperta.

Parametri

  • connectionId

    numero

    L'ID della connessione aperta.

  • in pausa

    booleano

    Flag per indicare se mettere in pausa o riattivare.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

Aggiorna le impostazioni delle opzioni su una connessione alla porta seriale aperta.

Parametri

  • connectionId

    numero

    L'ID della connessione aperta.

  • Opzioni di configurazione delle porte.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (result: boolean) => void

    • risultato

      booleano

Resi

  • Promise<boolean>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

Eventi

onReceive

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

Evento attivato quando i dati sono stati letti dalla connessione.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (info: ReceiveInfo) => void

onReceiveError

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

Evento generato quando si è verificato un errore mentre il runtime era in attesa di dati sulla porta seriale. Una volta generato questo evento, la connessione potrebbe essere impostata su paused. Un errore "timeout" non mette in pausa la connessione.

Parametri