Descrizione
Usa l'API chrome.serial
per leggere e scrivere su un dispositivo connesso a una porta seriale.
Autorizzazioni
serial
Tipi
ConnectionInfo
Proprietà
-
bitrate
numero facoltativo
Leggi i
ConnectionOptions.bitrate
. Questo campo potrebbe essere omesso o non preciso se viene utilizzata una velocità in bit 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
booleano facoltativo
Leggi i
ConnectionOptions.ctsFlowControl
. Questo campo potrebbe 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 potrebbe 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 potrebbe essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante. -
in pausa
boolean
Flag che indica se la connessione è bloccata dall'attivazione di eventi onRicevi.
-
permanente
boolean
Visualizza
ConnectionOptions.persistent
-
receiveTimeout
numero
Visualizza
ConnectionOptions.receiveTimeout
-
sendTimeout
numero
Visualizza
ConnectionOptions.sendTimeout
-
stopBits
StopBits facoltativo
Leggi i
ConnectionOptions.stopBits
. Questo campo potrebbe essere omesso se si è verificato un errore durante l'esecuzione di una query sul dispositivo sottostante.
ConnectionOptions
Proprietà
-
bitrate
numero facoltativo
La velocità in bit richiesta della connessione da aprire. Per garantire la compatibilità con la più ampia gamma di hardware, questo numero dovrebbe corrispondere a una delle velocità in bit comunemente disponibili, ad esempio 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Non c'è alcuna garanzia, ovviamente, che il dispositivo collegato alla porta seriale supporterà la velocità in bit richiesta, anche se la porta stessa supporta questa velocità.
9600
verrà passato per impostazione predefinita. -
bufferSize
numero facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
ctsFlowControl
booleano facoltativo
Flag che indica se abilitare o meno il controllo del flusso hardware RTS/CTS. Il valore predefinito è false.
-
dataBits
DataBits facoltativo
"eight"
verrà passato per impostazione predefinita. -
nome
stringa facoltativo
Una stringa definita dall'applicazione da associare alla connessione.
-
parityBit
ParityBit facoltativo
"no"
verrà passato per impostazione predefinita. -
permanente
booleano facoltativo
Flag che indica se la connessione deve essere lasciata aperta o meno quando l'applicazione viene sospesa (vedi Gestione del ciclo di vita delle app). Il valore predefinito è "false". Una volta caricata l'applicazione, tutte le connessioni seriali aperte in precedenza con permanente=true possono essere recuperate con
getConnections
. -
receiveTimeout
numero facoltativo
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 è pari a zero, gli errori di timeout di ricezione non verranno segnalati per la connessione. Il valore predefinito è 0. -
sendTimeout
numero facoltativo
Il tempo massimo (in millisecondi) di attesa per il completamento di un'operazione
send
prima della chiamata del callback con un errore di "timeout". Se il valore è pari a zero, gli errori di timeout dell'invio non verranno attivati. Il valore predefinito è 0. -
stopBits
StopBits facoltativo
"one"
verrà passato per impostazione predefinita.
DataBits
Enum
DeviceControlSignals
Proprietà
-
cts
boolean
CTS (Cancella per inviare).
-
DDC
boolean
DCD (Data Carrier Detect) o RLSD (Ricevi Line Signal/ Detect).
-
DSR
boolean
DSR (Set di dati pronto).
-
ri
boolean
RI (Indicatore della suoneria).
DeviceInfo
Proprietà
-
displayName
stringa facoltativo
Un nome visualizzato leggibile per il dispositivo sottostante, nel caso in cui sia possibile eseguire una query dal driver host.
-
percorso
stringa
Il percorso di sistema del dispositivo. Questo deve essere passato come argomento
path
achrome.serial.connect
per la connessione a questo dispositivo. -
productId
numero facoltativo
Un ID prodotto USB, se è possibile determinarne uno per il dispositivo sottostante.
-
vendorId
numero facoltativo
Un ID fornitore PCI o USB, se è possibile determinarne uno per il dispositivo sottostante.
HostControlSignals
Proprietà
-
DR
booleano facoltativo
DTR (Data Terminal Ready).
-
rt
booleano facoltativo
RTS (Richiesta di invio).
ParityBit
Enum
"no"
ReceiveError
Enum
"disconnesso"
La connessione è stata disconnessa.
"timeout"
Nessun dato ricevuto per receiveTimeout
millisecondi.
"device_lost"
È molto probabile che il dispositivo si sia 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 superamento del buffer dei caratteri. Il carattere successivo è andato perso.
"buffer_overflow"
Si è verificato un overflow del buffer di input. Non c'è spazio nel buffer di input oppure è 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 il problema.
ReceiveInfo
Proprietà
-
connectionId
numero
L'identificatore della connessione.
-
dati
ArrayBuffer
I dati ricevuti.
SendError
Enum
"disconnesso"
La connessione è stata disconnessa.
"pending"
Un invio era già in attesa.
"timeout"
Timeout dell'invio.
"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
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 di interruzione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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 della porta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Ritorni
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Si disconnette da una porta seriale.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Elimina tutti i byte nei buffer di input e di output della connessione specificata.
Parametri
-
connectionId
numero
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Recupera l'elenco delle connessioni di porte seriali attualmente aperte di proprietà dell'applicazione.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Ritorni
-
Promise<ConnectionInfo[]>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(signals: DeviceControlSignals) => void
-
indicatore
-
Ritorni
-
Promise<DeviceControlSignals>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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 richiamato questo metodo.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(ports: DeviceInfo[]) => void
-
ports
-
Ritorni
-
Promise<DeviceInfo[]>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Ritorni
-
Promise<ConnectionInfo>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(sendInfo: SendInfo) => void
-
sendInfo
-
Ritorni
-
Promise<SendInfo>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Sospende la trasmissione dei caratteri su una determinata connessione e mette la linea di trasmissione in uno stato di interruzione fino a quando non viene richiamata clearBreak.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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.
-
indicatore
L'insieme di segnali cambia da inviare al dispositivo.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Mette in pausa o riattiva una connessione aperta.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
in pausa
boolean
Flag per indicare se mettere in pausa o riattivare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Aggiorna le impostazioni delle opzioni su una connessione con porta seriale aperta.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
opzioni
Opzioni di configurazione della porta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
Ritorni
-
Promise<boolean>
Chrome 117 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
Eventi
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Evento generato 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 generato quando si è verificato un errore mentre il runtime era in attesa di dati sulla porta seriale. Dopo aver attivato questo evento, la connessione potrebbe essere impostata su paused
. Un errore "timeout"
non interrompe la connessione.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-