5.4. CurrentLoopOutput ......................5.5. Quelle interface: Native, DLL ou Service? ............... 5.6. Programmation, par où commencer? ................6. Utilisation du Yocto-4-20mA-Tx en ligne de commande ........ 6.1. Installation .......................... 6.2. Utilisation: description générale ..................6.3. Contrôle de la fonction CurrentLoopOutput ..............
Page 4
7. Utilisation du Yocto-4-20mA-Tx en JavaScript / EcmaScript ...... 7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript ........7.2. Utiliser la librairie Yoctopuce pour JavaScript / EcmaScript 2017 ....... 7.3. Contrôle de la fonction CurrentLoopOutput ..............7.4. Contrôle de la partie module ....................
Page 5
14.2. Contrôle de la fonction CurrentLoopOutput ..............14.3. Contrôle de la partie module ..................14.4. Gestion des erreurs ......................15. Utilisation du Yocto-4-20mA-Tx en Python ............15.1. Fichiers sources ......................15.2. Librairie dynamique ....................... 15.3. Contrôle de la fonction CurrentLoopOutput ...............
Page 6
23.4. Les exemples de programmation n'ont pas l'air de marcher ........23.5. Module alimenté mais invisible pour l'OS ..............23.6. Another process named xxx is already using yAPI ............ 23.7. Déconnexions, comportement erratique ..............23.8. Module endommagé ...................... 24. Caractéristiques ......................www.yoctopuce.com...
4-20mA est alimentée directement par la boucle de courant alors que la partie USB est alimentée par le bus USB. Le Yocto-4-20mA-Tx fonctionne avec des boucles alimentées de 12 à 24V DC. Il est capable de prendre au démarrage une valeur arbitraire préprogrammée. Il est aussi capable d'effectuer de manière autonome une transition linéaire entre deux valeurs spécifiées.
Suisse 1.1. Informations de sécurité Le Yocto-4-20mA-Tx est conçu pour respecter la norme de sécurité IEC 61010-1:2010. Il ne causera pas de danger majeur pour l'opérateur et la zone environnante, même en condition de premier défaut, pour autant qu'il soit intégré et utilisé conformément aux instructions contenues dans cette documentation, et en particulier dans cette section.
été déterminée en fonction des recommandations officielles des fabricants des composants utilisés dans le Yocto-4-20mA-Tx, et par des tests de durée limitée (1h) dans les conditions extrêmes, en environnement controllé. Si vous envisagez d'utiliser le Yocto-4-20mA-Tx dans des conditions de température extrêmes pour une période prolongée, il est recommandé...
Tous les Yocto-modules ont un certain nombre de fonctionnalités en commun. Le connecteur USB Les modules de Yoctopuce sont tous équipés d'une connectique USB 2.0 au format micro-B. Attention, le connecteur USB est simplement soudé en surface et peut être arraché si la prise USB venait à...
Chaque Yocto-module a un numéro de série unique attribué en usine, pour les modules Yocto-4-20mA-Tx ce numéro commence par TX420MA1. Le module peut être piloté par logiciel en utilisant ce numéro de série. Ce numéro de série ne peut pas être changé.
Pour obtenir la distance d'isolement/ ligne de fuite d'un module plus ancien, contactez le support Yoctopuce en communiquant le numéro de série du module ou la référence d'achat à votre demande.
Yoctopuce. Vis et entretoises Pour fixer le module Yocto-4-20mA-Tx à un support, vous pouvez placer des petites vis de 2.5mm avec une tête de 4.5mm au maximum dans les trous prévus ad-hoc. Il est conseillé de les visser dans des entretoises filetées, que vous pourrez fixer sur le support. Vous trouverez plus de détail à...
Page 15
2. Présentation Vous pouvez installer votre Yocto-4-20mA-Tx dans un boîtier optionnel. www.yoctopuce.com...
Linux est fait via l'API standard de la libusb, disponible aussi pour FreeBSD par exemple. Yoctopuce teste régulièrement le bon fonctionnement des modules sur un kernel Linux 4.15 (Ubuntu 18.04 LTS).
Yoctopuce. Vous devez raccorder votre module Yocto-4-20mA-Tx à l'aide d'un cable USB 2.0 de type A - micro B Si vous branchez un hub USB entre l'ordinateur et le module Yocto-4-20mA-Tx, prenez garde à ne pas dépasser les limites de courant imposées par USB, sous peine de faire face des comportements...
• Low power: la boucle est alimentée, mais la tension est insuffisante. • Not powered: la boucle n'est pas alimentée. Le Yocto-4-20mA-Tx est spécifié pour fonctionner avec une tension minimale de 12V sur le connecteur. C'est la tension minimale pour que le module soit capable de faire passer 20mA sur la boucle.
Nom logique des fonctions Chaque module Yoctopuce a un numéro de série, et un nom logique. De manière analogue, chaque fonction présente sur chaque module Yoctopuce a un nom matériel et un nom logique, ce dernier pouvant être librement choisi par l'utilisateur. Utiliser des noms logiques pour les fonctions permet une plus grande flexibilité...
Exemples de montage sur un support. Le module Yocto-4-20mA-Tx dispose de trous de montage 2.5mm. Vous pouvez utiliser ces trous pour y passer des vis. Le diamètre de la tête de ces vis ne devra pas dépasser 4.5mm, sous peine d'endommager les circuits du module.
2000mA, ça ne marche pas trop mal, et cela fait rarement des dégâts. Ce que vous devez en retenir: si vous branchez des modules Yoctopuce via un ou des hubs non alimentés, vous n'aurez aucun garde-fou et dépendrez entièrement du soin qu'aura mis le fabricant de votre ordinateur pour fournir un maximum de courant sur les ports USB et signaler les excès...
Page 23
Toujours par rapport aux normes de compatibilité électromagnétique, la longueur maximale supportée du câble USB est de 3m. En plus de pouvoir causer des problèmes de chute de tension, l'utilisation de câbles plus long aurait des incidences sur les test d'immunité électromagnétiques à effectuer pour respecter les normes. www.yoctopuce.com...
5.1. Paradigme de programmation L'API Yoctopuce est une API orientée objet. Mais dans un souci de simplicité, seules les bases de la programmation objet ont été utilisées. Même si la programmation objet ne vous est pas familière, il est peu probable que cela vous soit un obstacle à...
Programmation Dans l'API Yoctopuce, la priorité a été mise sur la facilité d'accès aux fonctionnalités des modules en offrant la possibilité de faire abstraction des modules qui les implémentent. Ainsi, il est parfaitement possible de travailler avec un ensemble de fonctionnalités sans jamais savoir exactement quel module les héberge au niveau matériel.
Inversement, la classe YModule dispose d'un certain nombre de méthodes permettant d'énumérer les fonctionnalités disponibles sur un module. 5.2. Le module Yocto-4-20mA-Tx Le module Yocto-4-20mA-Tx fournit une sortie de régulation de boucle de courant au standard 4-20mA. module : Module attribut...
Page 28
Chaine de caractères contenant le numéro de série, unique et préprogrammé en usine. Pour un module Yocto-4-20mA-Tx, ce numéro de série commence toujours par TX420MA1. Il peut servir comme point de départ pour accéder par programmation à un module particulier.
5. Programmation, concepts généraux 5.4. CurrentLoopOutput Interface pour intéragir avec les sorties 4-20mA, disponibles par exemple dans le Yocto-4-20mA-Tx La classe permet de piloter une sortie 4-20mA par régulation du courant YCurrentLoopOutput circulant dans la boucle. Elle permet aussi de connaitre l'état d'alimentation de la boucle de courant.
Certain langages ne permettent tout simplement pas d'accéder facilement au niveau matériel de la machine. C'est le cas de Javascript par exemple. Pour gérer ce cas Yoctopuce offre la solution sous la forme d'un petit service, appelé VirtualHub qui lui est capable d'accéder aux modules, et votre application n'a plus qu'à...
Page 31
✔ VisualBasic .Net ✔ ✔ C# .Net ✔ ✔ C# UWP ✔ EcmaScript / JavaScript ✔ ✔ ✔ Java ✔ ✔ Java pour Android ✔ ✔ Ligne de commande ✔ ✔ LabVIEW Méthode de support pour les différents langages. www.yoctopuce.com...
Arrivé à ce point du manuel, vous devriez connaître l'essentiel de la théorie à propos de votre Yocto-4-20mA-Tx. Il est temps de passer à la pratique. Il vous faut télécharger la librairie Yoctopuce pour votre language de programmation favori depuis le site web de Yoctopuce .
6. Utilisation du Yocto-4-20mA-Tx en ligne de commande Lorsque vous désirez effectuer une opération ponctuelle sur votre Yocto-4-20mA-Tx, comme la lecture d'une valeur, le changement d'un nom logique, etc.. vous pouvez bien sur utiliser le Virtual Hub, mais il existe une méthode encore plus simple, rapide et efficace: l'API en ligne de commande.
C:\>executable commande /help Pour obtenir une description détaillée des paramètres d'une commande. 6.3. Contrôle de la fonction CurrentLoopOutput Pour contrôler la fonction CurrentLoopOutput de votre Yocto-4-20mA-Tx, vous avez besoin de l'exécutable YCurrentLoopOutput. Vous pouvez par exemple lancer: C:\>YCurrentLoopOutput set_current 12 Cet exemple utilise la cible "any"...
6. Utilisation du Yocto-4-20mA-Tx en ligne de commande 6.4. Contrôle de la partie module Chaque module peut être contrôlé d'une manière similaire à l'aide de l'exécutable . Par YModule exemple, pour obtenir la liste de tous les modules connectés, utilisez: C:\>YModule inventory...
Page 36
6. Utilisation du Yocto-4-20mA-Tx en ligne de commande Vous obtenez un inventaire des modules connectés par USB, en utilisant un accès natif. Si il y a déjà une autre commande en cours qui accède aux modules en natif, cela ne fonctionnera pas. Mais si vous lancez un virtual hub et que vous lancez votre commande sous la forme: C:\>YModule -r 127.0.0.1 inventory...
JavaScript / EcmaScript 2017, afin de la différentier de la précédente Librairie pour JavaScript qu'elle remplace. Cette librairie permet d'accéder aux modules Yoctopuce depuis tous les environnements JavaScript modernes. Elle fonctionne aussi bien depuis un navigateur internet que dans un environnement Node.js.
7. Utilisation du Yocto-4-20mA-Tx en JavaScript / EcmaScript 7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript JavaScript a été conçu pour éviter toute situation de concurrence durant l'exécution. Il n'y a jamais qu'un seul thread en JavaScript. Cela signifie que si un programme effectue une attente active durant une communication réseau, par exemple pour lire un capteur, le programme entier se trouve...
JavaScript fait partie de ces langages qui ne vous permettront pas d'accéder directement aux couches matérielles de votre ordinateur. C'est pourquoi si vous désirez travailler avec des modules USB branchés par USB, vous devrez faire tourner la passerelle de Yoctopuce appelée VirtualHub sur la machine à laquelle sont branchés les modules.
7. Utilisation du Yocto-4-20mA-Tx en JavaScript / EcmaScript npm instal -g babel-cli npm instal babel-preset-env Normalement vous demanderez à Babel de poser les fichiers transpilés dans un autre répertoire, nommé par exemple. Pour ce faire, utilisez par exemple les commandes suivantes: comopat babel --presets env demo.js --out-dir compat/...
Ce dernier appel asynchrone peut aussi être formulé comme: myModule.get_syncProxy().then(logInfoProxy); 7.3. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code JavaScript qui utilise la fonction CurrentLoopOutput. // En Node.js, on utilise la fonction require() // En HTML, on utiliserait <script src="...">...
à en faire un petit programme d'exemple concret. Si le Yocto-4-20mA-Tx n'est pas branché sur la machine où fonctionne le navigateur internet, remplacez dans l'exemple l'adresse par l'adresse IP de la machine où...
Le même exemple, mais dans un navigateur Si vous voulez voir comment utiliser la librairie dans un navigateur plutôt que dans Node.js, changez de répertoire et allez dans example_html/Doc-GettingStarted-Yocto-4-20mA-Tx. Vous y trouverez un fichier html, avec une section JavaScript similaire au code précédent, mais avec quelques variantes pour permettre une interaction à...
7. Utilisation du Yocto-4-20mA-Tx en JavaScript / EcmaScript // Setup the API to use the VirtualHub on local machine let errmsg = new YErrorMsg(); if(await YAPI.RegisterHub('127.0.0.1', errmsg) != YAPI.SUCCESS) { alert('Cannot contact VirtualHub on 127.0.0.1: '+errmsg.msg); refresh(); async function refresh() let loop, serial = document.getElementById('serial').value;...
Page 45
7. Utilisation du Yocto-4-20mA-Tx en JavaScript / EcmaScript async function startDemo(args) await YAPI.LogUnhandledPromiseRejections(); // Setup the API to use the VirtualHub on local machine errmsg = new YErrorMsg(); if(await YAPI.RegisterHub('127.0.0.1', errmsg) != YAPI.SUCCESS) { console.log('Cannot contact VirtualHub on 127.0.0.1: '+errmsg.msg);...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
Vous n'avez pas besoin d'installer de driver. 8.2. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code PHP qui utilise la fonction CurrentLoopOutput. include('yocto_api.php');...
Page 50
Ces deux includes PHP permettent d'avoir accès aux fonctions permettant de gérer les modules Yoctopuce. doit toujours être inclus, yocto_api.php yocto_currentloopoutput.php nécessaire pour gérer les modules contenant une sortie 4-20mA, comme le Yocto-4-20mA-Tx. YAPI::RegisterHub La fonction permet d'indiquer sur quelle machine se trouve les modules YAPI::RegisterHub Yoctopuce, ou plus exactemenent sur quelle machine tourne le programme VirtualHub.
8. Utilisation du Yocto-4-20mA-Tx en PHP Un exemple réel Ouvrez votre éditeur de texte préféré , recopiez le code ci dessous, sauvez-le dans un répertoire accessible par votre serveur web/PHP avec les fichiers de la librairie, et ouvrez-la page avec votre browser favori.
8. Utilisation du Yocto-4-20mA-Tx en PHP <input type='submit'> </FORM> </BODY> </HTML> 8.3. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
Page 53
8. Utilisation du Yocto-4-20mA-Tx en PHP </HTML> Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
La librairie PHP est capable de fonctionner dans un mode spécial appelé Yocto-API par callback HTTP. Ce mode permet de contrôler des modules Yoctopuce installés derrière un filtre NAT tel qu'un routeur DSL par exemple, et ce sans avoir à un ouvrir un port. L'application typique est le contrôle de modules Yoctopuce situés sur réseau privé...
Page 55
8. Utilisation du Yocto-4-20mA-Tx en PHP Ce qui, transposé en terme de réseau, donne : les appareils connectés sur un réseau domestique peuvent communiquer entre eux en utilisant une adresse IP locale (du genre 192.168.xxx.yyy), et contacter des serveurs sur Internet par leur adresse publique, mais vu de l'extérieur, il n'y a qu'une seule adresse IP officielle, attribuée au routeur DSL exclusivement.
Page 56
8. Utilisation du Yocto-4-20mA-Tx en PHP L'API par callback HTTP utilise le VirtualHub, et c'est lui qui initie les requêtes. Configuration L'API callback se sert donc du Virtual Hub comme passerelle. Toutes les communications sont initiées par le Virtual Hub, ce sont donc des communication sortantes, et par conséquent parfaitement autorisée par le routeur DSL.
VirtualHub pour fonctionner. Pour coder un site Web qui contrôle des modules Yoctopuce de manière interactive, il faudra créer une interface utilisateur qui stockera dans un fichier ou une base de données les actions à effectuer sur les modules Yoctopuce. Ces actions seront ensuite lues puis exécutés par le script de contrôle.
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
à la création d'un projet à neuf linké avec les librairies Yoctopuce. 9.1. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code C++ qui utilise la fonction CurrentLoopOutput. #include "yocto_api.h"...
Page 60
Ces deux fichiers inclus permettent d'avoir accès aux fonctions permettant de gérer les modules Yoctopuce. doit toujours être utilisé, yocto_api.h yocto_currentloopoutput.h nécessaire pour gérer les modules contenant une sortie 4-20mA, comme le Yocto-4-20mA-Tx. YAPI::RegisterHub La fonction initialise l'API de Yoctopuce en indiquant où les modules YAPI::RegisterHub doivent être recherchés.
Page 61
Le paramètre est une valeur entre 3.0 et 21.0 mA. Un exemple réel Lancez votre environnement C++ et ouvrez le projet exemple correspondant, fourni dans le répertoire Examples/Doc-GettingStarted-Yocto-4-20mA-Tx de la librairie Yoctopuce. Si vous préférez travailler avec votre éditeur de texte préféré, ouvrez le fichier , vous taperez main.cpp...
9. Utilisation du Yocto-4-20mA-Tx en C++ (loopPower == Y_LOOPPOWER_LOWPWR) { cout << "Insufficient voltage on current loop" << endl; return 1; cout << "current loop set to " << value << " mA" << endl; } else { cout <<...
Page 63
9. Utilisation du Yocto-4-20mA-Tx en C++ Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
ASCII, etc.); • Elle facilite le déboggage si vous cherchez la cause d'un problème lié à la librairie Yoctopuce • Elle réduit les dépendances sur des composants tiers, par exemple pour parer au cas où vous pourriez être mené...
(...) -Wl,-Bstatic -lyocto-static -Wl,-Bdynamic -lm -lpthread -lusb-1.0 -lstdc++ Intégration en librairie dynamique L'intégration de la librairie Yoctopuce sous forme de librairie dynamique permet de produire un exécutable plus petit que les deux méthodes précédentes, et de mettre éventuellement à jour cette librairie si un correctif s'avérait nécessaire sans devoir recompiler le code source de l'application.
à vos projets. 10.1. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code Objective-C qui utilise la fonction CurrentLoopOutput. #import "yocto_api.h"...
Page 68
Ces deux fichiers importés permettent d'avoir accès aux fonctions permettant de gérer les modules Yoctopuce. doit toujours être utilisé, yocto_api.h yocto_currentloopoutput.h nécessaire pour gérer les modules contenant une sortie 4-20mA, comme le Yocto-4-20mA-Tx. [YAPI RegisterHub] La fonction initialise l'API de Yoctopuce en indiquant où les modules [YAPI RegisterHub] doivent être recherchés.
10. Utilisation du Yocto-4-20mA-Tx en Objective-C Un exemple réel Lancez Xcode 4.2 et ouvrez le projet exemple correspondant, fourni dans le répertoire Examples/ Doc-GettingStarted-Yocto-4-20mA-Tx de la librairie Yoctopuce. Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois utilisées avec le décorum nécessaire à...
10. Utilisation du Yocto-4-20mA-Tx en Objective-C 10.2. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
10. Utilisation du Yocto-4-20mA-Tx en Objective-C méthode . Ce petit exemple ci-dessous vous permet changer le nom logique revertFromFlash d'un module. #import <Foundation/Foundation.h> #import "yocto_api.h" static void usage(const char *exe) NSLog(@"usage: %s <serial> <newLogicalName>\n", exe); exit(1); main (int argc, const char...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
Page 73
10. Utilisation du Yocto-4-20mA-Tx en Objective-C méthodes . Ce sont les même informations qui auraient été errType() errMessage() associées à l'exception si elles avaient été actives. www.yoctopuce.com...
11.2. Utilisation l'API yoctopuce dans un projet Visual Basic La librairie Yoctopuce pour Visual Basic .NET se présente sous la forme d'une DLL et de fichiers sources en Visual Basic. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
11.3. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code VisualBasic .NET qui utilise la fonction CurrentLoopOutput. [...] ' On active la détection des modules sur USB...
11. Utilisation du Yocto-4-20mA-Tx en VisualBasic .NET currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.currentLoopOutput") currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.MaFonction") currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("MaFonction") renvoie un objet que vous pouvez ensuite YCurrentLoopOutput.FindCurrentLoopOutput utiliser à loisir pour contrôler la sortie sortie 4-20mA. isOnline méthode l'objet renvoyé isOnline() permet savoir module YCurrentLoopOutput.FindCurrentLoopOutput...
11. Utilisation du Yocto-4-20mA-Tx en VisualBasic .NET If (currentloop.isOnline()) Then currentloop.set_current(value) = currentloop.get_loopPower() (pwr = Y_LOOPPOWER_NOPWR) Then Console.WriteLine("Current loop is not powered") End If (pwr = Y_LOOPPOWER_NOPWR) Then Console.WriteLine("Insufficient voltage on current loop") End If Console.WriteLine("Current in loop set to "...
Page 79
11. Utilisation du Yocto-4-20mA-Tx en VisualBasic .NET End Module Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
Page 81
11. Utilisation du Yocto-4-20mA-Tx en VisualBasic .NET d'erreur pour chaque fonction est systématiquement documenté dans la référence de la librairie. Il suit toujours même logique: méthode retournera valeur get_state() méthode retournera valeur Y_STATE_INVALID get_currentValue , etc. Dans tous les cas, la valeur retournée sera du type attendu, et Y_CURRENTVALUE_INVALID ne sera pas un pointeur nul qui risquerait de faire crasher votre programme.
12.2. Utilisation l'API yoctopuce dans un projet Visual C# La librairie Yoctopuce pour Visual C# .NET se présente sous la forme d'une DLL et de fichiers sources en Visual C#. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
Il va de soit que que les fonctionnement des librairies est strictement identiques si vous les intégrez dans une application dotée d'une interface graphique. 12.3. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code C# qui utilise la fonction CurrentLoopOutput. [...] // On active la détection des modules sur USB...
Page 85
12. Utilisation du Yocto-4-20mA-Tx en C# currentloopoutput YCurrentLoopOutput.FindCurrentLoopOutput ("TX420MA1-123456.currentLoopOutput"); currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("TX420MA1-123456.MaFonction"); currentloopoutput YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.currentLoopOutput" currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.MaFonction"); currentloopoutput = YCurrentLoopOutput.FindCurrentLoopOutput("MaFonction"); renvoie un objet que vous pouvez ensuite YCurrentLoopOutput.FindCurrentLoopOutput utiliser à loisir pour contrôler la sortie sortie 4-20mA. isOnline méthode l'objet renvoyé...
Page 87
12. Utilisation du Yocto-4-20mA-Tx en C# (args.Length < 1) usage(); = YModule.FindModule(args[0]); // use serial or logical name if (m.isOnline()) { (args.Length >= 2) { if (args[1].ToUpper() == "ON") { m.set_beacon(YModule.BEACON_ON); if (args[1].ToUpper() == "OFF") { m.set_beacon(YModule.BEACON_OFF); Console.WriteLine("serial: " + m.get_serialNumber());...
Page 88
12. Utilisation du Yocto-4-20mA-Tx en C# YModule string errmsg = ""; string newname; (args.Length != 2) usage(); (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); = YModule.FindModule(args[0]); // use serial or logical name if (m.isOnline()) { newname = args[1];...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
Cependant, l'utilisation des nouvelles API UWP n'est pas sans conséquence: l'API Windows Runtime pour accéder aux ports USB est asynchrone, et par conséquent la librairie Yoctopuce doit aussi être asynchrone. Concrètement les méthodes asynchrones ne retournent pas directement le résultat mais un objet et le résultat peut être obtenu plus tard.
13.2. Installation Téléchargez la librairie Yoctopuce pour Universal Windows Platform depuis le site web de Yoctopuce . Il n'y a pas de programme d'installation, copiez simplement de contenu du fichier zip dans le répertoire de votre choix.
13.4. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code c# qui utilise la fonction CurrentLoopOutput.
Le projets Visual Studio contient de nombreux fichiers dont la plupart ne sont pas liés à l'utilisation de la librairie Yoctopuce. Pour simplifier la lecture du code nous avons regroupé tout le code qui utilise la librairie dans la classe qui se trouve dans le fichier .
13. Utilisation du Yocto-4-20mA-Tx avec Universal Windows Platform } else { WriteLine("current loop set to " + value + " mA"); } else { WriteLine("Module not connected (check identification and USB cable)"); } catch (YAPI_Exception ex) { WriteLine("error: " + ex.Message);...
Page 96
13. Utilisation du Yocto-4-20mA-Tx avec Universal Windows Platform Chaque propriété du module peut être lue grâce à une méthode du type YModule.get_xxxx , et les propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux...
La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
Page 98
13. Utilisation du Yocto-4-20mA-Tx avec Universal Windows Platform ..} catch (YAPI_Exception ex) { Debug.WriteLine("Exception from Yoctopuce lib:" + ex.Message); } catch (Exception ex) { Debug.WriteLine("Other exceptions :" + ex.Message); www.yoctopuce.com...
14.2. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code Delphi qui utilise la fonction CurrentLoopOutput.
Page 100
[...] end; [...] Voyons maintenant en détail ce que font ces quelques lignes. yocto_api et yocto_currentloopoutput Ces deux unités permettent d'avoir accès aux fonctions permettant de gérer les modules Yoctopuce. doit toujours être utilisé, est nécessaire pour gérer yocto_api yocto_currentloopoutput les modules contenant une sortie 4-20mA, comme le Yocto-4-20mA-Tx.
14. Utilisation du Yocto-4-20mA-Tx en Delphi Un exemple réel Lancez votre environnement Delphi, copiez la DLL yapi.dll dans un répertoire et créez une nouvelle application console dans ce même répertoire, et copiez-coller le code ci dessous. Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois utilisées avec le décorum nécessaire à...
14. Utilisation du Yocto-4-20mA-Tx en Delphi writeln('current loop set to ' FloatToStrF(value,ffFixed,2,2) mA'); yFreeAPI(); end. 14.3. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
Page 103
14. Utilisation du Yocto-4-20mA-Tx en Delphi Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
Page 105
14. Utilisation du Yocto-4-20mA-Tx en Delphi peuvent être testées par l'appelant lorsque c'est pertinent. Le nom de la valeur de retour en cas d'erreur pour chaque fonction est systématiquement documenté dans la référence de la librairie. Il suit toujours même logique: méthode...
Windows qu'Unix. C'est un language idéal pour écrire des petits scripts sur un coin de table. La librairie Yoctopuce est compatible avec Python 2.6+ et 3+. Elle fonctionne sous Windows, Max OS X et Linux tant Intel qu'ARM.
Page 108
15. Utilisation du Yocto-4-20mA-Tx en Python Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code Python qui utilise la fonction CurrentLoopOutput. [...] # On active la détection des modules sur USB errmsg=YRefParam() YAPI.RegisterHub("usb",errmsg)
15. Utilisation du Yocto-4-20mA-Tx en Python Un exemple réel Lancez votre interpréteur Python et ouvrez le script correspondant, fourni dans le répertoire Examples/Doc-GettingStarted-Yocto-4-20mA-Tx de la librairie Yoctopuce. Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
Page 110
15. Utilisation du Yocto-4-20mA-Tx en Python import os, from yocto_api import usage(): sys.exit("usage: demo <serial or logical name> [ON/OFF]") errmsg = YRefParam() if YAPI.RegisterHub("usb", errmsg) != YAPI.SUCCESS: sys.exit("RegisterHub error: " str(errmsg)) if len(sys.argv) < usage() = YModule.FindModule(sys.argv[1]) # # use serial or logical name m.isOnline():...
La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
Page 112
15. Utilisation du Yocto-4-20mA-Tx en Python Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: • Si votre code attrape l'exception au vol et la gère, et tout se passe bien.
Il va de soit que que le fonctionnement des librairies est strictement identiques si vous les intégrez dans une application dotée d'une interface graphique. 16.2. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code Java qui utilise la fonction CurrentLoopOutput. [...] // On active l'accès aux modules locaux à...
Page 114
4-20mA en fonction du numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-4-20mA-Tx avec le numéros de série TX420MA1-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la fonction currentLoopOutput "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie...
16. Utilisation du Yocto-4-20mA-Tx en Java System.out.println("Bad command line arguments"); System.out.println("Usage:"); System.out.println(" demo <serial_number> value"); System.out.println(" demo <logical_name> value"); System.out.println(" demo value"); System.out.println("Eg."); System.out.println(" demo 15"); System.out.println(" demo TX420MA1-123456 4"); System.exit(1); public static void main(String[] args) try { // setup the API to use local VirtualHub YAPI.RegisterHub("127.0.0.1");...
Page 116
16. Utilisation du Yocto-4-20mA-Tx en Java // setup the API to use local VirtualHub YAPI.RegisterHub("127.0.0.1"); } catch (YAPI_Exception ex) { System.out.println("Cannot contact VirtualHub on 127.0.0.1 (" ex.getLocalizedMessage() + ")"); System.out.println("Ensure that the VirtualHub application is running"); System.exit(1); System.out.println("usage: demo [serial or logical name] [ON/OFF]");...
Page 117
16. Utilisation du Yocto-4-20mA-Tx en Java } catch (YAPI_Exception ex) { System.out.println("Cannot contact VirtualHub on 127.0.0.1 (" ex.getLocalizedMessage() + ")"); System.out.println("Ensure that the VirtualHub application is running"); System.exit(1); (args.length != 2) { System.out.println("usage: demo <serial or logical name> <new logical name>");...
La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
En revanche, comme il n'existe pas de VirtualHub tournant sous Android, il n'est pas possible de prendre le contrôle à distance de modules Yoctopuce pilotés par une machine sous Android. Bien sûr, l'API Java pour Android reste parfaitement capable de se connecter à un VirtualHub tournant sur un autre OS.
"USB Host" en AndroidManifest.xml ajoutant le tag <uses-feature android:name="android.hardware.usb.host" /> dans la section manifest <manifest ...> <uses-feature android:name="android.hardware.usb.host" />; Les YoctoHub sont un moyen simple et efficace d'ajouter une connectivité réseau à vos modules Yoctopuce. http:// www.yoctopuce.com/FR/products/category/extensions-et-reseau www.yoctopuce.com...
17. Utilisation du Yocto-4-20mA-Tx avec Android </manifest> Lors du premier accès à un module Yoctopuce, Android va ouvrir une fenêtre pour informer l'utilisateur que l'application va accéder module connecté. L'utilisateur peut refuser ou autoriser l a c c è s au périphérique. Si l'utilisateur accepte, l'application pourra accéder au périphérique connecté...
17. Utilisation du Yocto-4-20mA-Tx avec Android 17.5. Contrôle de la fonction CurrentLoopOutput Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment de code Java qui utilise la fonction CurrentLoopOutput. [...] // On active la détection des modules sur USB YAPI.EnableUSBHost(this);...
17. Utilisation du Yocto-4-20mA-Tx avec Android get_loopPower méthode l'objet retourné fonction get_loopPower() permet de connaitre l'état de l'alimentation YCurrentLoopOutput.FindCurrentLoopOutput de la boucle de courant. set_current La méthode permet de d'ajuster la quantité de courant qui doit circuler dans le set_current() boucle.
La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées par la librairie.
Virtual Instruments (VI) des programmes LabVIEW. Avec la programmation visuelle, dessiner des algorithmes complexes devient très vite fastidieux, c'est pourquoi la librairie Yoctopuce pour LabVIEW a été pensée pour être aussi simple de possible à utiliser. Autrement dit, LabVIEW étant un environnement extrêmement différent des autres langages supportés par l'API Yoctopuce, vous rencontrerez des différences majeures entre l'API LabVIEW et...
Yoctopuce, ces derniers doivent avoir au moins le firmware 37120 LabVIEW pour Linux et MacOS Au moment de l'écriture de ce manuel, l'API Yoctopuce pour LabVIEW n'a été testée que sous Windows. Il y a donc de fortes chances pour qu'elle ne fonctionne tout simplement pas avec les versions Linux et MacOS de LabVIEW.
Page 133
Pour pouvoir utiliser les exemples fournis avec l'API, vous aurez avantage à ajouter le répertoire des VIs Yoctopuce dans la liste des répertoires où LabVIEW doit chercher les VIs qu'il n'a pas trouvé. Cette liste est accessible via le menu Tools > Options > Paths > VI Search Path.
à faire en sorte qu'ils ne soit pas effacés tant que vous en aurez besoin. Voici ce que fait exactement l'installeur quand cette option est choisie: • Toute référence à des répertoires contenant une version quelconque de la librairie Yoctopuce sont supprimés de l'option viSearchPath dans le fichier labview.ini.
Notez cependant que les exemples de programmation ne sont pas copiés. Voici ce que fait l'installeur exactement: • Toute référence à des répertoires contenant une version quelconque de la librairie Yoctopuce sont supprimés de l'option viSearchPath dans le fichier labview.ini.
Page 136
\Yoctopuce\API que vous avez créé au point 1 et cliquez sur Current Folder Tous les VIs Yoctopuce vont apparaitre dans la fenêtre Yoctopuce. Par défaut, ils sont triés dans l'ordre alphabétique, mais vous pouvez les arranger comme bon vous semble en les glissant avec la souris.
Yoctopuce et avec tous les VIs de l'API 18.4. Présentation des VIs Yoctopuce La librairie Yoctopuce pour LabVIEW comprend un VI par classe de l'API Yoctopuce, plus quelques VI spéciaux. Tous les VIs disposent des connecteurs traditionnels Error IN et Error Out.
à moins que le paramètre async ne soit mis à TRUE. Si async est mis à TRUE, aucune erreur ne sera générée, et les modules Yoctopuce correspondant à cette adresse IP seront automatiquement mis à disposition dès que la machine concernée sera joignable.
Utilisation du VI YModule pour retrouver les fonctions hébergés sur le même module Les VI senseurs Tous les VI correspondant à des senseurs Yoctopuce ont exactement la même géométrie. Les deux sorties permettent de récupérer la valeur mesurée par le capteur correspondant ainsi que l'unité...
élevés utiliser la syntaxe (x/s). La fréquence de mise à jour du VI est un paramètre géré par le module Yoctopuce physique. Si plusieurs VI essayent de changer la fréquence d'un même capteur, la configuration retenue sera celle du dernier appel.
Page 141
18. Utilisation du Yocto-4-20mA-Tx avec LabVIEW Utilisation des sorties hardware name et isOnline Les VIs de l'API Yoctopuce ne sont qu'une porte d'entrée sur la mécanique interne de la librairie Yoctopuce. Cette mécanique fonctionne indépendamment des VIs Yoctopuce. En effet, la plupart des communications avec les modules électroniques sont gérées automatiquement en arrière plan.
VI pour chacune d'entre elles. C'est pourquoi il y a un VI par classe qui expose les deux propriétés que Yoctopuce a jugé les plus utiles, mais cela ne veut pas dire que les autres ne sont pas accessibles.
Vous trouverez la description de toutes les propriétés, fonctions et méthodes disponibles dans la documentation de l'API .NET Proxy. Utilisation en réseau Sur une même machine, il ne peut y avoir qu'un seul processus qui accède aux modules Yoctopuce locaux directement par USB (url mis à ). Par contre, plusieurs processus peuvent se "usb"...
Connexion asynchrone 18.7. Gestion du datalogger Quasiment tous les senseurs Yoctopuce disposent d'un enregistreur de données qui permet de stocker les mesures des senseurs dans la mémoire non volatile du module. La configuration de l'enregistreur de données peut être réalisée avec le VirtualHub, mais aussi à l'aide d'un peu de code...
18. Utilisation du Yocto-4-20mA-Tx avec LabVIEW Le VI YDataLoggerContents Extraire les données de l'enregistreur d'un module Yoctopuce est un processus lent qui peut prendre plusieurs dizaines de secondes. C'est pourquoi le VI qui permet cette opération a été conçu pour fonctionner de manière itérative.
Récupération de la liste de tous les modules connectés 18.9. Un mot sur les performances L'API Yoctopuce pour LabVIEW été optimisée de manière à ce que les tous les VIs et les propriétés de objets Proxy génèrent un minimum de communication avec les modules Yoctopuce. Ainsi vous pouvez les utiliser dans des boucles sans prendre de précaution particulière: vous n'êtes pas obligés...
Yoctopuce pour LabVIEW 18.11. Différences avec les autres API Yoctopuce Yoctopuce fait tout son possible pour maintenir une forte cohérence entre les différentes librairies de programmation. Cependant, LabVIEW étant un environnement clairement à part, il en résulte des différences importantes avec les autres librairies.
être utilisés par des applications tierces. Dans notre cas, c'est toute la librairie Yoctopuce qui est disponible dans l'Assembly .NET, de sorte à pouvoir être utilisée dans n'importe quel environnement qui supporte le chargement dynamique d'Assembly .NET.
19. Utilisation avec des langages non supportés mécanismes de callbacks. A la place, cette librairie offre des objets miroirs, appelés Proxys, qui publient par le biais de Propriétés les principaux attributs des fonctions Yoctopuce tels que la mesure courante, les paramètres de configuration, l'état, etc.
Il se trouve que le Virtual Hub est en fait un petit serveur Web qui est capable de router des requêtes HTTP vers les modules Yoctopuce. Ce qui signifie que si vous pouvez faire une requête HTTP depuis votre langage de programmation, vous pouvez contrôler des modules Yoctopuce, même si ce langage n'est pas officiellement supporté.
Contrôle d'un module par l'interface REST Chaque module Yoctopuce a sa propre interface REST disponible sous différentes formes. Imaginons un Yocto-4-20mA-Tx avec le numéro de de série TX420MA1-12345 et le nom logique monModule. l'URL suivante permettra de connaître l'état du module.
19.4. Utilisation des librairies dynamiques L'API Yoctopuce bas niveau est disponible sous différents formats de librairie dynamiques écrites en C, dont les sources sont disponibles avec l'API C++. Utiliser une de ces librairies bas niveau vous permettra de vous passer du Virtual Hub.
Page 154
// requests the module luminosity if (yapiHTTPRequest(serial,getValue,data,sizeof(dataBuffer),fullsize,errmsg)<0) then begin writeln(errmsg); halt; end; // searches for the HTTP header end p := pos(#13#10#13#10,data); // displays the response minus the HTTP header writeln(copy(data,p+4,length(data)-p-3)); // change the luminosity if (yapiHTTPRequest(serial,setValue,data,sizeof(dataBuffer),fullsize,errmsg)<0) then begin writeln(errmsg); halt; www.yoctopuce.com...
19. Utilisation avec des langages non supportés end; end. Inventaire des modules Pour procéder à l'inventaire des modules Yoctopuce, deux fonctions de la librairie dynamique sont nécessaires int yapiGetAllDevices(int *buffer,int maxsize,int *neededsize,char *errmsg); int yapiGetDeviceInfo(int devdesc,yDeviceSt *infos, char *errmsg); La fonction yapiGetAllDevices permet d'obtenir la liste des modules connectés sous la forme d'une liste de handles.
Yoctopuce sera alors en mesure de générer tous les autres fichiers. C'est pourquoi il est fortement recommandé de contacter le support Yoctopuce avant d'entreprendre le port de la librairie Yoctopuce dans un autre langage. Un travail collaboratif sera profitable aux deux parties.
Pour pouvoir être prévenu dès qu'un module arrive, vous avez besoin de trois morceaux de code. Le callback Le callback est la fonction qui sera appelée à chaque fois qu'un nouveau module Yoctopuce sera branché. Elle prend en paramètre le module concerné. static void deviceArrival(YModule www.yoctopuce.com...
Page 158
à des moments où le programme principal n'est pas prêt à les recevoir, ce qui peut avoir des effets de bords indésirables comme des dead-locks et autres conditions de course. C'est pourquoi dans l'API Yoctopuce, les callbacks d'arrivée/départs de modules ne sont appelés que pendant l'exécution de la fonction .
"mise à jour" et sera listé en dessous des modules connectés. 21.2. La librairie ligne de commandes Tous les outils en lignes de commandes ont la possibilité de mettre à jour les modules Yoctopuce grâce à la commande .
(m.get_productName() == "YoctoHub-Wireless") { m.set_allSettings(default_config); = m.next(); Chercher le bon firmware La première étape pour mettre à jour un module Yoctopuce est de trouver quel firmware il faut utiliser, c'est le travail de la méthode de l'objet YModule. checkFirmware(path, onlynew) Cette méthode vérifie que le firmware passé...
Il est aussi possible de passer la chaîne "www.yoctopuce.com" en argument pour vérifier s'il existe un firmware plus récent publié sur le site web de Yoctopuce. Dans ce cas, la méthode retournera l'URL du firmware. Vous pourrez soit utiliser cette URL pour télécharger le firmware sur votre disque, soit utiliser cette URL lors de la mise à...
à installer, et un tableau de bytes avec les paramètres à restaurer à la fin de la mise à jour (ou pour restaurer les paramètres d'origine). null YFirmwareUpdateupdate fw_update; fw_update = new YFirmwareUpdate(allBootLoader[0], newfirm, null); status = fw_update.startUpdate(); ..www.yoctopuce.com...
22. Référence de l'API de haut niveau Ce chapitre résume les fonctions de l'API de haut niveau pour commander votre Yocto-4-20mA-Tx. La syntaxe et les types précis peuvent varier d'un langage à l'autre mais, sauf avis contraire toutes sont disponibles dans chaque language. Pour une information plus précise sur les types des arguments et des valeurs de retour dans un langage donné, veuillez vous référer au fichier de...
22. Référence de l'API de haut niveau 22.1. La classe YAPI Fonctions générales Ces quelques fonctions générales permettent l'initialisation et la configuration de la librairie Yoctopuce. Dans la plupart des cas, un appel à suffira en tout et pour tout. Ensuite, vous...
Page 165
Enregistre une fonction de callback qui sera appelée à chaque fois qu'un module est débranché. YAPI.RegisterHub(url, errmsg) Configure la librairie Yoctopuce pour utiliser les modules connectés sur une machine donnée. YAPI.RegisterHubDiscoveryCallback(hubDiscoveryCallback) Enregistre une fonction de callback qui est appelée chaque fois qu'un hub réseau s'annonce avec un message SSDP.
Page 166
Test si un hub est joignable. YAPI.TriggerHubDiscovery(errmsg) Relance une détection des hubs réseau. YAPI.UnregisterHub(url) Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. YAPI.UpdateDeviceList(errmsg) Force une mise-à-jour de la liste des modules Yoctopuce connectés.
. Lorsqu'on configure un nom logique avec une chaîne incorrecte, les caractères invalides sont ignorés. Paramètres : name une chaîne de caractères contenant le nom vérifier. Retourne : true si le nom est valide, false dans le cas contraire. www.yoctopuce.com...
Page 168
Désactive le cache de callback HTTP. function yClearHTTPCallbackCacheDir( $bool_removeFiles) Cette méthode désctive la cache de callback HTTP, et permet également d'en effacer le contenu. Paramètres : Vrai pour effacer le contenu du répertoire de cache. bool_removeFiles Retourne : nothing. www.yoctopuce.com...
Page 169
) static void DisableExceptions( ) void DisableExceptions( ) DisableExceptions( ) function yDisableExceptions( ) async DisableExceptions( ) Lorsque les exceptions sont désactivées, chaque fonction retourne une valeur d'erreur spécifique selon son type, documentée dans ce manuel de référence. www.yoctopuce.com...
Page 170
Attention, lorsque les exceptions sont activées, tout appel à une fonction de la librairie qui échoue déclenche une exception. Dans le cas où celle-ci n'est pas interceptée correctement par le code appelant, soit le debugger se lance, soit le programme de l'utilisateur est immédiatement stoppé (crash). www.yoctopuce.com...
Page 171
(ou d'une sous-classe). Il n'est pas nécessaire d'appeler cette fonction pour accéder au modules à travers le réseau. Paramètres : osContext un objet de classe android.content.Context (ou une sous-classe) www.yoctopuce.com...
Page 172
22. Référence de l'API de haut niveau YAPI.FreeAPI() YAPI YAPI.FreeAPI() Libère la mémoire dynamique utilisée par la librairie Yoctopuce. function yFreeAPI( ) void yFreeAPI( ) +(void) FreeAPI yFreeAPI( ) procedure yFreeAPI( ) static void FreeAPI( ) static void FreeAPI( )
Page 173
22. Référence de l'API de haut niveau YAPI.GetAPIVersion() YAPI YAPI.GetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée. function yGetAPIVersion( ) string yGetAPIVersion( ) +(NSString*) GetAPIVersion string yGetAPIVersion( ): string function yGetAPIVersion( ) As String static String GetAPIVersion( ) static string GetAPIVersion( )
Page 174
Cette méthode retourne la durée de mise en cache de tous les attributs des fonctions du module. Note: Cette fonction doit être appelée après yInitAPI Retourne : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes. www.yoctopuce.com...
Page 175
) As Integer int GetDeviceListValidity( ) int GetDeviceListValidity( ) java async Task<int> GetDeviceListValidity( ) GetDeviceListValidity( ) function yGetDeviceListValidity( ) async GetDeviceListValidity( ) Note: Cette fonction doit être appelée après yInitAPI Retourne : le nombre de secondes entre chaque énumération. www.yoctopuce.com...
Page 176
. Pour les machines ARM, l'architecture "Win32" "Win64" . Pour les autres machines Linux, l'architecture est "Armhf32" "Aarch64" "Linux32" . Pour MacOS, l'architecture est "Linux64" "MacOs32" "MacOs64" Retourne : une chaîne de caractères décrivant l'architecture du binaire de la librairie de communication Yoctopuce utilisée. www.yoctopuce.com...
Page 177
YAPI.GetDllPath() YAPI YAPI.GetDllPath() Retourne l'emplacement sur le disque des librairies Yoctopuce utilisées. static string GetDllPath( ) Pour les architectures qui demandent l'utilisation de plusieurs DLLs, et en particulier dans le cadre de l'utilisation de la librairie sous forme de .NET Assembly, la chaîne retournée est au format suivant: , où...
Page 178
YAPI.GetLog() YAPI YAPI.GetLog() Récupère les messages de logs de la librairie de communication Yoctopuce. static string GetLog( string lastLogLine) Cette méthode permet de récupérer progressivement les messages de logs, ligne par ligne. La méthode doit être appelée en boucle, jusqu'à ce qu'elle retourne une chaîne vide. Prenez garde à sortir de votre boucle dès qu'une chaîne vide est retournée, car si vous repassez une chaîne vide dans le...
Page 179
Ce délai n'affecte que les YoctoHubs et VirtualHub qui sont accessibles par réseau. Par défaut, ce délai est de 20000 millisecondes, mais en fonction de votre réseau il peut être souhaitable de changer ce délai, par exemple, si votre infrastructure réseau utilise une connexion GSM. Retourne : le délai de connexion réseau en millisecondes. www.yoctopuce.com...
Page 180
GetTickCount( ) function yGetTickCount( ) GetTickCount( ) Ce compteur peut être utilisé pour calculer des délais en rapport avec les modules Yoctopuce, dont la base de temps est aussi la milliseconde. Retourne : un long entier contenant la valeur du compteur de millisecondes.
Page 181
Ce n'est pas strictement indispensable mais cela peut améliorer la réactivité des la librairie pour les commandes suivantes. Cette fonction peut signaler une erreur au cas à la communication avec un module Yoctopuce ne se passerait pas comme attendu.
Page 182
22. Référence de l'API de haut niveau YAPI.InitAPI() YAPI YAPI.InitAPI() Initialise la librairie de programmation de Yoctopuce explicitement. function yInitAPI( mode, errmsg) YRETCODE yInitAPI( int mode, string errmsg) +(YRETCODE) InitAPI :(int) mode :(NSError**) errmsg integer yInitAPI( mode: integer, var errmsg: string): integer...
Page 183
"usb","callback", ou l'URL racine du VirtualHub à utiliser. errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 184
RegisterDeviceArrivalCallback( DeviceUpdateHandler arrivalCallback) RegisterDeviceArrivalCallback( arrivalCallback) function yRegisterDeviceArrivalCallback( $arrivalCallback) async RegisterDeviceArrivalCallback( arrivalCallback) Le callback sera appelé pendant l'éxecution de la fonction , que vous devrez yUpdateDeviceList appeler régulièrement. Paramètres : arrivalCallback YModule null une procédure qui prend un en paramètre, ou www.yoctopuce.com...
Page 185
RegisterDeviceRemovalCallback( DeviceUpdateHandler removalCallback) RegisterDeviceRemovalCallback( removalCallback) function yRegisterDeviceRemovalCallback( $removalCallback) async RegisterDeviceRemovalCallback( removalCallback) Le callback sera appelé pendant l'éxecution de la fonction , que vous devrez yUpdateDeviceList appeler régulièrement. Paramètres : removalCallback YModule null une procédure qui prend un en paramètre, ou www.yoctopuce.com...
Page 186
C'est un mode spécial permettant, entre autres, de prendre le contrôle de modules Yoctopuce à travers un filtre NAT par l'intermédiaire d'un VirtualHub ou d'un Hub Yoctopuce. Il vous suffit de configuer le hub pour qu'il appelle votre script à intervalle régulier. Ce mode de fonctionnement n'est disponible actuellement qu'en PHP et en Node.JS.
Page 187
22. Référence de l'API de haut niveau Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 188
, que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : hubDiscoveryCallback une procédure qui prend deux chaîne de caractères en paramètre, le numéro de série et l'URL du hub découvert. Pour supprimer un callback déjà enregistré, www.yoctopuce.com...
Page 189
YAPI.RegisterHubWebsocketCallback() YAPI YAPI.RegisterHubWebsocketCallback() Variante de la fonction yRegisterHub() destinée à initialiser l'API Yoctopuce sur une session Websocket existante, dans le cadre d'un callback WebSocket entrant. Paramètres : l'objet WebSocket lié à au callback WebSocket entrant. errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur.
Page 190
RegisterLogFunction( yLogFunc logfun) void RegisterLogFunction( LogCallback logfun) java void RegisterLogFunction( LogHandler logfun) RegisterLogFunction( logfun) async RegisterLogFunction( logfun) Utile pour débugger le fonctionnement de l'API. Paramètres : une procedure qui prend une chaîne de caractère en paramètre, logfun www.yoctopuce.com...
Page 191
à la librairie pour forcer l'utilisation d'une SelectArchitecture() architecture spécifiée. Paramètres : arch une chaîne de caractère spécifiant l'architecture à utiliser. Les valeurs possibles sont "armhf" "armel" "aarch64" "i386" "x86_64" "32bit" "64bit" Retourne : rien. En cas d'erreur, déclenche une exception. www.yoctopuce.com...
Page 192
USB. Ce paramètre n'affecte pas les callbacks de changement de valeur Note: Cette fonction doit être appelée après yInitAPI Paramètres : cacheValidityMs un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes. www.yoctopuce.com...
Page 193
(Objective-C uniquement) Enregistre un objet délégué qui doit se conformer au protocole YDeviceHotPlug +(void) SetDelegate :(id) object Les méthodes seront appelées pendant l’exécution de la yDeviceArrival yDeviceRemoval fonction , que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : object un objet qui soit se conformer au protocole YAPIDelegate , ou www.yoctopuce.com...
Page 194
à un réseau GSM où le trafic est facturé. Ce paramètre n'affecte pas les modules connectés par USB, ni le fonctionnement des callback de connexion/déconnexion de module. Note: Cette fonction doit être appelée après yInitAPI Paramètres : deviceListValidity nombre de secondes entre chaque énumération. www.yoctopuce.com...
Page 195
Il est recommandé d'utiliser un répertoire qui n'est pas accessible depuis le serveur Web, car la librairie va y stocker des données provenant des modules Yoctopuce. Note : Cette fonctionnalité est supportée par les YoctoHub et VirtualHub depuis la version 27750 Paramètres :...
Page 196
Ce délai n'affecte que les YoctoHubs et VirtualHub qui sont accessibles par réseau. Par défaut ce délai est de 20000 millisecondes, mais en fonction de votre réseau il peut être souhaitable de changer ce délai, par exemple si votre infrastructure réseau utilise une connexion GSM. Paramètres : le délais de connexion réseau en millisecondes. networkMsTimeout www.yoctopuce.com...
Page 197
à la durée de l'attente, en millisecondes des arguments supplémentaires peuvent être fournis, pour être passés à la fonction de args callback si nécessaire. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 198
être activée que sur des tablette ou des téléphones qui posent problème. Un délais de 50 millisecondes est en général suffisant. En cas de doute contacter le support Yoctopuce. Pour désactiver la quittance des paquets USB, appeler cette fonction avec la valeur 0. Note : Cette fonctionnalité est disponible uniquement sous Android.
Page 199
à jour. yHandleEvents() Cette fonction peut signaler une erreur au cas à la communication avec un module Yoctopuce ne se passerait pas comme attendu. Paramètres : un entier correspondant à la durée de la pause, en millisecondes...
Page 200
éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur retourne un code d'erreur négatif. www.yoctopuce.com...
Page 201
Paramètres : errmsg une chaîne de caractères passée par référence, dans laquelle sera stocké un éventuel message d'erreur. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 202
22. Référence de l'API de haut niveau YAPI.UnregisterHub() YAPI YAPI.UnregisterHub() Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. function yUnregisterHub( url) void yUnregisterHub( string url) +(void) UnregisterHub :(NSString *) yUnregisterHub( url: string)
Page 203
22. Référence de l'API de haut niveau YAPI.UpdateDeviceList() YAPI YAPI.UpdateDeviceList() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList( errmsg) YRETCODE yUpdateDeviceList( string errmsg) +(YRETCODE) UpdateDeviceList :(NSError**) errmsg integer yUpdateDeviceList( var errmsg: string): integer function yUpdateDeviceList( ByRef...
Page 204
YAPI.UpdateDeviceList_async() YAPI YAPI.UpdateDeviceList_async() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList_async( callback, context) La librairie va vérifier sur les machines ou ports USB précédemment enregistrés en utilisant la fonction si un module a été connecté ou déconnecté, et le cas échéant appeler les fonctions yRegisterHub de callback définies par l'utilisateur.
22.2. La classe YModule Interface de contrôle des paramètres généraux des modules Yoctopuce La classe est utilisable avec tous les modules USB de Yoctopuce. Elle permet de contrôler YModule les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module.
Page 206
Retourne les identifiants matériels des fonctions correspondant au type passé en argument. module→get_hardwareId() Retourne l'identifiant unique du module. module→get_icon2d() Retourne l'icône du module. module→get_lastLogs() Retourne une chaine de charactère contenant les derniers logs du module. module→get_logicalName() Retourne le nom logique du module. module→get_luminosity() www.yoctopuce.com...
Page 207
Met en cache les valeurs courantes du module, avec une durée de validité spécifiée. module→log(text) Ajoute un message arbitraire dans les logs du module. module→nextModule() Continue l'énumération des modules commencée à l'aide de yFirstModule() module→reboot(secBeforeReboot) Agende un simple redémarrage du module dans un nombre donné de secondes. module→registerBeaconCallback(callback) www.yoctopuce.com...
Page 208
Prepare une mise à jour de firmware du module. module→updateFirmwareEx(path, force) Prepare une mise à jour de firmware du module. module→wait_async(callback, context) Attend que toutes les commandes asynchrones en cours d'exécution sur le module soient terminées, et appelle le callback passé en paramètre. www.yoctopuce.com...
Page 209
Retourne : YModule un objet de classe qui permet ensuite de contrôler le module ou d'obtenir de plus amples informations sur le module. www.yoctopuce.com...
Page 210
Paramètres : yctx un contexte YAPI une chaîne de caractères qui référence le module sans ambiguïté, par exemple func MyDevice.module Retourne : un objet de classe YModule qui permet ensuite de contrôler le module. www.yoctopuce.com...
Page 211
) static FirstModule( ) Utiliser la fonction pour itérer sur les autres modules. YModule.nextModule() Retourne : YModule null un pointeur sur un objet , correspondant au premier module accessible en ligne, ou aucun module n'a été trouvé. www.yoctopuce.com...
Page 212
22. Référence de l'API de haut niveau YModule module→Beacon état de la balise de localisation. int Beacon Valeurs possibles: Y_BEACON_INVALID Y_BEACON_OFF Y_BEACON_ON Modifiable. Allume ou éteint la balise de localisation du module. www.yoctopuce.com...
Page 213
22. Référence de l'API de haut niveau YModule module→FunctionId Identifiant matériel de la nième fonction du module. string FunctionId @param functionIndex : l'index de la fonction pour laquelle l'information est désirée, en commençant à 0 pour la première fonction. www.yoctopuce.com...
Page 214
22. Référence de l'API de haut niveau YModule module→HardwareId Identifiant unique du module. string HardwareId L'identifiant unique est composé du numéro de série du module suivi de la chaîne ".module". www.yoctopuce.com...
Page 215
Si les valeurs des attributs du module en cache sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. www.yoctopuce.com...
Page 216
Nom logique du module. string LogicalName Modifiable. Change le nom logique du module. Vous pouvez utiliser yCheckLogicalName() pour vérifier si votre paramètre est valide. N'oubliez pas d'appeler la méthode du module saveToFlash() si le réglage doit être préservé. www.yoctopuce.com...
Page 217
Luminosité des leds informatives du module (valeur entre 0 et 100). int Luminosity Modifiable. Modifie la luminosité des leds informatives du module. Le paramêtre est une valeur entre 0 et 100. N'oubliez pas d'appeler la méthode du module si le réglage doit être saveToFlash() préservé. www.yoctopuce.com...
Page 218
22. Référence de l'API de haut niveau YModule module→ProductId Identifiant USB du module, préprogrammé en usine. int ProductId www.yoctopuce.com...
Page 219
22. Référence de l'API de haut niveau YModule module→ProductName Nom commercial du module, préprogrammé en usine. string ProductName www.yoctopuce.com...
Page 220
22. Référence de l'API de haut niveau YModule module→ProductRelease Numéro uméro de révision du module hardware, préprogrammé en usine. int ProductRelease La révision originale du retourne la valeur 1, la révision B retourne la valeur 2, etc. www.yoctopuce.com...
Page 221
22. Référence de l'API de haut niveau YModule module→SerialNumber Numéro de série du module, préprogrammé en usine. string SerialNumber www.yoctopuce.com...
Page 222
Retourne : le path du fichier .byn à utiliser, ou une chaîne vide si aucun firmware plus récent n'est disponible En cas d'erreur, déclenche une exception ou retourne une chaine de caractère qui comment par "error:". www.yoctopuce.com...
Page 223
) void clearCache( ) java clearCache( ) function clearCache( ) async clearCache( ) Invalide le cache des valeurs courantes du module. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
Page 224
) String describe( ) java describe( ) function describe( ) async describe( ) Ce texte peut contenir soit le nom logique du module, soit son numéro de série. Retourne : une chaîne de caractères décrivant le module www.yoctopuce.com...
Task<byte[]> download( string pathname) download( pathname) function download( $pathname) async download( pathname) YModule target download pathname Paramètres : pathname nom complet du fichier Retourne : le contenu du fichier chargé En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
Page 226
à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant au type de base de la fonction En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 227
) As Integer int functionCount( ) int functionCount( ) java functionCount( ) function functionCount( ) async functionCount( ) Retourne : le nombre de fonctions sur le module En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 228
à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant à l'identifiant matériel unique de la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 229
à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant au nom logique de la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 230
à 0 pour la functionIndex première fonction. Retourne : une chaîne de caractères correspondant au type de la fonction En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 231
à 0 pour la première fonction. Retourne : une chaîne de caractères correspondant à la valeur publiée par la fonction désirée En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 232
YModule target get_allSettings Utile pour sauvgarder les noms logiques, les calibrations et fichies uploadés d'un module. Retourne : un objet binaire avec tous les paramètres En cas d'erreur, déclenche une exception ou retourne un objet binaire de taille 0. www.yoctopuce.com...
Page 233
Task<int> get_beacon( ) get_beacon( ) function get_beacon( ) async get_beacon( ) YModule target get_beacon Retourne : Y_BEACON_OFF Y_BEACON_ON soit , soit , selon l'état de la balise de localisation En cas d'erreur, déclenche une exception ou retourne Y_BEACON_INVALID www.yoctopuce.com...
Page 234
) function get_errorMessage( ) get_errorMessage( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : une chaîne de caractères correspondant au message de la dernière erreur qui s'est produit lors de l'utilisation du module www.yoctopuce.com...
Page 235
) function get_errorType( ) get_errorType( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : un nombre correspondant au code de la dernière erreur qui s'est produit lors de l'utilisation du module...
Page 236
Task<string> get_firmwareRelease( ) get_firmwareRelease( ) function get_firmwareRelease( ) async get_firmwareRelease( ) YModule target get_firmwareRelease Retourne : une chaîne de caractères représentant la version du logiciel embarqué du module En cas d'erreur, déclenche une exception ou retourne Y_FIRMWARERELEASE_INVALID www.yoctopuce.com...
Page 237
ArrayList<String> get_functionIds( String funType) java async Task<List<string>> get_functionIds( string funType) get_functionIds( funType) function get_functionIds( $funType) async get_functionIds( funType) YModule target get_functionIds funType Paramètres : Le type de fonction (Relay, LightSensor, Voltage,...) funType Retourne : un tableau de chaînes de caractère. www.yoctopuce.com...
Page 238
) async get_hardwareId( ) string get_hardwareId( ): string async Task<string> get_hardwareId( ) YModule target get_hardwareId L'identifiant unique est composé du numéro de série du module suivi de la chaîne ".module". Retourne : une chaîne de caractères identifiant la fonction www.yoctopuce.com...
Page 239
) async get_icon2d( ) YModule target get_icon2d L'icone est au format PNG et a une taille maximale de 1536 octets. Retourne : un buffer binaire contenant l'icone, au format png. En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
Page 240
) YModule target get_lastLogs Cette méthode retourne les derniers logs qui sont encore stocké dans le module. Retourne : une chaîne de caractère contenant les derniers logs du module. En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
Page 241
String get_logicalName( ) java async Task<string> get_logicalName( ) get_logicalName( ) function get_logicalName( ) async get_logicalName( ) YModule target get_logicalName Retourne : une chaîne de caractères représentant le nom logique du module En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
Page 242
Task<int> get_luminosity( ) get_luminosity( ) function get_luminosity( ) async get_luminosity( ) YModule target get_luminosity Retourne : un entier représentant la luminosité des leds informatives du module (valeur entre 0 et 100) En cas d'erreur, déclenche une exception ou retourne Y_LUMINOSITY_INVALID www.yoctopuce.com...
Page 243
Si le module est connecté par USB, ou si le module est le YoctoHub racine, une chaîne vide est retournée. Retourne : une chaîne de caractères contenant le numéro de série du YoctoHub, ou une chaîne vide. www.yoctopuce.com...
Page 244
Task<int> get_persistentSettings( ) get_persistentSettings( ) function get_persistentSettings( ) async get_persistentSettings( ) YModule target get_persistentSettings Retourne : Y_PERSISTENTSETTINGS_LOADED Y_PERSISTENTSETTINGS_SAVED une valeur parmi Y_PERSISTENTSETTINGS_MODIFIED représentant l'état courant des réglages persistents du module En cas d'erreur, déclenche une exception ou retourne Y_PERSISTENTSETTINGS_INVALID www.yoctopuce.com...
Page 245
) java async Task<int> get_productId( ) get_productId( ) function get_productId( ) async get_productId( ) YModule target get_productId Retourne : un entier représentant l'identifiant USB du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTID_INVALID www.yoctopuce.com...
Page 246
Task<string> get_productName( ) get_productName( ) function get_productName( ) async get_productName( ) YModule target get_productName Retourne : une chaîne de caractères représentant le nom commercial du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTNAME_INVALID www.yoctopuce.com...
Page 247
La révision originale du retourne la valeur 1, la révision B retourne la valeur 2, etc. Retourne : un entier représentant le numéro uméro de révision du module hardware, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTRELEASE_INVALID www.yoctopuce.com...
Page 248
) async get_rebootCountdown( ) YModule target get_rebootCountdown Retourne : un entier représentant le nombre de secondes restantes avant un redémarrage du module, ou zéro si aucun redémarrage n'a été agendé En cas d'erreur, déclenche une exception ou retourne Y_REBOOTCOUNTDOWN_INVALID www.yoctopuce.com...
Page 249
Task<string> get_serialNumber( ) get_serialNumber( ) function get_serialNumber( ) async get_serialNumber( ) YModule target get_serialNumber Retourne : une chaîne de caractères représentant le numéro de série du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_SERIALNUMBER_INVALID www.yoctopuce.com...
Page 250
Cette fonction n'est pertinente que lorsqu'elle appelée pour un YoctoHub ou pour le VirtualHub. Dans le cas contraire, un tableau vide est retourné. Retourne : un tableau de chaînes de caractères contenant les numéros de série des sous-modules connectés au module www.yoctopuce.com...
Task<long> get_upTime( ) get_upTime( ) function get_upTime( ) async get_upTime( ) YModule target get_upTime Retourne : un entier représentant le numbre de millisecondes écoulées depuis la mise sous tension du module En cas d'erreur, déclenche une exception ou retourne Y_UPTIME_INVALID www.yoctopuce.com...
Page 252
Task<string> get_url( ) get_url( ) function get_url( ) async get_url( ) YModule target get_url Si le module est connecté par USB la chaîne de caractère 'usb' est retournée. Retourne : une chaîne de caractère contenant l'URL du module. www.yoctopuce.com...
Page 253
Task<int> get_usbCurrent( ) get_usbCurrent( ) function get_usbCurrent( ) async get_usbCurrent( ) YModule target get_usbCurrent Retourne : un entier représentant le courant consommé par le module sur le bus USB, en milliampères En cas d'erreur, déclenche une exception ou retourne Y_USBCURRENT_INVALID www.yoctopuce.com...
Page 254
) Object get_userData( ) java get_userData( ) function get_userData( ) async get_userData( ) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Retourne : l'objet stocké précédemment par l'appelant. www.yoctopuce.com...
Page 255
) YModule target get_userVar Au démarrage du module (ou après un redémarrage), la valeur est toujours zéro. Retourne : un entier représentant la valeur entière précédemment stockée dans cet attribut En cas d'erreur, déclenche une exception ou retourne Y_USERVAR_INVALID www.yoctopuce.com...
Page 256
YModule target hasFunction funcId La méthode prend en paramètre l'identifiant de la fonction (relay1, voltage2,...) et retourne un booléen. Paramètres : funcId identifiant matériel de la fonction Retourne : vrai si le module inclut la fonction demandée www.yoctopuce.com...
Page 257
Si les valeurs des attributs du module en cache sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. Retourne : true false si le module est joignable, sinon www.yoctopuce.com...
Page 258
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 259
Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 260
YAPI_SUCCESS d'erreur (ou contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 261
être inclus dans la chaîne de caractère. Paramètres : text le message à ajouter aux logs du module. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 262
Attention, vous ne pouvez faire aucune supposition sur l'ordre dans lequel les modules sont retournés. Si vous souhaitez retrouver un module spécifique, utilisez avec un Module.findModule() hardwareID ou un nom logique. Retourne : un pointeur sur un objet YModule accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
Page 263
$secBeforeReboot) async reboot( secBeforeReboot) YModule target reboot secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 264
La fonction de callback doit accepter deux arguments: l’objet YModule dont la balise a changé, et un entier représentant l'état de la balise de localisation. Paramètres : callback null la fonction de callback à rappeler, ou www.yoctopuce.com...
Page 265
) As Integer int registerConfigChangeCallback( ConfigChangeCallback callback) int registerConfigChangeCallback( ConfigChangeCallback callback) java async Task<int> registerConfigChangeCallback( ConfigChangeCallback callback) registerConfigChangeCallback( callback) function registerConfigChangeCallback( $callback) async registerConfigChangeCallback( callback) Paramètres : callback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
Page 266
Task<int> registerLogCallback( LogCallback callback) registerLogCallback( callback) function registerLogCallback( $callback) async registerLogCallback( callback) Utile pour débugger le fonctionnement d'un module Yoctopuce. Paramètres : la fonction de callback à rappeler, ou un pointeur nul. La fonction de callback doit accepter deux callback arguments: l'objet module qui a produit un log, un chaîne de caractère qui contiens le log...
Page 267
) java async Task<int> revertFromFlash( ) revertFromFlash( ) function revertFromFlash( ) async revertFromFlash( ) YModule target revertFromFlash Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 268
Attention le nombre total de sauvegardes possibles durant la vie du module est limité (environ 100000 cycles). N'appelez pas cette fonction dans une boucle. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 269
être préservés. saveToFlash() Paramètres : settings un objet binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 270
être préservés. Paramètres : settings un buffer binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 271
$newval) async set_beacon( newval) YModule target set_beacon newval Paramètres : newval Y_BEACON_OFF Y_BEACON_ON soit , soit Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 272
être préservé. saveToFlash() Paramètres : newval une chaîne de caractères Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 273
être préservé. Paramètres : newval un entier représentant la luminosité des leds informatives du module Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 274
Object data) java set_userData( data) function set_userData( $data) async set_userData( data) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Paramètres : data objet quelconque à mémoriser www.yoctopuce.com...
Page 275
Cet attribut est à la disposition du programmeur pour y stocker par exemple une variable d'état. Au démarrage du module (ou après un redémarrage), la valeur est toujours zéro. Paramètres : un entier newval Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 276
) -(int) triggerConfigChangeCallback LongInt triggerConfigChangeCallback( ): LongInt function triggerConfigChangeCallback( ) As Integer int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) java async Task<int> triggerConfigChangeCallback( ) triggerConfigChangeCallback( ) function triggerConfigChangeCallback( ) async triggerConfigChangeCallback( ) YModule target triggerConfigChangeCallback www.yoctopuce.com...
Page 277
$secBeforeReboot) async triggerFirmwareUpdate( secBeforeReboot) YModule target triggerFirmwareUpdate secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 278
Cette méthode retourne un object YFirmwareUpdate qui est utilisé pour mettre à jour le firmware du module. Paramètres : path .byn le path du fichier à utiliser Retourne : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
Page 279
à jour le firmware du YFirmwareUpdate module. Paramètres : path le path du fichier .byn à utiliser vrai pour forceer la mise à jour même si un prérequis ne semble pas satisfait force Retourne : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
Page 280
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
22. Référence de l'API de haut niveau 22.3. La classe YCurrentLoopOutput Interface pour intéragir avec les sorties 4-20mA, disponibles par exemple dans le Yocto-4-20mA-Tx La classe permet de piloter une sortie 4-20mA par régulation du courant YCurrentLoopOutput circulant dans la boucle. Elle permet aussi de connaitre l'état d'alimentation de la boucle de courant.
Page 282
Retourne le nom logique de la sortie sortie 4-20mA. currentloopoutput→get_loopPower() Retourne l'état de l'alimentation de la boucle. currentloopoutput→get_module() YModule Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. currentloopoutput→get_module_async(callback, context) Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction. www.yoctopuce.com...
Page 283
Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard à l'aide de la get_userData méthode currentloopoutput→unmuteValueCallbacks() Réactive l'envoi de chaque changement de la valeur publiée au hub parent. currentloopoutput→wait_async(callback, context) Attend que toutes les commandes asynchrones en cours d'exécution sur le module soient terminées, et appelle le callback passé en paramètre. www.yoctopuce.com...
Page 284
à l'initialisation de de l'application. Paramètres : func une chaîne de caractères qui référence la sortie sortie 4-20mA sans ambiguïté, par exemple TX420MA1.currentLoopOutput Retourne : YCurrentLoopOutput un objet de classe qui permet ensuite de contrôler la sortie sortie 4-20mA. www.yoctopuce.com...
Page 285
La recherche se fait d'abord par nom matériel, puis par nom logique. Paramètres : yctx un contexte YAPI une chaîne de caractères qui référence la sortie sortie 4-20mA sans ambiguïté, par exemple func TX420MA1.currentLoopOutput Retourne : YCurrentLoopOutput un objet de classe qui permet ensuite de contrôler la sortie sortie 4-20mA. www.yoctopuce.com...
Page 286
Utiliser la fonction pour itérer sur les YCurrentLoopOutput.nextCurrentLoopOutput() autres sorties 4-20mA. Retourne : YCurrentLoopOutput un pointeur sur un objet , correspondant à la première sortie 4-20mA accessible en ligne, ou null si il n'y a pas de sorties 4-20mA disponibles. www.yoctopuce.com...
Page 287
YCurrentLoopOutput.nextCurrentLoopOutput() autres sorties 4-20mA. Paramètres : yctx un contexte YAPI. Retourne : un pointeur sur un objet YCurrentLoopOutput , correspondant à la première sortie 4-20mA null accessible en ligne, ou si il n'y a pas de sorties 4-20mA disponibles. www.yoctopuce.com...
Page 288
à m é t h o d e pour obtenir une objet permettant d'intéragir YCurrentLoopOutput.FindCurrentLoopOutput avec le module correspondant. Retourne : un tableau de chaînes de caractères, contenant les identifiants matériels de chaque fonction disponible trouvée. www.yoctopuce.com...
Page 289
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→AdvertisedValue Courte chaîne de caractères représentant l'état courant de la fonction. string AdvertisedValue www.yoctopuce.com...
Page 290
Valeur de consigne pour le courant de la boucle, en mA. double Current Modifiable. Modifie le courant dans la boucle, les valeurs admises sont de 3 à 21mA. Attention, si la boucle n'est pas suffisamment alimentée, le courant ne pourra pas être maintenu et loopPower passera a LOWPWR. www.yoctopuce.com...
Page 291
Courant dans le boucle au démarrage du module, en mA. double CurrentAtStartUp Modifiable. Modifie la valeur de courant dans la boucle au démarrage du module. N'oubliez pas d'appeler la méthode du module sinon la modification n'aura aucun effet. saveToFlash() www.yoctopuce.com...
Page 292
Identifiant global de la fonction au format NOM_MODULE.NOM_FONCTION string FriendlyName Le chaîne retournée utilise soit les noms logiques du module et de la fonction si ils sont définis, soit respectivement le numéro de série du module et l'identifant matériel de la fonction (par exemple: MyCustomName.relay1 www.yoctopuce.com...
Page 293
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→FunctionId Identifiant matériel de la sortie sortie 4-20mA, sans référence au module. string FunctionId Par example relay1 www.yoctopuce.com...
Page 294
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→HardwareId Identifiant matériel unique de la fonction au format SERIAL.FUNCTIONID string HardwareId L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel de la fonction (par example RELAYLO1-123456.relay1 www.yoctopuce.com...
Page 295
Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. www.yoctopuce.com...
Page 296
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→LogicalName Nom logique de la fonction. string LogicalName Modifiable. Vous pouvez utiliser yCheckLogicalName() pour vérifier si votre paramètre est valide. N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() www.yoctopuce.com...
Page 297
état de l'alimentation de la boucle. int LoopPower POWEROK: la boucle est alimentée. NOPWR: la boucle n'est pas alimenté. LOWPWR: la boucle n'est pas alimenté suffisamment pour pouvoir maintenir le courant demandé (tension insuffisante) Valeurs possibles: Y_LOOPPOWER_INVALID Y_LOOPPOWER_NOPWR Y_LOOPPOWER_LOWPWR Y_LOOPPOWER_POWEROK www.yoctopuce.com...
Page 298
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→SerialNumber Numéro de série du module, préprogrammé en usine. string SerialNumber www.yoctopuce.com...
Page 299
) java clearCache( ) function clearCache( ) async clearCache( ) Invalide le cache des valeurs courantes de la sortie sortie 4-20mA. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
à la fin de la transition (nombre flottant, représentant le courant en mA) durée totale de la transition, en millisecondes ms_duration Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 301
è r e s d é c r i v a n t s o r t i e s o r t i e 4 - 2 0 m A ( e x : Relay(MyCustomName.relay1)=RELAYLO1-123456.relay1 www.yoctopuce.com...
) function get_advertisedValue( ) async get_advertisedValue( ) YCurrentLoopOutput target get_advertisedValue Retourne : une chaîne de caractères représentant la valeur courante de la sortie sortie 4-20mA (pas plus de 6 caractères). En cas d'erreur, déclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID www.yoctopuce.com...
Page 303
Task<double> get_current( ) get_current( ) function get_current( ) async get_current( ) YCurrentLoopOutput target get_current Retourne : une valeur numérique représentant la valeur de consigne pour le courant de la boucle, en mA En cas d'erreur, déclenche une exception ou retourne Y_CURRENT_INVALID www.yoctopuce.com...
Page 304
Task<double> get_currentAtStartUp( ) get_currentAtStartUp( ) function get_currentAtStartUp( ) async get_currentAtStartUp( ) YCurrentLoopOutput target get_currentAtStartUp Retourne : une valeur numérique représentant le courant dans le boucle au démarrage du module, en mA En cas d'erreur, déclenche une exception ou retourne Y_CURRENTATSTARTUP_INVALID www.yoctopuce.com...
Page 305
) function get_errorMessage( ) get_errorMessage( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : une chaîne de caractères correspondant au message de la dernière erreur qui s'est produit lors de l'utilisation de la sortie sortie 4-20mA.
Page 306
) function get_errorType( ) get_errorType( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : un nombre correspondant au code de la dernière erreur qui s'est produit lors de l'utilisation de la sortie sortie 4-20mA.
Page 307
4-20mA (par exemple: MyCustomName.relay1 Retourne : une chaîne de caractères identifiant la sortie sortie 4-20mA en utilisant les noms logiques (ex: MyCustomName.relay1 En cas d'erreur, déclenche une exception ou retourne Y_FRIENDLYNAME_INVALID www.yoctopuce.com...
Page 308
é t é c o n t a c t é e , v a l e u r r e t o u r n é e s e r a Y_FUNCTIONDESCRIPTOR_INVALID www.yoctopuce.com...
Page 309
) String get_functionId( ) java get_functionId( ) function get_functionId( ) async get_functionId( ) Par example relay1 Retourne : une chaîne de caractères identifiant la sortie sortie 4-20mA (ex: relay1 En cas d'erreur, déclenche une exception ou retourne Y_FUNCTIONID_INVALID www.yoctopuce.com...
Page 310
L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel de la sortie sortie 4-20mA (par example RELAYLO1-123456.relay1 Retourne : une chaîne de caractères identifiant la sortie sortie 4-20mA (ex: RELAYLO1-123456.relay1 En cas d'erreur, déclenche une exception ou retourne Y_HARDWAREID_INVALID www.yoctopuce.com...
Page 311
Task<string> get_logicalName( ) get_logicalName( ) function get_logicalName( ) async get_logicalName( ) YCurrentLoopOutput target get_logicalName Retourne : une chaîne de caractères représentant le nom logique de la sortie sortie 4-20mA. En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
Page 312
é s e n t a n t l ' é t a t d e l ' a l i m e n t a t i o n d e l a b o u c l e En cas d'erreur, déclenche une exception ou retourne Y_LOOPPOWER_INVALID www.yoctopuce.com...
Page 313
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→get_module() currentloopoutput→module() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module( ) YModule * get_module( ) -(YModule*) module TYModule get_module( ): TYModule function get_module( ) As YModule YModule get_module( )
Page 314
22. Référence de l'API de haut niveau YCurrentLoopOutput currentloopoutput→get_module_async() currentloopoutput→module_async() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module_async( callback, context) Si la fonction ne peut être trouvée sur aucun module, l'instance de retournée ne sera pas YModule joignable.
Page 315
Task<string> get_serialNumber( ) get_serialNumber( ) function get_serialNumber( ) async get_serialNumber( ) YCurrentLoopOutput target get_serialNumber Retourne : : une chaîne de caractères représentant le numéro de série du module, préprogrammé en usine. En cas d'erreur, déclenche une exception ou retourne YModule.SERIALNUMBER_INVALID. www.yoctopuce.com...
Page 316
) Object get_userData( ) java get_userData( ) function get_userData( ) async get_userData( ) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Retourne : l'objet stocké précédemment par l'appelant. www.yoctopuce.com...
Page 317
Si les valeurs des attributs en cache de la sortie sortie 4-20mA sont valides au moment de l'appel, le module est considéré joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vérification de joignabilité. Retourne : true false si la sortie sortie 4-20mA est joignable, sinon www.yoctopuce.com...
Page 318
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 319
) YCurrentLoopOutput target isReadOnly Retourne vrais si la fonction est protégé en ecriture ou que la fontion n'est pas disponible. Retourne : true si la fonction est protégé en ecriture ou que la fontion n'est pas disponible www.yoctopuce.com...
Page 320
Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
$attrName) async loadAttribute( attrName) Paramètres : attrName le nom de l'attribut désiré Retourne : une chaîne de caractères représentant la valeur actuelle de l'attribut. En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 322
YAPI_SUCCESS d'erreur (ou contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 323
éviter le déclanchement de callbacks HTTP. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 324
é c i f i q u e , u t i l i s e z avec un hardwareID ou un nom logique. CurrentLoopOutput.findCurrentLoopOutput() Retourne : un pointeur sur un objet YCurrentLoopOutput accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
Page 325
Paramètres : callback la fonction de callback à rappeler, ou un pointeur nul. La fonction de callback doit accepter deux arguments: l'object fonction dont la valeur a changé, et la chaîne de caractère décrivant la nouvelle valeur publiée. www.yoctopuce.com...
Page 326
3 à newval 21mA Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 327
Paramètres : newval une valeur numérique représentant la valeur de courant dans la boucle au démarrage du module Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 328
être préservé. saveToFlash() Paramètres : newval une chaîne de caractères représentant le nom logique de la sortie sortie 4-20mA. Retourne : YAPI_SUCCESS si l'appel se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 329
Object data) java set_userData( data) function set_userData( $data) async set_userData( data) Cet attribut n'es pas utilisé directement par l'API. Il est à la disposition de l'appelant pour stocker un contexte. Paramètres : data objet quelconque à mémoriser www.yoctopuce.com...
Page 330
Cette fonction annule un précédent appel à muteValueCallbacks() . N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 331
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
23.1. Par où commencer ? Si c'est la première fois que vous utilisez un module Yoctopuce et ne savez pas trop par où commencer, allez donc jeter un coup d'œil sur le blog de Yoctopuce. Il y a une section dédiée aux débutants 23.2.
23.5. Module alimenté mais invisible pour l'OS Si votre Yocto-4-20mA-Tx est branché par USB et que sa LED bleue s'allume, mais que le module n'est pas vu par le système d'exploitation, vérifiez que vous utilisez bien un vrai câble USB avec les fils pour les données, et non pas un câble de charge.
23. Problèmes courants 23.7. Déconnexions, comportement erratique Si votre Yocto-4-20mA-Tx se comporte de manière erratique et/ou se déconnecte du bus USB sans raison apparente, vérifiez qu'il est alimenté correctement. Evitez les câbles d'une longueur supérieure à 2 mètres. Au besoin, intercalez un hub USB alimenté...
24. Caractéristiques Vous trouverez résumées ci-dessous les principales caractéristiques techniques de votre module Yocto-4-20mA-Tx Identifiant produit TX420MA1 † Révision matérielle Connecteur USB micro-B Largeur 20 mm Longueur 60 mm Poids Chipset DAC161S997 Précision 0.1 % Tension de fonctionnement 12-24 V DC...