5.4. DigitalIO ..........................5.5. Quelle interface: Native, DLL ou Service? ............... 5.6. Interface haut niveau ou bas niveau ? ................6. Utilisation du Yocto-IO en ligne de commande ..........6.1. Installation .......................... 6.2. Utilisation: description générale ..................6.3. Contrôle de la fonction DigitalIO ..................
Page 4
8.4. Intégration de la librairie Yoctopuce en C++ ..............9. Utilisation du Yocto-IO en C# ..................9.1. Installation .......................... 9.2. Utilisation l'API yoctopuce dans un projet Visual C# ............. 9.3. Contrôle de la fonction DigitalIO ..................9.4. Contrôle de la partie module ....................
Page 5
14. Utilisation du Yocto-IO en JavaScript / EcmaScript ........14.1. Fonctions bloquantes et fonctions asynchrones en JavaScript ....... 14.2. Utiliser la librairie Yoctopuce pour JavaScript / EcmaScript 2017 ......14.3. Contrôle de la fonction DigitalIO .................. 14.4. Contrôle de la partie module ..................
Page 6
24.5. Module alimenté mais invisible pour l'OS ..............24.6. Another process named xxx is already using yAPI ............ 24.7. Déconnexions, comportement erratique ..............24.8. RegisterHub d'un VirtualHub déconnecte le précédent ..........24.9. Commandes ignorées ....................24.10. Module endommagé ....................25. Caractéristiques ......................www.yoctopuce.com...
Les ingénieurs Yoctopuce se sont donné beaucoup de mal pour que votre Yocto-IO soit facile à installer n'importe où et soit facile à piloter depuis un maximum de langages de programmation. Néanmoins, si ce module venait à vous décevoir, ou si vous avez besoin d'informations supplémentaires, n'hésitez pas à...
Suisse 1.1. Informations de sécurité Le Yocto-IO 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-IO, 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-IO 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 à...
La consommation de courant du module est consultable par logiciel uniquement. Le numéro de série Chaque Yocto-module a un numéro de série unique attribué en usine, pour les modules Yocto-IO ce numéro commence par YMINIIO0. Le module peut être piloté par logiciel en utilisant ce numéro de série.
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-IO à 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.
Page 15
2. Présentation d'informations à propos de ces boîtiers sur le site de Yoctopuce . Le boîtier recommandé pour votre Yocto-IO est le modèle YoctoBox-Long-Thick-Black Vous pouvez installer votre Yocto-IO dans un boîtier optionnel. http://www.yoctopuce.com/EN/products/category/enclosures 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-IO à 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-IO, prenez garde à ne pas dépasser les limites de courant imposées par USB, sous peine de faire face des comportements...
3.4. Test du module La première chose à vérifier est le bon fonctionnement de votre module: cliquez sur le numéro de série correspondant à votre module, et une fenêtre résumant les propriétés de votre Yocto-IO. Propriétés du module Yocto-IO. Cette fenêtre vous permet entre autres de tester les entrées/sorties du module. Pour les canaux configurés en entrées, les cases cochées correspondent à...
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é...
Page 21
• Sortie open drain: Il s'agit de l'alter ego de l'entrée open-drain. Un dispositif externe fournit une tension sur la borne "signal". Si le niveau logique de la sortie passe à zéro, le Yocto-IO va relier le signal à la masse (avec une impédance inférieure à 10 Ohms). A charge du dispositif externe de détecter la chute de tension correspondante.
Exemples de montage sur un support. Le module Yocto-IO dispose de trous de montage 3mm. 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 8mm, 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 25
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...
à utiliser un autre module, même dans un autre langage, ne vous prendra qu'un minimum de temps. 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 à...
Page 28
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.
5.2. Le module Yocto-IO Le module Yocto-IO offre une instance de la fonction DigitalIO, dont chaque bit correspond à l'une des huit d'entrées/sorties disponibles sur le module. module : Module...
Page 30
Chaine de caractères contenant le numéro de série, unique et préprogrammé en usine. Pour un module Yocto-IO, ce numéro de série commence toujours par YMINIIO0. Il peut servir comme point de départ pour accéder par programmation à un module particulier.
Attribut de type entier 32 bits à disposition de l'utilisateur. 5.4. DigitalIO Interface pour intéragir avec les ports d'E/S digitaux, disponibles par exemple dans le Yocto-IO et le Yocto-Maxi-IO-V2 La classe permet de piloter un port d'entrée/sortie numérique Yoctopuce. Elle permet YDigitalIO de configurer la direction de chaque canel, de lire l'état de chaque canal et de changer l'état de...
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 33
Quel que soit langage de programmation choisi et le paradigme de contrôle utilisé; la programmation reste strictement identique. D'un langage à l'autre les fonctions ont exactement le même nom, prennent les mêmes paramètres. Les seules différences sont liées aux contraintes des langages eux-mêmes. www.yoctopuce.com...
Un autre avantage des fonctions de haut-niveau de la librairie Yoctopuce est qu'elles permettent d'écrire du code (quasiment) portable d'un langage à un autre, car la librairie Yoctopuce utilise autant que possible les mêmes noms de fonctions, classes et constantes pour tous les langages.
à votre plateforme/OS dans le répertoire de votre choix. Ajoutez éventuellement ce répertoire à votre variable environnement PATH pour avoir accès aux exécutables depuis n'importe où. C'est tout, il ne vous reste plus qu'à brancher votre Yocto-IO, ouvrir un shell et commencer à travailler en tapant par exemple: C:\>YDigitalIO...
C:\>executable commande /help Pour obtenir une description détaillée des paramètres d'une commande. 6.3. Contrôle de la fonction DigitalIO Pour contrôler la fonction DigitalIO de votre Yocto-IO, vous avez besoin de l'exécutable YDigitalIO. Vous pouvez par exemple lancer: C:\>YDigitalIO set_portDirection 15 C:\>YDigitalIO...
6. Utilisation du Yocto-IO 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 38
6. Utilisation du Yocto-IO 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...
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 40
7. Utilisation du Yocto-IO en Python Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code Python qui utilise la fonction DigitalIO. [...] # On active la détection des modules sur USB errmsg=YRefParam() YAPI.RegisterHub("usb",errmsg)
Page 41
7. Utilisation du Yocto-IO en Python import os, from yocto_api import from yocto_digitalio import usage(): scriptname = os.path.basename(sys.argv[0]) print("Usage:") print(scriptname + <serial_number>') print(scriptname + <logical_name>') print(scriptname + any') print('Example:') print(scriptname + any') sys.exit() die(msg): sys.exit(msg + ' (check USB cable)') if len(sys.argv) <...
7. Utilisation du Yocto-IO en Python 7.4. 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. #!/usr/bin/python...
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 44
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. 8.1. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code C++ qui utilise la fonction DigitalIO. #include "yocto_api.h"...
Page 46
Imaginons un module Yocto-IO avec le numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):...
8. Utilisation du Yocto-IO en C++ io->set_portState(outputdata); // We could have used set_bitState as well YAPI::Sleep(1000, errmsg); cout << "Module disconnected" << endl; YAPI::FreeAPI(); 8.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...
Page 49
8. Utilisation du Yocto-IO en C++ Modifications des réglages du module Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction correspondante, cependant cette modification n'a lieu que dans la mémoire vive du set_xxx() module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient mémorisées de manière persistante, il est nécessaire de demander au module de sauvegarder sa configuration...
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é...
Page 52
(...) -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.
9.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. 9.3. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code C# qui utilise la fonction DigitalIO. [...] // On active la détection des modules sur USB...
Page 55
9. Utilisation du Yocto-IO en C# digitalio = YDigitalIO.FindDigitalIO("MonModule.MaFonction"); digitalio = YDigitalIO.FindDigitalIO("MaFonction"); renvoie un objet que vous pouvez ensuite utiliser à loisir pour YDigitalIO.FindDigitalIO contrôler le port d'E/S digital. isOnline La méthode de l'objet renvoyé par permet de isOnline() YDigitalIO.FindDigitalIO savoir si le module correspondant est présent et en état de marche.
9. Utilisation du Yocto-IO en C# Console.WriteLine("Channels 0..1 are configured as outputs and channels 2..3"); Console.WriteLine("are configred as inputs, you can connect some inputs to"); Console.WriteLine("ouputs and see what happens"); outputdata = 0; while (io.isOnline()) { inputdata = io.get_portState(); // read port values...
Il y aura forcément une occasion où un utilisateur aura débranché le périphérique, soit avant de lancer le programme, soit même en pleine opération. La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais www.yoctopuce.com...
Page 59
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: •...
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 63
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.
Page 64
à 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.
Page 65
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 66
\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 10.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.
Page 68
à 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.
Page 69
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 71
10. Utilisation du Yocto-IO 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.
Page 73
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 10.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...
10. Utilisation du Yocto-IO 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 10.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 10.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.
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. 11.2. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code Java qui utilise la fonction DigitalIO. [...] // On active l'accès aux modules locaux à...
Page 80
Imaginons un module Yocto-IO avec le numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):...
11. Utilisation du Yocto-IO en Java = YDigitalIO.FindDigitalIO(args[0]+ ".digitalIO"); } else { = YDigitalIO.FirstDigitalIO(); == null) { System.out.println("No module connected (check USB cable)"); System.exit(1); try { // lets configure the channels direction // bits 0 and 1 as output // bits 2 and 3 as input io.set_portDirection(0x03);...
Page 82
11. Utilisation du Yocto-IO en Java module = YModule.FirstModule(); (module == null) { System.out.println("No module connected (check USB cable)"); System.exit(1); } else { module = YModule.FindModule(args[0]); // use serial or logical name try { (args.length > 1) { if (args[1].equalsIgnoreCase("ON")) { module.setBeacon(YModule.BEACON_ON);...
Page 83
11. Utilisation du Yocto-IO en Java YModule String newname; = YModule.FindModule(args[0]); // use serial or logical name try { newname = args[1]; if (!YAPI.CheckLogicalName(newname)) System.out.println("Invalid name (" newname + ")"); System.exit(1); m.set_logicalName(newname); m.saveToFlash(); // do not forget this System.out.println("Module: serial= "...
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...
Page 87
12. Utilisation du Yocto-IO 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é...
12. Utilisation du Yocto-IO avec Android 12.5. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code Java qui utilise la fonction DigitalIO. [...] // On active la détection des modules sur USB YAPI.EnableUSBHost(this);...
Page 89
12. Utilisation du Yocto-IO avec Android Un exemple réel Lancez votre environnement java et ouvrez le projet correspondant, fourni dans le répertoire Examples/Doc-Examples 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.
12. Utilisation du Yocto-IO avec Android @Override public void onNothingSelected(AdapterView<?> arg0) { final Runnable = new Runnable() { public void run() { (serial != null) { YDigitalIO = YDigitalIO.FindDigitalIO(serial); try { // lets configure the channels direction // bits 0 and 1 as output // bits 2 and 3 as input io.set_portDirection(0x03);...
Page 92
12. Utilisation du Yocto-IO avec Android DisplayModuleInfo(); public void toggleBeacon(View view) (module == null) return; boolean = ((Switch) view).isChecked(); try { if (on) { module.setBeacon(YModule.BEACON_ON); } else { module.setBeacon(YModule.BEACON_OFF); } catch (YAPI_Exception e) { e.printStackTrace(); Chaque propriété du module peut être lue grâce à une méthode du type YModule.get_xxxx...
Page 94
12. Utilisation du Yocto-IO avec Android Attention, le nombre de cycles d'écriture de la mémoire non volatile du module est limité. Passé cette limite plus rien ne garantit que la sauvegarde des réglages se passera correctement. Cette limite, liée à la technologie employée par le micro-processeur du module se situe aux alentour de 100000 cycles.
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.
JavaScript avant l'exécution, pour être ensuite interprêté par n'importe quel navigateur Web ou par Node.js. Cette librairie de programmation Yoctopuce permet donc de coder des applications JavaScript tout en bénéficiant d'un typage fort. Comme notre librairie EcmaScript, elle utilise les fonctionnalités asynchrones introduites dans la version ECMAScript 2017 et qui sont maintenant disponibles nativement dans tous les environnements JavaScript modernes.
• Installez ensuite TypeScript sur votre machine à l'aide de la commande: npm install -g typescript 2. Connectez-vous ensuite sur le site Web de Yoctopuce et téléchargez les éléments suivants: • La librairie de programmation pour TypeScript • Le programme VirtualHub pour Windows, Mac OS X ou Linux selon l'OS que vous utilisez.
13.3. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code TypeScript qui utilise la fonction DigitalIO. // En Node.js, on référence la librairie via son package NPM // En HTML, on utiliserait plutôt un path relatif (selon l'environnement)
Page 100
à en faire un petit programme d'exemple concret. Si le Yocto-IO 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ù est branché le Yocto-IO et où...
Page 101
13. Utilisation du Yocto-IO en TypeScript let io: YDigitalIO; let outputdata: number; async function startDemo(): Promise<void> await YAPI.LogUnhandledPromiseRejections(); // Setup the API to use the VirtualHub on local machine let errmsg: YErrorMsg = new YErrorMsg(); if(await YAPI.RegisterHub('127.0.0.1', errmsg) != YAPI.SUCCESS) { console.log('Cannot contact VirtualHub on 127.0.0.1:...
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-IO. Vous y trouverez un fichier html , et un fichier TypeScript similaire au code ci-dessus, mais avec app.html...
Page 103
13. Utilisation du Yocto-IO en TypeScript // Select the device to use let module: YModule = YModule.FindModule(args[0]); if(await module.isOnline()) { if(args.length > 1) { if(args[1] == 'ON') { await module.set_beacon(YModule.BEACON_ON); } else { await module.set_beacon(YModule.BEACON_OFF); console.log('serial: '+await module.get_serialNumber()); console.log('logical name: '+await module.get_logicalName());...
Il y aura forcément une occasion où un utilisateur aura débranché le périphérique, soit avant de lancer le programme, soit même en pleine opération. La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais www.yoctopuce.com...
Page 105
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: •...
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.
14. Utilisation du Yocto-IO en JavaScript / EcmaScript 14.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.
Page 110
14. Utilisation du Yocto-IO 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); 14.3. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code JavaScript qui utilise la fonction DigitalIO. // En Node.js, on utilise la fonction require() // En HTML, on utiliserait <script src="...">...
Page 112
à en faire un petit programme d'exemple concret. Si le Yocto-IO 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ù...
Page 113
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-IO. Vous y trouverez un fichier html, avec une section JavaScript similaire au code précédent, mais avec quelques variantes pour permettre une interaction à...
14. Utilisation du Yocto-IO en JavaScript / EcmaScript 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); return; // Select specified device, or use first available one let serial = document.getElementById('serial').value;...
Page 115
14. Utilisation du Yocto-IO 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);...
Page 116
14. Utilisation du Yocto-IO en JavaScript / EcmaScript // Select the relay to use module = YModule.FindModule(args[0]); if(await module.isOnline()) { if(args.length > 1) { newname = args[1]; if (!await YAPI.CheckLogicalName(newname)) { console.log("Invalid name (" newname + ")"); process.exit(1); await module.set_logicalName(newname);...
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. 15.2. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code PHP qui utilise la fonction DigitalIO. include('yocto_api.php');...
Page 120
Imaginons un module Yocto-IO avec le numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):...
Page 121
15. Utilisation du Yocto-IO en PHP browser favori. Vous trouverez aussi ce code dans le répertoire Examples/Doc-GettingStarted- Yocto-IO 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.
15. Utilisation du Yocto-IO en PHP <p>Port value: <?php Print($line);?></p> <input type='submit'> </FORM> </BODY> </HTML> 15.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 123
15. Utilisation du Yocto-IO en PHP YAPI::FreeAPI(); ?> <input type='submit' value='refresh'> </FORM> </BODY> </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 125
15. Utilisation du Yocto-IO en PHP Configuration DSL typique, les machines du LAN sont isolées de l'extérieur par le router DSL 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...
Page 126
15. Utilisation du Yocto-IO en PHP NAT du routeur DSL. Le problème de cette solution est qu'il expose le serveur de domotique aux attaques externes. L'API par callback HTTP résoud ce problème sans qu'il soit nécessaire de modifier la configuration du routeur DSL.
Page 127
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: •...
16.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 à...
16.3. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code VisualBasic .NET qui utilise la fonction DigitalIO. [...] ' On active la détection des modules sur USB...
Page 131
16. Utilisation du Yocto-IO en VisualBasic .NET renvoie un objet que vous pouvez ensuite utiliser à loisir pour YDigitalIO.FindDigitalIO contrôler le port d'E/S digital. isOnline La méthode de l'objet renvoyé par permet de isOnline() YDigitalIO.FindDigitalIO savoir si le module correspondant est présent et en état de marche.
16. Utilisation du Yocto-IO en VisualBasic .NET io.set_portPolarity(0) polarity set to regular io.set_portOpenDrain(0) REM No open drain Console.WriteLine("Channels 0..1 are configured as outputs and channels 2..3") Console.WriteLine("are configred as inputs, you can connect some inputs to") Console.WriteLine("ouputs and see what happens")
Page 133
16. Utilisation du Yocto-IO en VisualBasic .NET Console.WriteLine("USB current: " + Str(m.get_usbCurrent()) + " mA") Console.WriteLine("Logs:") Console.WriteLine(m.get_lastLogs()) Else Console.WriteLine(argv(1) + " not connected (check identification and USB cable)") End If YAPI.FreeAPI() End Sub End Module Chaque propriété du module peut être lue grâce à une méthode du type...
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 135
16. Utilisation du Yocto-IO en VisualBasic .NET Comme cette dernière situation n'est pas la plus souhaitable, la librairie Yoctopuce offre une autre alternative pour la gestion des erreurs, permettant de faire un programme robuste sans devoir attraper exceptions à chaque ligne code.
17.2. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code Delphi qui utilise la fonction DigitalIO.
Page 138
[...] Voyons maintenant en détail ce que font ces quelques lignes. yocto_api et yocto_digitalio 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 les modules yocto_api yocto_digitalio contenant un port d'E/S digital, comme le Yocto-IO.
Page 139
17. Utilisation du Yocto-IO en Delphi 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. program helloworld; {$APPTYPE CONSOLE} uses SysUtils, yocto_api, yocto_digitalIO; procedure usage();...
17. Utilisation du Yocto-IO en Delphi Writeln('Channels 0..1 are configured as inputs and channels 2..3'); Writeln('are configred as ouputs, you can connect some inputs to'); Writeln('ouputs and see what happens'); outputdata := 0; while (io.isOnline()) do begin inputdata := io.get_portState();...
Page 141
17. Utilisation du Yocto-IO en Delphi begin Write('RegisterHub error: '+errmsg); exit; end; module := yFindModule(serial); refresh(module); repeat read(c); case 'r': refresh(module); 'b': beacon(module,Y_BEACON_ON); ': beacon(module,Y_BEACON_OFF); end; until c = 'x'; yFreeAPI(); end. Chaque propriété du module peut être lue grâce à une méthode du type...
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 143
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.
18.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.
18.4. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code c# qui utilise la fonction DigitalIO.
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 .
18. Utilisation du Yocto-IO avec Universal Windows Platform line line + '0'; WriteLine("port value = " + line); // cycle ouput 0..3 outputdata (outputdata + 1) % 4; // We could have used set_bitState as well await io.set_portState(outputdata); await YAPI.Sleep(1000);...
Page 150
18. Utilisation du Yocto-IO avec Universal Windows Platform YAPI.FreeAPI(); return 0; 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 152
18. Utilisation du Yocto-IO avec Universal Windows Platform try { ..} catch (YAPI_Exception ex) { Debug.WriteLine("Exception from Yoctopuce lib:" + ex.Message); } catch (Exception ex) { Debug.WriteLine("Other exceptions :" + ex.Message); www.yoctopuce.com...
à vos projets. 19.1. Contrôle de la fonction DigitalIO Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code Objective-C qui utilise la fonction DigitalIO. #import "yocto_api.h"...
Page 154
Imaginons un module Yocto-IO avec le numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):...
19. Utilisation du Yocto-IO en Objective-C NSLog(@" demo <logical_name>"); NSLog(@" demo any (use any discovered device)"); exit(1); int main(int argc, const char * argv[]) NSError *error; @autoreleasepool { YDigitalIO *io; // Setup the API to use local USB devices if([YAPI RegisterHub:@"usb": &error] != YAPI_SUCCESS) {...
Page 156
19. Utilisation du Yocto-IO en Objective-C static void usage(const char *exe) NSLog(@"usage: %s <serial or logical name> [ON/OFF]\n", exe); exit(1); main (int argc, const char * argv[]) NSError *error; @autoreleasepool { // Setup the API to use local USB devices if([YAPI RegisterHub:@"usb": &error] != YAPI_SUCCESS) {...
Page 157
19. Utilisation du Yocto-IO en Objective-C main (int argc, const char * argv[]) NSError *error; @autoreleasepool { // Setup the API to use local USB devices if([YAPI RegisterHub:@"usb" :&error] != YAPI_SUCCESS) { NSLog(@"RegisterHub error: %@", [error localizedDescription]); return if(argc <...
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: •...
ê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.
Page 160
20. 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é.
Page 162
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-IO avec le numéro de de série YMINIIO0-12345 et le nom logique monModule. l'URL suivante permettra de connaître l'état du module.
20.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 164
(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; end; www.yoctopuce.com...
Page 165
20. Utilisation avec des langages non supportés 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.
Les exemples sont donnés dans le language le plus populaire auprès des clients de Yoctopuce, à savoir C#. Néanmoins, vous trouverez dans les librairies de programmation pour chaque language des exemples complets illustrant les concepts présentés ici.
Page 168
à 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. 22.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é...
Page 171
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...
23. 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-IO. 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 définition pour ce...
YAPI.EnableUSBHost(osContext) Cette fonction est utilisée uniquement sous Android. YAPI.FreeAPI() Attends que toutes les communications en cours avec les modules Yoctopuce soient terminées puis libère les ressources utilisées par la librairie Yoctopuce. YAPI.GetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée.
Page 175
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 176
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.
Page 177
. 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 false si le nom est valide, dans le cas contraire. www.yoctopuce.com...
Page 178
Désactive le cache de callback HTTP. function ClearHTTPCallbackCacheDir( $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 179
DisableExceptions( ) void DisableExceptions( ) DisableExceptions( ) function DisableExceptions( ) async DisableExceptions( ): Promise<void> 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 180
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 181
(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 182
23. Référence de l'API de haut niveau YAPI.FreeAPI() YAPI YAPI.FreeAPI() Attends que toutes les communications en cours avec les modules Yoctopuce soient terminées puis libère les ressources utilisées par la librairie Yoctopuce. function yFreeAPI( ) void FreeAPI( ) +(void) FreeAPI...
Page 183
23. 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 GetAPIVersion( ) +(NSString*) GetAPIVersion string yGetAPIVersion( ): string function GetAPIVersion( ) As String static String GetAPIVersion( ) static String GetAPIVersion( )
Page 184
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 185
GetDeviceListValidity( ) int GetDeviceListValidity( ) java async Task<int> GetDeviceListValidity( ) GetDeviceListValidity( ) function GetDeviceListValidity( ) async GetDeviceListValidity( ): Promise<number> 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 186
. 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 187
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 188
23. Référence de l'API de haut niveau YAPI.GetLog() YAPI YAPI.GetLog() Récupère les messages de logs de la librairie de communication Yoctopuce. static string GetLog( string lastLogLine) 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'à...
Page 189
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 190
GetTickCount( ) GetTickCount( ): number 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 191
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 192
23. 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 InitAPI( int mode, string errmsg) +(YRETCODE) InitAPI :(int) mode :(NSError**) errmsg integer yInitAPI( mode: integer, var errmsg: string): integer...
Page 193
"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 194
RegisterDeviceArrivalCallback( $arrivalCallback) async RegisterDeviceArrivalCallback( arrivalCallback: YDeviceUpdateCallback| null): Promise<void> async RegisterDeviceArrivalCallback( arrivalCallback) Le callback sera appelé pendant l'éxecution de la fonction , que vous devrez yUpdateDeviceList appeler régulièrement. Paramètres : arrivalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
Page 195
RegisterDeviceRemovalCallback( $removalCallback) async RegisterDeviceRemovalCallback( removalCallback: YDeviceUpdateCallback| null): Promise<void> 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 196
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 197
"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 198
, 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 199
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 200
RegisterLogFunction( LogCallback logfun) java void RegisterLogFunction( LogHandler logfun) RegisterLogFunction( logfun) async RegisterLogFunction( logfun: YLogCallback): Promise<number> async RegisterLogFunction( logfun) Utile pour débugger le fonctionnement de l'API. Paramètres : logfun une procedure qui prend une chaîne de caractère en paramètre, www.yoctopuce.com...
Page 201
à 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 202
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 : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en cacheValidityMs millisecondes. www.yoctopuce.com...
Page 203
(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 204
à 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 : nombre de secondes entre chaque énumération. deviceListValidity www.yoctopuce.com...
Page 205
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 206
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 : networkMsTimeout le délais de connexion réseau en millisecondes. www.yoctopuce.com...
Page 207
être fournis, pour être passés à la fonction de 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 208
ê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 209
à lire périodiquement les informations en provenance des modules Yoctopuce en appelant la fonction yHandleEvents() afin de se maintenir à jour. Cette fonction peut signaler une erreur au cas à la communication avec un module Yoctopuce ne se passerait pas comme attendu. Paramètres : ms_duration un entier correspondant à...
Page 210
é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 211
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 212
23. 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 UnregisterHub( string url) +(void) UnregisterHub :(NSString *) yUnregisterHub( url: string)
Page 213
23. 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 UpdateDeviceList( string errmsg) +(YRETCODE) UpdateDeviceList :(NSError**) errmsg integer yUpdateDeviceList( var errmsg: string): integer function UpdateDeviceList( ByRef...
Page 214
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.
23.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 216
Retourne le code d'erreur correspondant à la dernière erreur survenue lors de l'utilisation de l'objet module. module→get_firmwareRelease() Retourne la version du logiciel embarqué du module. module→get_functionIds(funType) 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() www.yoctopuce.com...
Page 217
Met en cache les valeurs courantes du module, avec une durée de validité spécifiée. module→load_async(msValidity, callback, context) 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. www.yoctopuce.com...
Page 218
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 219
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 220
Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le module sans ambiguïté, par exemple MyDevice.module Retourne : YModule un objet de classe qui permet ensuite de contrôler le module. www.yoctopuce.com...
Page 221
FirstModule( ): YModule | null static FirstModule( ) Utiliser la fonction pour itérer sur les autres modules. YModule.nextModule() Retourne : un pointeur sur un objet YModule , correspondant au premier module accessible en ligne, ou null aucun module n'a été trouvé. www.yoctopuce.com...
Page 222
23. Référence de l'API de haut niveau YModule module→Beacon état de la balise de localisation. int Beacon Modifiable. Allume ou éteint la balise de localisation du module. www.yoctopuce.com...
Page 223
23. Référence de l'API de haut niveau YModule module→FirmwareRelease Version du logiciel embarqué du module. string FirmwareRelease www.yoctopuce.com...
Page 224
23. 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 225
23. 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 226
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 227
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 228
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 229
23. 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 230
23. 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 231
23. 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 232
23. 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 233
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 234
) function clearCache( ) async clearCache( ): Promise<void> 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 235
String describe( ) java describe( ) function describe( ) async describe( ): Promise<string> 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...
Page 236
Promise<Uint8Array> async download( pathname) byte[] download( string pathname) string download( string 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 237
à 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 238
) int functionCount( ) java functionCount( ) function functionCount( ) async functionCount( ): Promise<number> 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 239
à 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 240
à 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 241
à 0 pour la 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 242
à 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 243
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 244
): Promise<YModule_Beacon> async get_beacon( ) int get_beacon( ) int get_beacon( ) YModule target get_beacon Retourne : YModule.BEACON_OFF YModule.BEACON_ON soit , soit , selon l'état de la balise de localisation En cas d'erreur, déclenche une exception ou retourne YModule.BEACON_INVALID www.yoctopuce.com...
Page 245
) get_errorMessage( ): string 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 246
) get_errorType( ): number 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 247
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.FIRMWARERELEASE_INVALID www.yoctopuce.com...
Page 248
$funType) async get_functionIds( funType: string): Promise<string[] async get_functionIds( funType) string[] get_functionIds( string funType) vector<string> get_functionIds( string funType) YModule target get_functionIds funType Paramètres : funType Le type de fonction (Relay, LightSensor, Voltage,...) Retourne : un tableau de chaînes de caractère. www.yoctopuce.com...
Page 249
) string 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 250
) string 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 251
) 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 252
) async get_logicalName( ): Promise<string> async get_logicalName( ) string get_logicalName( ) string 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 YModule.LOGICALNAME_INVALID www.yoctopuce.com...
Page 253
): Promise<number> async get_luminosity( ) int get_luminosity( ) int 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 YModule.LUMINOSITY_INVALID www.yoctopuce.com...
Page 254
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 255
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.PERSISTENTSETTINGS_INVALID www.yoctopuce.com...
Page 256
) async get_productId( ): Promise<number> async get_productId( ) int get_productId( ) int 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 YModule.PRODUCTID_INVALID www.yoctopuce.com...
Page 257
): Promise<string> async get_productName( ) string get_productName( ) string 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 YModule.PRODUCTNAME_INVALID www.yoctopuce.com...
Page 258
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 YModule.PRODUCTRELEASE_INVALID www.yoctopuce.com...
Page 259
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YModule.REBOOTCOUNTDOWN_INVALID www.yoctopuce.com...
Page 260
): Promise<string> async get_serialNumber( ) string get_serialNumber( ) string 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 YModule.SERIALNUMBER_INVALID www.yoctopuce.com...
Page 261
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...
Page 262
): Promise<number> async get_upTime( ) long get_upTime( ) s64 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 YModule.UPTIME_INVALID www.yoctopuce.com...
Page 263
): Promise<string> async get_url( ) string get_url( ) string 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 264
): Promise<number> async get_usbCurrent( ) int get_usbCurrent( ) int 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 YModule.USBCURRENT_INVALID www.yoctopuce.com...
Page 265
) function get_userData( ) async get_userData( ): Promise<object|null> 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 266
) 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 YModule.USERVAR_INVALID www.yoctopuce.com...
Page 267
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 268
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 269
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 270
Paramètres : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en msValidity 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 271
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 272
ê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 273
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 Module.findModule() avec un hardwareID ou un nom logique. Retourne : YModule null un pointeur sur un objet accessible en ligne, ou lorsque l'énumération est terminée. www.yoctopuce.com...
Page 274
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 275
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 276
ConfigChangeCallback callback) int registerConfigChangeCallback( ConfigChangeCallback callback) java async Task<int> registerConfigChangeCallback( ConfigChangeCallback callback) registerConfigChangeCallback( callback) function registerConfigChangeCallback( $callback) async registerConfigChangeCallback( callback: YModuleConfigChangeCallback | null): Promise<number> async registerConfigChangeCallback( callback) Paramètres : callback YModule null une procédure qui prend un en paramètre, ou www.yoctopuce.com...
Page 277
$callback) async registerLogCallback( callback: YModuleLogCallback | null): Promise<number> async registerLogCallback( callback) Utile pour débugger le fonctionnement d'un module Yoctopuce. Paramètres : callback la fonction de callback à rappeler, ou un pointeur nul. La fonction de callback doit accepter deux arguments: l'objet module qui a produit un log, un chaîne de caractère qui contiens le log...
Page 278
) async revertFromFlash( ): Promise<number> async revertFromFlash( ) int revertFromFlash( ) int 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 279
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 280
être préservés. saveToFlash() Paramètres : un objet binaire avec touts les paramètres settings 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 281
être préservés. Paramètres : un buffer binaire avec touts les paramètres settings 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 282
YModule target set_beacon newval Paramètres : newval soit YModule.BEACON_OFF , soit YModule.BEACON_ON 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 283
ê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 284
être préservé. Paramètres : un entier représentant la luminosité des leds informatives du module 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 285
$data) async set_userData( data: object|null): Promise<void> 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 286
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 : newval un entier 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 287
LongInt triggerConfigChangeCallback( ): LongInt function triggerConfigChangeCallback( ) As Integer int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) java async Task<int> triggerConfigChangeCallback( ) triggerConfigChangeCallback( ) function triggerConfigChangeCallback( ) async triggerConfigChangeCallback( ): Promise<number> async triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) int triggerConfigChangeCallback( ) YModule target triggerConfigChangeCallback www.yoctopuce.com...
Page 288
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 289
Cette méthode retourne un object qui est utilisé pour mettre à jour le firmware du YFirmwareUpdate module. Paramètres : path le path du fichier .byn à utiliser Retourne : YFirmwareUpdate un object ou NULL en cas d'erreur www.yoctopuce.com...
Page 290
à jour le firmware du YFirmwareUpdate module. Paramètres : path .byn le path du fichier à utiliser force vrai pour forceer la mise à jour même si un prérequis ne semble pas satisfait Retourne : YFirmwareUpdate un object ou NULL en cas d'erreur www.yoctopuce.com...
Page 291
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout. www.yoctopuce.com...
23. Référence de l'API de haut niveau 23.3. La classe YDigitalIO Interface pour intéragir avec les ports d'E/S digitaux, disponibles par exemple dans le Yocto-IO et le Yocto-Maxi-IO-V2 La classe permet de piloter un port d'entrée/sortie numérique Yoctopuce. Elle permet de YDigitalIO configurer la direction de chaque canel, de lire l'état de chaque canal et de changer l'état de chaque...
Page 293
Retourne la direction d'un seul bit (canal) du port d'E/S. digitalio→get_bitOpenDrain(bitno) Retourne la direction d'un seul bit du port d'E/S. digitalio→get_bitPolarity(bitno) Retourne la polarité d'un seul bit du port d'E/S. digitalio→get_bitState(bitno) Retourne l'état d'un seul bit (i.e. digitalio→get_errorMessage() www.yoctopuce.com...
Page 294
Retourne la source de tension utilisée pour piloter les bits en sortie. digitalio→get_portDiags() Retourne le diagnostique de l'état du port (Yocto-IO et Yocto-MaxiIO-V2 seulement). digitalio→get_portDirection() Retourne la direction des canaux du port (bitmap): 0 représente un bit en entrée, 1 représente un bit en sortie.
Page 295
Inverse l'état d'un seul bit (i.e. digitalio→unmuteValueCallbacks() Réactive l'envoi de chaque changement de la valeur publiée au hub parent. digitalio→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 296
à l'initialisation de de l'application. Paramètres : func une chaîne de caractères qui référence le port d'E/S digital sans ambiguïté, par exemple YMINIIO0.digitalIO Retourne : YDigitalIO un objet de classe qui permet ensuite de contrôler le port d'E/S digital. www.yoctopuce.com...
Page 297
Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le port d'E/S digital sans ambiguïté, par exemple YMINIIO0.digitalIO Retourne : un objet de classe YDigitalIO qui permet ensuite de contrôler le port d'E/S digital. www.yoctopuce.com...
Page 298
YDigitalIO.nextDigitalIO() Retourne : un pointeur sur un objet YDigitalIO , correspondant au premier port d'E/S digital accessible en ligne, ou null si il n'y a pas de ports d'E/S digitaux disponibles. www.yoctopuce.com...
Page 299
YDigitalIO.nextDigitalIO() Paramètres : yctx un contexte YAPI. Retourne : un pointeur sur un objet YDigitalIO , correspondant au premier port d'E/S digital accessible en ligne, ou null si il n'y a pas de ports d'E/S digitaux disponibles. www.yoctopuce.com...
Page 300
à m é t h o d e pour obtenir une objet permettant d'intéragir avec le module YDigitalIO.FindDigitalIO 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 301
23. Référence de l'API de haut niveau YDigitalIO digitalio→AdvertisedValue Courte chaîne de caractères représentant l'état courant de la fonction. string AdvertisedValue www.yoctopuce.com...
Page 302
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 303
23. Référence de l'API de haut niveau YDigitalIO digitalio→FunctionId Identifiant matériel du port d'E/S digital, sans référence au module. string FunctionId Par example relay1 www.yoctopuce.com...
Page 304
23. Référence de l'API de haut niveau YDigitalIO digitalio→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 305
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 306
23. Référence de l'API de haut niveau YDigitalIO digitalio→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 307
23. Référence de l'API de haut niveau YDigitalIO digitalio→OutputVoltage Source de tension utilisée pour piloter les bits en sortie. int OutputVoltage Modifiable. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé après un redémarrage du module. www.yoctopuce.com...
Page 308
23. Référence de l'API de haut niveau YDigitalIO digitalio→PortDirection Direction des canaux du port (bitmap): 0 représente un bit en entrée, 1 représente un bit en sortie. int PortDirection Modifiable. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé. www.yoctopuce.com...
Page 309
(drain ouvert). Modifiable. 0 représente une entrée ou une sortie digitale standard, 1 représente une entrée ou sortie en mode collecteur ouvert (drain ouvert). N'oubliez pas d'appeler la méthode saveToFlash() module si le réglage doit être préservé. www.yoctopuce.com...
Page 310
Modifiable. Modifie la polaritée des bits du port (bitmap): Pour chaque bit à 0 l'entrée sortie correspondante fonctionne manière normale, pour chaque bit à 1 elle fonctionne ne manière inversée. N'oubliez pas d'appeler la méthode du module si le réglage doit être préservé. saveToFlash() www.yoctopuce.com...
Page 311
23. Référence de l'API de haut niveau YDigitalIO digitalio→PortSize Nombre de bits (i.e. int PortSize canaux) implémentés dans le port d'E/S. www.yoctopuce.com...
Page 312
0b00000010 -> paramètre = 3 Mettre le canal N°2 à 1 -> -> paramètre = 4 et ainsi de 0b00000011 0b00000100 suite... Seuls les canaux configurés en sortie sont affectés, conformément à la configuration effectuée à l'aide de set_portDirection www.yoctopuce.com...
Page 313
23. Référence de l'API de haut niveau YDigitalIO digitalio→SerialNumber Numéro de série du module, préprogrammé en usine. string SerialNumber www.yoctopuce.com...
Page 314
) function clearCache( ) async clearCache( ): Promise<void> async clearCache( ) Invalide le cache des valeurs courantes du port d'E/S digital. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
Page 315
Notez que la résolution temporelle du module ms_duration n'est pas garantie à la milliseconde. 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 316
è r e s d é c r i v a n t p o r t d ' E / S d i g i t a l ( e x : Relay(MyCustomName.relay1)=RELAYLO1-123456.relay1 www.yoctopuce.com...
Page 317
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.ADVERTISEDVALUE_INVALID www.yoctopuce.com...
Page 318
Paramètres : bitno index du bit dans le port; le bit de poid faible est à l'index 0 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 319
à l'index 0 Retourne : 0 représente une entrée ou une sortie digitale standard, 1 représente une entrée ou sortie en mode collecteur ouvert (drain ouvert).. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 320
Paramètres : bitno index du bit dans le port; le bit de poid faible est à l'index 0 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 321
Paramètres : bitno index du bit dans le port; le bit de poid faible est à l'index 0 Retourne : l'état du bit (0 ou 1). En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 322
) get_errorMessage( ): string 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 port d'E/S digital.
Page 323
) get_errorType( ): number 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 port d'E/S digital.
Page 324
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.FRIENDLYNAME_INVALID www.yoctopuce.com...
Page 325
é 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$CLASSNAME$.FUNCTIONDESCRIPTOR_INVALID www.yoctopuce.com...
Page 326
) async get_functionId( ): Promise<string> async get_functionId( ) string get_functionId( ) string get_functionId( ) Par example relay1 Retourne : relay1 une chaîne de caractères identifiant le port d'E/S digital (ex: En cas d'erreur, déclenche une exception ou retourne YDigitalIO.FUNCTIONID_INVALID www.yoctopuce.com...
Page 327
L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel du port d'E/S digital (par example RELAYLO1-123456.relay1 Retourne : une chaîne de caractères identifiant le port d'E/S digital (ex: RELAYLO1-123456.relay1 En cas d'erreur, déclenche une exception ou retourne YDigitalIO.HARDWAREID_INVALID www.yoctopuce.com...
Page 328
): Promise<string> async get_logicalName( ) string get_logicalName( ) string get_logicalName( ) YDigitalIO target get_logicalName Retourne : une chaîne de caractères représentant le nom logique du port d'E/S digital. En cas d'erreur, déclenche une exception ou retourne YDigitalIO.LOGICALNAME_INVALID www.yoctopuce.com...
Page 329
23. Référence de l'API de haut niveau YDigitalIO digitalio→get_module() digitalio→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 330
23. Référence de l'API de haut niveau YDigitalIO digitalio→get_module_async() digitalio→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 331
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.OUTPUTVOLTAGE_INVALID www.yoctopuce.com...
Page 332
Le bit 0 signale un court-circuit sur la sortie 0, etc. Le bit 8 indique un défaut d'alimentation, et le bit 9 indique une surchauffe (courant excessif). En fonctionnement normal, le diagnostique devrait être à zéro. Retourne : un entier représentant le diagnostique de l'état du port (Yocto-IO et Yocto-MaxiIO-V2 seulement) En cas d'erreur, déclenche une exception ou retourne YDigitalIO.PORTDIAGS_INVALID www.yoctopuce.com...
Page 333
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.PORTDIRECTION_INVALID www.yoctopuce.com...
Page 334
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.PORTOPENDRAIN_INVALID www.yoctopuce.com...
Page 335
' e r r e u r , d é c l e n c h e u n e e x c e p t i o n r e t o u r n e YDigitalIO.PORTPOLARITY_INVALID www.yoctopuce.com...
Page 336
): Promise<number> async get_portSize( ) int get_portSize( ) int get_portSize( ) YDigitalIO target get_portSize canaux) implémentés dans le port d'E/S. Retourne : un entier représentant le nombre de bits (i.e En cas d'erreur, déclenche une exception ou retourne YDigitalIO.PORTSIZE_INVALID www.yoctopuce.com...
Page 337
0b00000100 Retourne : un entier représentant l'état du port d'E/S digital sous la forme d'un entier dont chaque bit représente un canal, avec le canal zéro correspondant au bit 0 En cas d'erreur, déclenche une exception ou retourne YDigitalIO.PORTSTATE_INVALID www.yoctopuce.com...
Page 338
): Promise<string> async get_serialNumber( ) string get_serialNumber( ) string get_serialNumber( ) YDigitalIO 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 YFunction.SERIALNUMBER_INVALID. www.yoctopuce.com...
Page 339
) function get_userData( ) async get_userData( ): Promise<object|null> 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 340
Si les valeurs des attributs en cache du port d'E/S digital 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 port d'E/S digital est joignable, sinon www.yoctopuce.com...
Page 341
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 342
) YDigitalIO 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 343
Paramètres : un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en msValidity 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 344
Paramètres : le nom de l'attribut désiré attrName 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 345
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 346
éviter le déclanchement de callbacks HTTP. 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 347
): YDigitalIO | null nextDigitalIO( ) Si vous souhaitez retrouver un port d'E/S digital spécifique, utilisez DigitalIO.findDigitalIO() avec un hardwareID ou un nom logique. Retourne : YDigitalIO null un pointeur sur un objet accessible en ligne, ou lorsque l'énumération est terminée. www.yoctopuce.com...
Page 348
Notez que la résolution temporelle du module n'est pas garantie à la milliseconde. 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 349
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 350
0=entrée, 1=sortie. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé après un redé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 351
(drain ouvert). N'oubliez pas d'appeler la méthode saveToFlash() module si le réglage doit être préservé après un redé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 352
0=mode normal, 1=mode inverse. N'oubliez pas d'appeler la bitpolarity méthode saveToFlash() du module si le réglage doit être préservé après un redé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 353
à l'index 0 bitstate nouvel état du bit (1 ou 0) 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 354
être préservé. saveToFlash() Paramètres : newval une chaîne de caractères représentant le nom logique du port d'E/S digital. 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 355
Y D i g i t a l I O . O U T P U T V O L T A G E _ U S B _ 3 V YDigitalIO.OUTPUTVOLTAGE_EXT_V représentant la source de tension utilisée pour piloter les bits en sortie 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 356
(bitmap): 0 représente un bit en entrée, 1 newval représente un bit en sortie 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 357
être préservé. Paramètres : un entier représentant le type d'interface électrique de chaque bit du port (bitmap) 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 358
(bitmap): Pour chaque bit à 0 l'entrée sortie newval correspondante fonctionne manière normale, pour chaque bit à 1 elle fonctionne ne manière inversée 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 359
0 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 360
$data) async set_userData( data: object|null): Promise<void> 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 361
Paramètres : bitno index du bit dans le port; le bit de poid faible est à l'index 0 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 362
Cette fonction annule un précédent appel à . N'oubliez pas d'appeler la muteValueCallbacks() 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 363
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback context Retourne : rien du tout. www.yoctopuce.com...
24.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 24.2.
24.5. Module alimenté mais invisible pour l'OS Si votre Yocto-IO 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.
24. Problèmes courants 24.7. Déconnexions, comportement erratique Si votre Yocto-IO 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é...
25. Caractéristiques Vous trouverez résumées ci-dessous les principales caractéristiques techniques de votre module Yocto-IO Identifiant produit YMINIIO0 † Révision matérielle Connecteur USB micro-B Largeur 20 mm Longueur 60 mm Poids Canaux Chipset NCV7608 Fréquence de rafraîchissement 250 Hz Impédance de sortie <>10 Ω...