chrome.serial

Description

Utilisez l'API chrome.serial pour lire et écrire sur un appareil connecté à un port série.

Autorisations

serial

Disponibilité

ChromeOS uniquement

Types

ConnectionInfo

Propriétés

  • bitrate

    number facultatif

    Consultez les ConnectionOptions.bitrate. Ce champ peut être omis ou inexact si un débit non standard est utilisé ou si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.

  • bufferSize

    nombre

    Voir les ConnectionOptions.bufferSize

  • connectionId

    nombre

    ID de la connexion au port série.

  • ctsFlowControl

    boolean facultatif

    Consultez les ConnectionOptions.ctsFlowControl. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.

  • dataBits

    DataBits facultatif

    Consultez les ConnectionOptions.dataBits. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.

  • nom

    chaîne

    Voir les ConnectionOptions.name

  • parityBit

    ParityBit facultatif

    Consultez les ConnectionOptions.parityBit. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.

  • mis en veille

    booléen

    Indicateur signalant si la connexion est bloquée pour déclencher des événements onReceive.

  • persistant

    booléen

    Voir les ConnectionOptions.persistent

  • receiveTimeout

    nombre

    Voir les ConnectionOptions.receiveTimeout

  • sendTimeout

    nombre

    Voir les ConnectionOptions.sendTimeout

  • stopBits

    StopBits facultatif

    Consultez les ConnectionOptions.stopBits. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.

ConnectionOptions

Propriétés

  • bitrate

    number facultatif

    Débit demandé pour la connexion à ouvrir. Pour une compatibilité avec le plus grand nombre de matériels, ce nombre doit correspondre à l'un des débits couramment disponibles, tels que 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Bien entendu, rien ne garantit que l'appareil connecté au port série acceptera le débit demandé, même si le port lui-même le prend en charge. 9600 sera transmis par défaut.

  • bufferSize

    number facultatif

    Taille de la mémoire tampon utilisée pour recevoir les données. La valeur par défaut est 4096.

  • ctsFlowControl

    boolean facultatif

    Indicateur permettant d'activer ou non le contrôle de flux matériel RTS/CTS. Valeur par défaut : "false".

  • dataBits

    DataBits facultatif

    "eight" sera transmis par défaut.

  • nom

    chaîne facultatif

    Chaîne définie par l'application à associer à la connexion.

  • parityBit

    ParityBit facultatif

    "no" sera transmis par défaut.

  • persistant

    boolean facultatif

    Indicateur signalant si la connexion doit rester ouverte ou non lorsque l'application est suspendue (voir Gérer le cycle de vie de l'application). La valeur par défaut est "false". Lorsque l'application est chargée, toutes les connexions série précédemment ouvertes avec persistent=true peuvent être récupérées avec getConnections.

  • receiveTimeout

    number facultatif

    Durée maximale (en millisecondes) d'attente de nouvelles données avant de déclencher un événement onReceiveError avec une erreur "timeout". Si la valeur est zéro, aucune erreur de délai avant expiration de réception ne sera générée pour la connexion. La valeur par défaut est 0.

  • sendTimeout

    number facultatif

    Durée maximale (en millisecondes) d'attente de la fin d'une opération send avant d'appeler le rappel avec une erreur de délai avant expiration. Si la valeur est zéro, les erreurs de délai avant expiration de l'envoi ne seront pas déclenchées. La valeur par défaut est 0.

  • stopBits

    StopBits facultatif

    "one" sera transmis par défaut.

DataBits

Énumération

"seven"

"eight"

DeviceControlSignals

Propriétés

  • cts

    booléen

    CTS (Clear To Send).

  • dcd

    booléen

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

  • dsr

    booléen

    DSR (Data Set Ready).

  • ri

    booléen

    RI (Ring Indicator, indicateur de sonnerie).

DeviceInfo

Propriétés

  • displayName

    chaîne facultatif

    Nom à afficher lisible par l'humain pour l'appareil sous-jacent, s'il peut être interrogé à partir du pilote hôte.

  • chemin d'accès

    chaîne

    Chemin d'accès système de l'appareil. Il doit être transmis en tant qu'argument path à chrome.serial.connect pour se connecter à cet appareil.

  • productId

    number facultatif

    ID produit USB, s'il peut être déterminé pour l'appareil sous-jacent.

  • vendorId

    number facultatif

    Un ID de fournisseur PCI ou USB, s'il peut être déterminé pour l'appareil sous-jacent.

HostControlSignals

Propriétés

  • dtr

    boolean facultatif

    DTR (Data Terminal Ready).

  • rts

    boolean facultatif

    RTS (Request To Send).

ParityBit

Énumération

"no"

"odd"

"even"

ReceiveError

Énumération

"disconnected"
La connexion a été interrompue.

