Contrôle De La Fonction Genericsensor - Yoctopuce Yocto-milliVolt-Rx-BNC 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.
13.3. Contrôle de la fonction GenericSensor
Il suffit de quelques lignes de code pour piloter un Yocto-milliVolt-Rx-BNC. Voici le squelette d'un
fragment de code TypeScript qui utilise la fonction GenericSensor.
// 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 {
YGenericSensor
[...]
// 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 genericsensor:
("RXMVOLT2-123456.genericSensor1");
// Pour gérer le hot-plug, on vérifie que le module est là
if(await genericsensor.isOnline())
{
// Utiliser genericsensor.get_currentValue()
[...]
}
Voyons maintenant en détail ce que font ces quelques lignes.
Import de yocto_api et yocto_genericsensor
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 capteur générique, comme le Yocto-milliVolt-Rx-BNC. D'autres
classes peuvent être utiles dans d'autres cas, comme
énumération de 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_genericsensor.js';
YGenericSensor
=
YGenericSensor.FindGenericSensor
doit toujours être inclus, et
soit correctement lié aux librairies réseau à utiliser pour établir la connexion
13. Utilisation du Yocto-milliVolt-Rx-BNC en TypeScript
,
, ... parce que la détection et
nextModule()
yocto_genericsensor
YModule
await
est nécessaire pour
qui vous permet de faire une
lors
95

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-0-10v-rx

Table des Matières