Descrizione
Utilizza l'API chrome.serial per leggere e scrivere su un dispositivo collegato a una porta seriale.
Autorizzazioni
serialDisponibilità
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.
9600verrà 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
onReceiveErrorcon 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
sendprima 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
pathachrome.serial.connectper 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()
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
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
connect()
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
callbackha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
disconnect()
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
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
flush()
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
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getConnections()
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
callbackha il seguente aspetto:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Resi
-
Promise<ConnectionInfo[]>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getControlSignals()
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
callbackha il seguente aspetto:(signals: DeviceControlSignals) => void
-
indicatori
-
Resi
-
Promise<DeviceControlSignals>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getDevices()
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
callbackha il seguente aspetto:(ports: DeviceInfo[]) => void
-
ports
-
Resi
-
Promise<DeviceInfo[]>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getInfo()
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
callbackha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
send()
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
callbackha il seguente aspetto:(sendInfo: SendInfo) => void
-
sendInfo
-
Resi
-
Promise<SendInfo>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setBreak()
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
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setControlSignals()
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
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setPaused()
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
callbackha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
update()
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
Opzioni di configurazione delle porte.
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe 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
callbackha il seguente aspetto:(info: ReceiveInfo) => void
-
informazioni
-
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
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-