"timeout"
Aucune donnée n'a été reçue pendant receiveTimeout millisecondes.

"device_lost"
L'appareil a probablement été déconnecté de l'hôte.

"break"
L'appareil a détecté une condition d'interruption.

"frame_error"
L'appareil a détecté une erreur de cadrage.

"overrun"
Un dépassement de la mémoire tampon de caractères s'est produit. Le caractère suivant est perdu.

"buffer_overflow"
Un dépassement de la mémoire tampon d'entrée s'est produit. Il n'y a pas de place dans le tampon d'entrée, ou un caractère a été reçu après le caractère de fin de fichier (EOF).

"parity_error"
L'appareil a détecté une erreur de parité.

"system_error"
Une erreur système s'est produite et la connexion est peut-être irrécupérable.

ReceiveErrorInfo

Propriétés

  • connectionId

    nombre

    Identifiant de la connexion.

  • erreur

    Un code d'erreur indiquant le problème.

ReceiveInfo

Propriétés

  • connectionId

    nombre

    Identifiant de la connexion.

  • données

    ArrayBuffer

    Les données reçues.

SendError

Énumération

"disconnected"
La connexion a été interrompue.

"pending"
Un envoi était déjà en attente.

"timeout"
Le délai d'envoi a expiré.

"system_error"
Une erreur système s'est produite et la connexion est peut-être irrécupérable.

SendInfo

Propriétés

  • bytesSent

    nombre

    Nombre d'octets envoyés.

  • erreur

    SendError facultatif

    Un code d'erreur si une erreur s'est produite.

StopBits

Énumération

"one"

"two"

Méthodes

clearBreak()

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

Restaure la transmission de caractères sur une connexion donnée et place la ligne de transmission dans un état non interrompu.

Paramètres

  • connectionId

    nombre

    ID de la connexion.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

connect()

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

Se connecte à un port série donné.

Paramètres

  • chemin d'accès

    chaîne

    Chemin d'accès système du port série à ouvrir.

  • options

    ConnectionOptions facultatif

    Options de configuration des ports.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (connectionInfo: ConnectionInfo) => void

Renvoie

  • Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

disconnect()

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

Se déconnecte d'un port série.

Paramètres

  • connectionId

    nombre

    ID de la connexion ouverte.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

flush()

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

Vide tous les octets des tampons d'entrée et de sortie de la connexion donnée.

Paramètres

  • connectionId

    nombre

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getConnections()

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

Récupère la liste des connexions de port série actuellement ouvertes appartenant à l'application.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (connectionInfos: ConnectionInfo[]) => void

Renvoie

  • Promise<ConnectionInfo[]>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getControlSignals()

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

Récupère l'état des signaux de contrôle sur une connexion donnée.

Paramètres

Renvoie

  • Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getDevices()

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

Renvoie des informations sur les appareils série disponibles sur le système. La liste est générée à nouveau chaque fois que cette méthode est appelée.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (ports: DeviceInfo[]) => void

Renvoie

  • Promise<DeviceInfo[]>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getInfo()

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

Récupère l'état d'une connexion donnée.

Paramètres

  • connectionId

    nombre

    ID de la connexion ouverte.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (connectionInfo: ConnectionInfo) => void

Renvoie

  • Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

send()

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

Écrit des données dans la connexion donnée.

Paramètres

  • connectionId

    nombre

    ID de la connexion.

  • données

    ArrayBuffer

    Données à envoyer.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (sendInfo: SendInfo) => void

Renvoie

  • Promise<SendInfo>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setBreak()

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

Suspend la transmission de caractères sur une connexion donnée et place la ligne de transmission dans un état d'interruption jusqu'à ce que clearBreak soit appelé.

Paramètres

  • connectionId

    nombre

    ID de la connexion.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setControlSignals()

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

Définit l'état des signaux de contrôle sur une connexion donnée.

Paramètres

  • connectionId

    nombre

    ID de la connexion.

  • Ensemble de modifications de signal à envoyer à l'appareil.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setPaused()

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

Met en pause ou réactive une connexion ouverte.

Paramètres

  • connectionId

    nombre

    ID de la connexion ouverte.

  • mis en veille

    booléen

    Indicateur permettant de suspendre ou de réactiver la diffusion.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

update()

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

Mettez à jour les paramètres d'option sur une connexion de port série ouverte.

Paramètres

  • connectionId

    nombre

    ID de la connexion ouverte.

  • Options de configuration des ports.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onReceive

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

Événement déclenché lorsque des données ont été lues à partir de la connexion.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (info: ReceiveInfo) => void

onReceiveError

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

Événement déclenché lorsqu'une erreur s'est produite pendant que l'environnement d'exécution attendait des données sur le port série. Une fois cet événement déclenché, la connexion peut être définie sur paused. Une erreur "timeout" ne met pas la connexion en pause.

Paramètres