Contrôle De La Fonction Serialport - Yoctopuce Yocto-RS485-V2 Mode D'emploi

Table des Matières

Publicité

• dans une fonction async, tout appel préfixé par await a pour effet de chaîner automatiquement
la promesses retournées par la fonction appelée à une promesse de continue l'exécution de
l'appelant
• tout exception durant l'exécution d'une fonction async déclenche le flot de traitement d'erreur
de la promesse.
En clair, async et await permettent d'écrire du code TypeScript avec tous les avantages des entrées/
sorties asynchrones, mais sans interrompre le flot d'écriture du code. Cela revient quasiment à une
exécution multi-tâche, mais en garantissant que le passage de contrôle d'une tâche à l'autre ne se
produira que là où le mot-clé await apparaît.
Cette librairie TypeScript utilise donc les objets Promise et des méthodes async, pour vous permettre
d'utiliser la notation await si pratique. Et pour ne pas devoir vous poser la question pour chaque
méthode de savoir si elle est asynchrone ou pas, la convention est la suivante: en principe toutes les
méthodes publiques de la librairie TypeScript sont async, c'est-à-dire qu'elles retournent un objet
Promise, sauf:
GetTickCount()
de sens...
FindModule()
l'énumération des modules est faite en tâche de fond sur des structures internes qui sont
gérées de manière transparente, et qu'il n'est donc pas nécessaire de faire des opérations
bloquantes durant le simple parcours de ces listes de modules.
Dans la plupart des cas, le typage fort de TypeScript sera là pour vous rappeler d'utiliser
de l'appel d'une méthode asynchrone.
15.3. Contrôle de la fonction SerialPort
Il suffit de quelques lignes de code pour piloter un Yocto-RS485-V2. Voici le squelette d'un fragment
de code TypeScript qui utilise la fonction SerialPort.
// En Node.js, on référence la librairie via son package NPM
// En HTML, on utiliserait plutôt un path relatif (selon l'environnement)
import { YAPI, YErrorMsg,
import {
YSerialPort
[...]
// On active l'accès aux modules locaux à travers le VirtualHub
await YAPI.RegisterHub('127.0.0.1');
[...]
// On récupère l'objet permettant d'intéragir avec le module
let serialport:
YSerialPort
// Pour gérer le hot-plug, on vérifie que le module est là
if(await serialport.isOnline())
{
// Utiliser serialport.get_serialMode()
[...]
}
Voyons maintenant en détail ce que font ces quelques lignes.
Import de yocto_api et yocto_serialport
Ces deux imports permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api
gérer les modules contenant un port série, comme le Yocto-RS485-V2. D'autres classes peuvent
être utiles dans d'autres cas, comme
n'importe quel type de module Yoctopuce.
Pour que
yocto_api
(soit celles de Node.js, soit celles du navigateur dans le cas d'une application HTML), il faut que
www.yoctopuce.com
, parce que mesurer le temps de manière asynchrone n'a pas beaucoup
,
,
FirstModule()
YModule
} from 'yoctolib-cjs/yocto_api_nodejs.js';
} from 'yoctolib-cjs/yocto_serialport.js';
= YSerialPort.FindSerialPort("RS485MK2-123456.serialPort");
doit toujours être inclus, et
YModule
soit correctement lié aux librairies réseau à utiliser pour établir la connexion
15. Utilisation du Yocto-RS485-V2 en TypeScript
, ... parce que la détection et
nextModule()
yocto_serialport
qui vous permet de faire une énumération de
lors
await
est nécessaire pour
113

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-rs232

Table des Matières