chrome.serial

Description

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

Autorisations

serial

Types

ConnectionInfo

Propriétés

  • bitrate

    number facultatif

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

  • bufferSize

    Total

    Voir les ConnectionOptions.bufferSize

  • connectionId

    Total

    ID de la connexion au port série.

  • ctsFlowControl

    booléen 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 indiquant si la connexion est bloquée pour déclencher des événements onReceive.

  • SSD

    booléen

    Voir les ConnectionOptions.persistent

  • receiveTimeout

    Total

    Voir les ConnectionOptions.receiveTimeout

  • sendTimeout

    Total

    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 binaire demandé pour la connexion à ouvrir. Pour une compatibilité avec la plus large gamme de matériel, ce nombre doit correspondre à l'un des débits binaires couramment disponibles, tels que 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Bien sûr, rien ne garantit que l'appareil connecté au port série prendra en charge le débit binaire demandé, même si le port lui-même le prend en charge. 9600 sera transmis par défaut.

  • bufferSize

    number facultatif

    Taille du tampon utilisé pour recevoir les données. La valeur par défaut est 4 096.

  • ctsFlowControl

    booléen facultatif

    Indique s'il faut activer ou non le contrôle du flux matériel RTS/CTS. Valeur par défaut : "false".

  • dataBits

    DataBits facultatif

    "eight" sera transmis par défaut.

  • nom

    chaîne facultative

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

  • parityBit

    ParityBit facultatif

    "no" sera transmis par défaut.

  • SSD

    booléen facultatif

    Indicateur indiquant si la connexion doit rester ouverte lorsque l'application est suspendue (voir Gérer le cycle de vie des applications). 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

    Délai maximal (en millisecondes) d'attente de nouvelles données avant de générer un événement onReceiveError avec une erreur "timeout" (délai dépassé). 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

    Délai maximal (en millisecondes) d'attente pour qu'une opération send se termine avant d'appeler le rappel avec une erreur de "timeout". 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, prêt à émettre).

  • dcd

    booléen

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

  • dsr

    booléen

    DSR (ensemble de données prêt).

  • ri

    booléen

    RI (indicateur de sonnerie).

DeviceInfo

Propriétés

  • displayName

    chaîne facultative

    Nom à afficher lisible pour l'appareil sous-jacent, si un nom peut être demandé au 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 de produit USB, si un ID peut être déterminé pour l'appareil sous-jacent.

  • vendorId

    number facultatif

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

HostControlSignals

Propriétés

  • dtr

    booléen facultatif

    DTR (Data Terminal Ready, terminal de données prêt)

  • rts

    booléen facultatif

    RTS (Request To Send, Demande d'envoi)

ParityBit

Énumération

"non"

"odd"

"even"

ReceiveError

Énumération

"disconnected"
La connexion a été déconnectée.

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

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

"break"
L'appareil a détecté une condition d'arrêt.

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

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

"buffer_overflow"
Un dépassement de 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 peut être irrécupérable.

ReceiveErrorInfo

Propriétés

  • connectionId

    Total

    Identifiant de la connexion.

  • erreur

    Code d'erreur indiquant ce qui s'est mal passé.

ReceiveInfo

Propriétés

  • connectionId

    Total

    Identifiant de la connexion.

  • données

    ArrayBuffer

    Les données reçues.

SendError

Énumération

"disconnected"
La connexion a été déconnectée.

En attente
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 peut être irrécupérable.

SendInfo

Propriétés

  • bytesSent

    Total

    Nombre d'octets envoyés.

  • erreur

    SendError facultatif

    Code d'erreur en cas d'erreur.

StopBits

Énumération

"one"

"two"

Méthodes

clearBreak()

Promise Chrome 45 et versions ultérieures
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 sans interruption.

Paramètres

  • connectionId

    Total

    Identifiant 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 et versions ultérieures

    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 du port.

  • callback

    function facultatif

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

    (connectionInfo: ConnectionInfo) => void

Renvoie

  • Chrome 117 et versions ultérieures

    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

    Total

    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 et versions ultérieures

    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

    Total

  • callback

    function facultatif

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

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 et versions ultérieures

    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 et versions ultérieures

    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

  • connectionId

    Total

    Identifiant de la connexion.

  • callback

    function facultatif

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

    (signals: DeviceControlSignals) => void

Renvoie

  • Chrome 117 et versions ultérieures

    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 périphériques série disponibles sur le système. La liste est régénérée 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 et versions ultérieures

    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

    Total

    ID de la connexion ouverte.

  • callback

    function facultatif

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

    (connectionInfo: ConnectionInfo) => void

Renvoie

  • Chrome 117 et versions ultérieures

    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 spécifiée.

Paramètres

  • connectionId

    Total

    Identifiant 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 et versions ultérieures

    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 et versions ultérieures
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'arrêt jusqu'à ce que clearBreak soit appelé.

Paramètres

  • connectionId

    Total

    Identifiant 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 et versions ultérieures

    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

    Total

    Identifiant de la connexion.

  • Ensemble de modifications du 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 et versions ultérieures

    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

    Total

    ID de la connexion ouverte.

  • mis en veille

    booléen

    Indicateur permettant d'indiquer s'il faut suspendre ou réactiver.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 117 et versions ultérieures

    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

    Total

    ID de la connexion ouverte.

  • Options de configuration du port.

  • callback

    function facultatif

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

    (result: boolean) => void

    • résultat

      booléen

Renvoie

  • Promise<boolean>

    Chrome 117 et versions ultérieures

    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 le runtime 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 en pause la connexion.

Paramètres