Descrizione
Utilizza l'API chrome.serial
per leggere e scrivere su un dispositivo connesso a una porta seriale.
Autorizzazioni
serial
Tipi
ConnectionInfo
Proprietà
-
bitrate
number facoltativo
Leggi i
ConnectionOptions.bitrate
. Questo campo potrebbe essere omesso o impreciso se è in uso una velocità in bit non standard o se si è verificato un errore durante la query del dispositivo sottostante. -
bufferSize
numero
Visualizza
ConnectionOptions.bufferSize
-
connectionId
numero
L'ID della connessione della porta seriale.
-
ctsFlowControl
booleano facoltativo
Leggi i
ConnectionOptions.ctsFlowControl
. Questo campo può essere omesso se si è verificato un errore durante la query del dispositivo sottostante. -
dataBits
DataBits facoltativo
Leggi i
ConnectionOptions.dataBits
. Questo campo può essere omesso se si è verificato un errore durante la query del 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 la query del 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 la query del dispositivo sottostante.
ConnectionOptions
Proprietà
-
bitrate
number facoltativo
La velocità in bit richiesta della connessione da aprire. Per la compatibilità con la più ampia gamma di hardware, questo numero deve corrispondere a una delle frequenze in bit comunemente disponibili, ad esempio 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Naturalmente, non è garantito che il dispositivo collegato alla porta seriale supporti la velocità in bit richiesta, anche se la porta stessa la supporta.
9600
verrà passato per impostazione predefinita. -
bufferSize
number facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
ctsFlowControl
booleano facoltativo
Flag che indica se attivare o meno il controllo del flusso hardware RTS/CTS. Il valore predefinito è false.
-
dataBits
DataBits facoltativo
"eight"
verrà passato per impostazione predefinita. -
nome
stringa facoltativa
Una stringa definita dall'applicazione da associare alla connessione.
-
parityBit
ParityBit facoltativo
"no"
verrà passato per impostazione predefinita. -
persistente
booleano facoltativo
Indica se la connessione deve essere lasciata aperta o meno quando l'applicazione è sospesa (vedi Gestire 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 facoltativo
Il tempo massimo (in millisecondi) da attendere per i nuovi dati prima di generare un evento
onReceiveError
con un errore di tipo "timeout". Se è pari a zero, non verranno generati errori di timeout di ricezione per la connessione. Il valore predefinito è 0. -
sendTimeout
number facoltativo
Il tempo massimo (in millisecondi) di attesa per il completamento di un'operazione
send
prima di chiamare il callback con un errore "timeout". Se è pari a zero, non verranno attivati errori di timeout di invio. Il valore predefinito è 0. -
stopBits
StopBits facoltativo
"one"
verrà passato 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 (indicatore di anello).
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 valore deve essere passato come argomento
path
achrome.serial.connect
per connettersi al dispositivo. -
productId
number facoltativo
Un ID prodotto USB, se è possibile determinarlo per il dispositivo sottostante.
-
vendorId
number facoltativo
Un ID fornitore PCI o USB, se può essere determinato per il dispositivo sottostante.
HostControlSignals
Proprietà
-
dtr
booleano facoltativo
DTR (Data Terminal Ready).
-
rts
booleano facoltativo
RTS (Request To Send).
ParityBit
Enum
"no"
"odd"
"anche"
ReceiveError
Enum
"disconnected"
La connessione è stata disconnessa.
"timeout"
Nessun dato è stato ricevuto per receiveTimeout
millisecondi.
"device_lost"
È molto probabile che il dispositivo sia stato disconnesso dall'host.
"break"
Il dispositivo ha rilevato una condizione di interruzione.
"frame_error"
Il dispositivo ha rilevato un errore di inquadratura.
"overrun"
Si è verificato un overrun del buffer di caratteri. Il carattere successivo viene 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 va.
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 ha superato il tempo di attesa.
"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,
)
Ripristina la trasmissione dei caratteri su una determinata connessione e imposta la linea di trasmissione in uno stato non di interruzione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse 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,
)
Si connette a una determinata porta seriale.
Parametri
-
percorso
stringa
Il percorso di sistema della porta seriale da aprire.
-
opzioni
ConnectionOptions facoltativo
Opzioni di configurazione delle porte.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promesse 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,
)
Si scollegano da una porta seriale.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse 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,
)
Svuota tutti i byte nei buffer di input e di output della connessione specificata.
Parametri
-
connectionId
numero
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Recupera l'elenco delle connessioni alla porta seriale attualmente aperte di proprietà dell'applicazione.
Parametri
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Resi
-
Promise<ConnectionInfo[]>
Chrome 117 e versioni successiveLe promesse 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,
)
Recupera lo stato degli indicatori di controllo su una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(signals: DeviceControlSignals) => void
-
indicatori
-
Resi
-
Promise<DeviceControlSignals>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Restituisce informazioni sui dispositivi seriali disponibili nel sistema. L'elenco viene rigenerato ogni volta che viene chiamato questo metodo.
Parametri
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(ports: DeviceInfo[]) => void
-
ports
-
Resi
-
Promise<DeviceInfo[]>
Chrome 117 e versioni successiveLe promesse 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,
)
Recupera lo stato di una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promesse 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,
)
Scrive i dati nella connessione specificata.
Parametri
-
connectionId
numero
L'ID della connessione.
-
dati
ArrayBuffer
I dati da inviare.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(sendInfo: SendInfo) => void
-
sendInfo
-
Resi
-
Promise<SendInfo>
Chrome 117 e versioni successiveLe promesse 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,
)
Sospende la trasmissione di caratteri su una determinata connessione e inserisce la linea di trasmissione in uno stato di interruzione fino a quando non viene chiamato clearBreak.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse 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,
)
Imposta lo stato degli indicatori di controllo su una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
indicatori
L'insieme di modifiche ai segnali da inviare al dispositivo.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse 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,
)
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 meno.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117 e versioni successiveLe promesse 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,
)
Aggiorna le impostazioni dell'opzione su una connessione della porta seriale aperta.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
opzioni
Opzioni di configurazione delle porte.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse 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
-
informazioni
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Evento attivato quando si è verificato un errore durante l'attesa dei dati sulla porta seriale da parte del runtime. Una volta attivato questo evento, la connessione potrebbe essere impostata su paused
. Un errore "timeout"
non mette in pausa la connessione.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-