5.5. Les espaces de couleurs: RGB et HSL ................5.6. Quelle interface: Native, DLL ou Service? ................5.7. Programmation, par où commencer? ................. 6. Utilisation du Yocto-Color en ligne de commande .......... 6.1. Installation ........................... 6.2. Utilisation: description générale ..................
Page 4
7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript .......... 7.2. Utiliser la librairie Yoctopuce pour JavaScript / EcmaScript 2017 ........7.3. Contrôle de la fonction ColorLed ..................7.4. Contrôle de la partie module ....................7.5. Gestion des erreurs ......................8. Utilisation du Yocto-Color en PHP ................
Page 5
15.3. Contrôle de la partie module ..................... 15.4. Gestion des erreurs ......................16. Utilisation du Yocto-Color avec Android ............16.1. Accès Natif et Virtual Hub....................16.2. Préparation ........................16.3. Compatibilité ........................16.4. Activer le port USB sous Android ..................
Les ingénieurs Yoctopuce se sont donnés beaucoup de mal pour que votre Yocto-Color 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 n'hésitez pas à...
Les versions de Android actuellement supportées sont 3.1 et suivantes. De plus, il est nécessaire que la tablette ou le téléphone supporte le mode USB Host. Yoctopuce teste régulièrement le bon fonctionnement des modules avec Android 4.x sur un Nexus 7 et un Samsung Galaxy S3 avec la librairie Java pour Android.
Yoctopuce. Vous devez raccorder votre module Yocto-Color à l'aide d'un cable USB de type A - micro B Si vous branchez un hub USB entre l'ordinateur et le module Yocto-Color, prenez garde à ne pas dépasser les limites de courant imposées par USB, sous peine de faire face des comportements...
Page 10
étamé mono-brin: c'est le plus facile à souder. Dans tous les cas, il vous faudra 4 fils espacés de 1.27mm. Ce même câble peut aussi être utilisé pour souder un fil directement entre le module Yocto-Color et un micro-hub USB pour éviter l'encombrement d'un cable USB.
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 au format micro-USB. Les câbles correspondants ne sont pas forcément les plus faciles à trouver, mais ces connecteurs ont l'avantage d'occuper un minimum de place.
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-Color ce numéro commence par YRGBLED1. Le module peut être piloté par logiciel en utilisant ce numéro de série.
3. Premiers pas Arrivé à ce chapitre votre Yocto-Color devrait être branché à votre ordinateur, qui devrait l'avoir reconnu. Il est temps de le faire fonctionner. Rendez-vous sur le site de Yoctopuce et téléchargez le programme Virtual Hub , Il est disponible pour Windows, Linux et Mac OS X.
Le firmware du module peut être facilement mis à jour à l'aide de l'interface. Pour ce faire, vous devez au préalable disposer du firmware adéquat sur votre disque local. Les firmwares destinés aux modules Yoctopuce se présentent sous la forme de fichiers .byn et peuvent être téléchargés depuis le site web de Yoctopuce.
être librement choisi par l'utilisateur. Utiliser des noms logiques pour les fonctions permet une plus grande flexibilité au niveau de la programmation des modules La seule fonction fournie par le module Yocto-Color est la fonction ColorLed, dont il existe deux instances: colorLed1 et colorLed2.
4. Montage et connectique Ce chapitre fournit des explications importantes pour utiliser votre module Yocto-Color en situation réelle. Prenez soin de le lire avant d'aller trop loin dans votre projet si vous voulez éviter les mauvaises surprises. 4.1. Fixation Pendant la mise au point de votre projet vous pouvez vous contenter de laisser le module se promener au bout de son câble.
Exemples de montage sur un support. Le module Yocto-Color dispose de trous de montage 2.5mm. Vous pouvez utiliser ces trous pour y passer des vis. Le diamètre de la tête de ces vis ne devra pas dépasser 4.5mm, sous peine d'endommager les circuits du module.
Page 19
Bien que pratique la soudure directe des câbles rend le résultat difficile à démonter. C'est pourquoi le module Yocto-Color a été conçu pour utiliser des connecteurs Picoflex de Molex . Ce système est largement disponible, relativement bon marché, et permet de fabriquer des solutions...
4. Montage et connectique Si vous raccordez un sous module de votre Yocto-Color à un autre type de module, par exemple un Yocto-Temperature, cela ne marchera pas, et vous risquez fort d'endommager votre matériel. 4.3. Contraintes d'alimentation par USB Bien que USB signifie Universal Serial BUS, les périphériques USB ne sont pas organisés physiquement en bus mais en arbre, avec des connections point-à-point.
5.1. Paradigme de programmation L'API Yoctopuce est une API orientée objet. Mais dans un souci de simplicité, seules les bases de la programmation objet ont été utilisées. Même si la programmation objet ne vous est pas familière, il est peu probable que cela vous soit un obstacle à...
Programmation Dans l'API Yoctopuce, la priorité a été mise sur la facilité d'accès aux fonctionnalités des modules en offrant la possibilité de faire abstraction des modules qui les implémentent. Ainsi, il est parfaitement possible de travailler avec un ensemble de fonctionnalités sans jamais savoir exactement quel module les héberge au niveau matériel.
Texte modifiable command 5.3. Interface de contrôle du module Cette interface est la même pour tous les modules USB de Yoctopuce. Elle permet de contrôler les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module. www.yoctopuce.com...
Page 24
Chaine de caractères contenant le numéro de série, unique et préprogrammé en usine. Pour un module Yocto-Color, ce numéro de série commence toujours par YRGBLED1. Il peut servir comme point de départ pour accéder par programmation à un module particulier.
5. Programmation, concepts généraux 5.4. Interface de la fonction ColorLed La librairie de programmation Yoctopuce permet de piloter une LED couleur aussi bien en coordonnées RGB qu'en coordonnées HSL, les conversions RGB vers HSL étant faites automatiquement par le module. Ceci permet aisément d'allumer la LED avec une certaine teinte et d'en faire progressivement varier la saturation ou la luminosité.
L'hexadécimal consiste à compter en base 16 au lieu de base 10: on utilise les signes 0..9, A..F. On utilise parfois le préfixe 0x pour signaler l'utilisation de l'hexadécimal: ainsi 10 en base 10 s'écrit 0xA en hexadécimal, 15 d'écrit 0xF, 16 s'écrit 0x10, 17 s'écrit 0x11 et ainsi de suite www.yoctopuce.com...
5.6. Quelle interface: Native, DLL ou Service? Il y existe plusieurs méthodes pour contrôler un module USB Yoctopuce depuis un programme. Contrôle natif Dans ce cas de figure le programme pilotant votre projet est directement compilé avec une librairie qui offre le contrôle des modules.
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'à...
Arrivé à ce point du manuel, vous devriez connaître l'essentiel de la théorie à propos de votre Yocto- Color. Il est temps de passer à la pratique. Il vous faut télécharger la librairie Yoctopuce pour votre language de programmation favori depuis le site web de Yoctopuce .
Page 30
5. Programmation, concepts généraux Une fois que vous maîtriserez la programmation de base de votre module, vous pourrez vous intéresser au chapitre concernant la programmation avancée qui décrit certaines techniques qui vous permettront d'exploiter au mieux votre Yocto-Color. www.yoctopuce.com...
à 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-Color, ouvrir un shell et commencer à travailler en tapant par exemple: C:\>YColorLed...
C:\>executable commande /help Pour obtenir une description détaillée des paramètres d'une commande. 6.3. Contrôle de la fonction ColorLed Pour contrôler la fonction ColorLed de votre Yocto-Color, vous avez besoin de l'exécutable YColorLed. Vous pouvez par exemple lancer: C:\>YColorLed set_rgbColor #0000FF Cet exemple utilise la cible "any"...
6. Utilisation du Yocto-Color 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 34
6. Utilisation du Yocto-Color en ligne de commande Vous obtenez un inventaire des modules connectés par USB, en utilisant un accès natif. Si il y a déjà une autre commande en cours qui accède aux modules en natif, cela ne fonctionnera pas. Mais si vous lancez un virtual hub et que vous lancez votre commande sous la forme: C:\>YModule -r 127.0.0.1 inventory...
JavaScript / EcmaScript 2017, afin de la différentier de la précédente Librairie pour JavaScript qu'elle remplace. Cette librairie permet d'accéder aux modules Yoctopuce depuis tous les environnements JavaScript modernes. Elle fonctionne aussi bien depuis un navigateur internet que dans un environnement Node.js.
7. Utilisation du Yocto-Color en JavaScript / EcmaScript 7.1. Fonctions bloquantes et fonctions asynchrones en JavaScript JavaScript a été conçu pour éviter toute situation de concurrence durant l'exécution. Il n'y a jamais qu'un seul thread en JavaScript. Cela signifie que si un programme effectue une attente active durant une communication réseau, par exemple pour lire un capteur, le programme entier se trouve...
JavaScript fait partie de ces langages qui ne vous permettront pas d'accéder directement aux couches matérielles de votre ordinateur. C'est pourquoi si vous désirez travailler avec des modules USB branchés par USB, vous devrez faire tourner la passerelle de Yoctopuce appelée VirtualHub sur la machine à laquelle sont branchés les modules.
7. Utilisation du Yocto-Color en JavaScript / EcmaScript npm instal -g babel-cli npm instal babel-preset-env Normalement vous demanderez à Babel de poser les fichiers transpilés dans un autre répertoire, nommé par exemple. Pour ce faire, utilisez par exemple les commandes suivantes: comopat babel --presets env demo.js --out-dir compat/...
Ce dernier appel asynchrone peut aussi être formulé comme: myModule.get_syncProxy().then(logInfoProxy); 7.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code JavaScript qui utilise la fonction ColorLed. import {...
à en faire un petit programme d'exemple concret. Si le Yocto-Color 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-Color 127.0.0.1...
Le même exemple, mais dans un navigateur Si vous voulez voir comment utiliser la librairie dans un navigateur, changez de répertoire et allez dans example_html/Doc-GettingStarted-Yocto-Color. Vous y trouverez aussi dans le sous- répertoire src un code très similaire (ci-dessous), avec quelques variantes par rapport au précédent, pour permettre une interaction à...
Page 42
7. Utilisation du Yocto-Color en JavaScript / EcmaScript refresh(); async function refresh() serial = document.getElementById('serial').value; if(serial == '') { // by default use any connected module suitable for the demo anyLed = YColorLed.FirstColorLed(); if(anyLed) { module = await anyLed.module(); serial = await module.get_serialNumber();...
7. Utilisation du Yocto-Color en JavaScript / EcmaScript Il ne vous reste plus qu'à publier ce répertoire sur un serveur Web pour pouvoir tester l'exemple à travers un navigateur. Pour que le loader retrouve ses fichiers, vous devrez simplement indiquer dans le paramètre baseURL du fichier jspm.browser.js le chemin qui permet d'atteindre le projet,...
Page 44
7. Utilisation du Yocto-Color en JavaScript / EcmaScript if(process.argv.length < 3) { console.log("usage: jspm run src/demo.js <serial or logicalname> [ ON | OFF ]"); } else { startDemo(process.argv.slice(process.argv.length - 3)); 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 46
7. Utilisation du Yocto-Color en JavaScript / EcmaScript Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: • Si votre code attrape l'exception au vol et la gère, et tout se passe bien.
Vous n'avez pas besoin d'installer de driver. 8.2. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code PHP qui utilise la fonction ColorLed. include('yocto_api.php');...
Page 48
LED RGB, comme le Yocto-Color. yRegisterHub La fonction permet d'indiquer sur quelle machine se trouve les modules yRegisterHub Yoctopuce, ou plus exactemenent sur quelle machine tourne le programme VirtualHub. Dans notre cas l'adresse indique la machine locale, en utilisant le port (le port 127.0.0.1:4444 4444 standard utilisé...
8. Utilisation du Yocto-Color en PHP Un exemple réel Ouvrez votre éditeur de texte préféré , recopiez le code ci dessous, sauvez-le dans un répertoire accessible par votre serveur web/PHP avec les fichiers de la librairie, et ouvrez-la page avec votre browser favori.
8. Utilisation du Yocto-Color en PHP 8.3. Contrôle de la partie module Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la balise de localisation.
Page 51
8. Utilisation du Yocto-Color en PHP 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 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 53
8. Utilisation du Yocto-Color en PHP seule adresse IP officielle, attribuée au routeur DSL exclusivement. Les différents appareils réseau ne sont pas directement atteignables depuis l'extérieur. C'est assez contraignant, mais c'est une protection relativement efficace contre les intrusions. Les réponses aux requêtes venant des machines du LAN sont routées.
Page 54
8. Utilisation du Yocto-Color en PHP Configuration L'API callback se sert donc du Virtual Hub comme passerelle. Toutes les communications sont initiées par le Virtual Hub, ce sont donc des communication sortantes, et par conséquent parfaitement autorisée par le routeur DSL.
VirtualHub pour fonctionner. Pour coder un site Web qui contrôle des modules Yoctopuce de manière interactive, il faudra créer une interface utilisateur qui stockera dans un fichier ou une base de données les actions à effectuer sur les modules Yoctopuce. Ces actions seront ensuite lues puis exécutés par le script de contrôle.
Page 56
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
à la création d'un projet à neuf linké avec les librairies Yoctopuce. 9.1. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code C++ qui utilise la fonction ColorLed. #include "yocto_api.h"...
Page 58
Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-Color avec le numéros de série YRGBLED1-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé...
Page 59
9. Utilisation du Yocto-Color en C++ Un exemple réel Lancez votre environnement C++ et ouvrez le projet exemple correspondant, fourni dans le répertoire Examples/Doc-GettingStarted-Yocto-Color de la librairie Yoctopuce. Si vous préférez travailler avec votre éditeur de texte préféré, ouvrez le fichier , vous taperez simplement main.cpp...
9. Utilisation du Yocto-Color en C++ led1->set_rgbColor(color); // immediate switch led2->rgbMove(color, 1000); // smooth transition } else { cout << "Module not connected (check identification and USB cable)" << endl; yFreeAPI(); return 9.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 61
9. Utilisation du Yocto-Color en C++ Chaque propriété du module peut être lue grâce à une méthode du type , et les get_xxxx() propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode set_xxx Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API...
La méthode recommandée par la plupart des langages de programmation pour la gestion des erreurs imprévisibles est l'utilisation d'exceptions. C'est le comportement par défaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accéder à un module, la librairie va lancer une exception. Dans ce cas, de trois choses l'une: •...
ASCII, etc.); • Elle facilite le déboggage si vous cherchez la cause d'un problème lié à la librairie Yoctopuce • Elle réduit les dépendances sur des composants tiers, par exemple pour parer au cas où vous pourriez être mené...
(...) -Wl,-Bstatic -lyocto-static -Wl,-Bdynamic -lm -lpthread -lusb-1.0 -lstdc++ Intégration en librairie dynamique L'intégration de la librairie Yoctopuce sous forme de librairie dynamique permet de produire un exécutable plus petit que les deux méthodes précédentes, et de mettre éventuellement à jour cette librairie si un correctif s'avérait nécessaire sans devoir recompiler le code source de l'application.
Snow Leopard il vous faudra être enregistré comme développeur auprès d'Apple pour pourvoir télécharger XCode 4.2. La librairie Yoctopuce est compatible ARC. Il vous sera donc possible de coder vos projet soit en utilisant la traditionnelle méthode de retain / release, soit en activant l'Automatic Reference Counting.
Page 66
Yoctopuce. doit toujours être utilisé, est nécessaire pour yocto_api.h yocto_colorled.h gérer les modules contenant une LED RGB, comme le Yocto-Color. [YAPI RegisterHub] La fonction initialise l'API de Yoctopuce en indiquant où les modules [YAPI RegisterHub] doivent être recherchés. Utilisée avec le paramètre , elle permet de travailler avec les @"usb"...
10. Utilisation du Yocto-Color en Objective-C [ColorLed FindColorLed] La fonction , permet de retrouver une LED RGB en fonction du [ColorLed FindColorLed] numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés.
Page 68
10. Utilisation du Yocto-Color en Objective-C if(argc < usage(argv[0]); NSString *serial_or_name = [NSString stringWithUTF8String:argv[1]]; // use serial or logical name YModule *module = [YModule FindModule:serial_or_name]; ([module isOnline]) { (argc > 2) { (strcmp(argv[2], "ON") [module setBeacon:Y_BEACON_ON]; else [module setBeacon:Y_BEACON_OFF]; NSLog(@"serial: %@\n", [module serialNumber]);...
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 70
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: •...
11.2. Utilisation l'API yoctopuce dans un projet Visual Basic La librairie Yoctopuce pour Visual Basic .NET se présente sous la forme d'une DLL et de fichiers sources en Visual Basic. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
11.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code VisualBasic .NET qui utilise la fonction ColorLed. [...]...
11. Utilisation du Yocto-Color en VisualBasic .NET isOnline La méthode de l'objet renvoyé par permet de savoir si le module isOnline() yFindColorLed correspondant est présent et en état de marche. set_rgbColor La méthode de l'objet renvoyé par permet de régler la...
11. Utilisation du Yocto-Color en VisualBasic .NET Console.WriteLine("RegisterHub error: " errmsg) End If target = "any" Then led1 = yFirstColorLed() led1 Nothing Then Console.WriteLine("No module connected (check USB cable) ") End If led2 = led1.nextColorLed() Else led1 = yFindColorLed(target + ".colorLed1")
Page 75
11. Utilisation du Yocto-Color 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 yFreeAPI() 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 77
11. Utilisation du Yocto-Color 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.
12.2. Utilisation l'API yoctopuce dans un projet Visual C# La librairie Yoctopuce pour Visual C# .NET se présente sous la forme d'une DLL et de fichiers sources en Visual C#. La DLL n'est pas une DLL .NET mais une DLL classique, écrite en C, qui gère les communications à...
Il va de soit que que les fonctionnement des librairies est strictement identiques si vous les intégrez dans une application dotée d'une interface graphique. 12.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code C# qui utilise la fonction ColorLed. [...] string errmsg = "";...
Page 81
12. Utilisation du Yocto-Color en C# isOnline La méthode de l'objet renvoyé par permet de savoir YColorLed.isOnline() FindColorLed si le module correspondant est présent et en état de marche. set_rgbColor La méthode de l'objet renvoyé par permet de set_rgbColor() YColorLed.FindColorLed régler la couleur de la led correspondante.
Page 84
12. Utilisation du Yocto-Color en C# m = YModule.FindModule(args[0]); // use serial or logical name if (m.isOnline()) { newname = args[1]; if (!YAPI.CheckLogicalName(newname)) { Console.WriteLine("Invalid name (" + newname + ")"); Environment.Exit(0); m.set_logicalName(newname); m.saveToFlash(); // do not forget this Console.Write("Module: serial= "...
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: •...
Delphi Par défaut la librairie Yoctopuce pour Delphi utilise une DLL yapi.dll, toutes les applications que vous créerez avec Delphi devront avoir accès à cette DLL. Le plus simple est de faire en sorte qu'elle soit présente dans le même répertoire que l'exécutable de votre application.
Page 88
13. Utilisation du Yocto-Color en Delphi SysUtils, yocto_api, yocto_colorled; Procedure Usage(); exe : string; begin exe:= ExtractFileName(paramstr(0)); WriteLn(exe+' <serial_number>'); WriteLn(exe+' <logical_name>'); WriteLn(exe+' any'); halt; End; procedure setcolor(led1,led2:TYColorLed; color:integer); begin if (led1.isOnline()) then begin led1.set_rgbColor(color); // immediate switch led2.rgbMove(color,1000); // smooth transition...
Page 89
Il n'y a que peu de lignes véritablement importantes dans le code précédent. Nous allons les expliquer en détail. yocto_api et yocto_colorled 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...
13. Utilisation du Yocto-Color en Delphi 13.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 91
13. Utilisation du Yocto-Color en Delphi 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: •...
Page 93
13. Utilisation du Yocto-Color en Delphi ne sera pas un pointeur nul qui risquerait de faire crasher votre programme. Au pire, si vous affichez la valeur sans la tester, elle sera hors du cadre attendu pour la valeur retournée. Dans le cas de fonctions qui ne retournent à...
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.
14. Utilisation du Yocto-Color en Python 14.3. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Python qui utilise la fonction ColorLed. [...] errmsg=YRefParam() #On récupère l'objet représentant le module (ici connecté en local sur USB) YAPI.RegisterHub("usb",errmsg)
14. Utilisation du Yocto-Color en Python Les méthodes existent aussi en version HSL. En guise set_rgbColor() rgbMove() d'exercice, vous pourriez modifier l'exemple ci'dessous pour utiliser le système HSL. Vous pourriez ainsi observer les différences de comportement. En HSL pour le rouge est codé 0xFFFF80, le vert est codé...
14. Utilisation du Yocto-Color en Python input raw_input # python 2.x fix except: pass input("command:") while c != 'x': c == 'r': setcolor(led1, led2, 0xFF0000) elif c == 'g': setcolor(led1, led2, 0x00FF00) elif c == 'b': setcolor(led1, led2, 0x0000FF) input("command:") YAPI.FreeAPI()
Page 99
14. Utilisation du Yocto-Color en Python 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 YModule.set_xxx() vive du 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...
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: •...
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. 15.2. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Java qui utilise la fonction ColorLed. [...] // On récupère l'objet représentant le module (ici connecté...
Page 102
Voyons maintenant en détail ce que font ces quelques lignes. YAPI.RegisterHub La fonction initialise l'API de Yoctopuce en indiquant où les modules doivent YAPI.RegisterHub être recherchés. Le paramètre est l'adresse du virtual hub capable de voir les modules. Si l'initialisation se passe mal, une exception sera générée.
15. Utilisation du Yocto-Color en Java public static void main(String[] args) try { // setup the API to use local VirtualHub YAPI.RegisterHub("127.0.0.1"); } catch (YAPI_Exception ex) { System.out.println("Cannot contact VirtualHub on 127.0.0.1 (" ex.getLocalizedMessage() + ")"); System.out.println("Ensure that the VirtualHub application is running");...
Page 104
15. Utilisation du Yocto-Color en Java } 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); } else { module.setBeacon(YModule.BEACON_OFF); System.out.println("serial: " + module.get_serialNumber()); System.out.println("logical name: " + module.get_logicalName());...
Page 105
15. Utilisation du Yocto-Color en Java 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= " + m.get_serialNumber()); System.out.println(" / name= " + m.get_logicalName()); } catch...
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...
16. Utilisation du Yocto-Color 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é...
16. Utilisation du Yocto-Color avec Android 16.5. Contrôle de la fonction ColorLed Il suffit de quelques lignes de code pour piloter un Yocto-Color. Voici le squelette d'un fragment de code Java qui utilise la fonction ColorLed. [...] // On récupère l'objet représentant le module (ici connecté en local sur USB) YAPI.EnableUSBHost(this);...
Page 111
16. Utilisation du Yocto-Color avec Android rgbMove Il existe une méthode alternative pour changer de couleur. La méthode de l'objet rgbMove() renvoyé par permet de lancer une transition entre la couleur YColorLed.FindColorLed courante et une autre couleur RGB donnée en paramètre. Cette fonction prend aussi en paramètre le temps accordé...
16. Utilisation du Yocto-Color avec Android @Override protected void onStop() super.onStop(); YAPI.FreeAPI(); @Override public void onItemSelected(AdapterView<?> parent, View view, pos, long String hwid = parent.getItemAtPosition(pos).toString(); color = YColorLed.FindColorLed(hwid); @Override public void onNothingSelected(AdapterView<?> arg0) /** Called when the user touches the button State A */...
Page 113
16. Utilisation du Yocto-Color avec Android import com.yoctopuce.YoctoAPI.YModule; public class ModuleControl extends Activity implements OnItemSelectedListener private ArrayAdapter<String> aa; private YModule module = null; @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.modulecontrol); Spinner my_spin = (Spinner) findViewById(R.id.spinner1); my_spin.setOnItemSelectedListener(this); aa = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);...
Page 114
16. Utilisation du Yocto-Color avec Android String hwid = parent.getItemAtPosition(pos).toString(); module = YModule.FindModule(hwid); DisplayModuleInfo(); @Override public void onNothingSelected(AdapterView<?> arg0) public void refreshInfo(View view) DisplayModuleInfo(); public void toggleBeacon(View view) (module == null) return; boolean on = ((Switch) view).isChecked(); try { if (on) { module.setBeacon(YModule.BEACON_ON);...
Page 115
16. Utilisation du Yocto-Color avec Android public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.savesettings); Spinner my_spin = (Spinner) findViewById(R.id.spinner1); my_spin.setOnItemSelectedListener(this); aa = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); my_spin.setAdapter(aa); @Override protected void onStart() super.onStart(); try { aa.clear(); YAPI.EnableUSBHost(this); YAPI.RegisterHub("usb"); YModule r = YModule.FirstModule(); while (r !=...
Page 116
16. Utilisation du Yocto-Color avec Android return; module.set_logicalName(newname); module.saveToFlash(); // do not forget this edit.setText(""); } catch (YAPI_Exception ex) { ex.printStackTrace(); DisplayModuleInfo(); 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 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.
Pour pouvoir être prévenu dès qu'un module arrive, vous avez besoin de trois morceaux de code. Le callback Le callback est la fonction qui sera appelée à chaque fois qu'un nouveau module Yoctopuce sera branché. Elle prend en paramètre le module concerné. static void deviceArrival(YModule www.yoctopuce.com...
Page 120
à 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. 18.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 .
"YoctoHub-Wireless") { m.set_allSettings(default_config); m = 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é en argument ( ) est compatible avec le module.
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 = YFirmwareUpdate(allBootLoader[0], newfirm, null); status = fw_update.startUpdate(); ..www.yoctopuce.com...
Il se trouve que le Virtual Hub est en fait un petit serveur Web qui est capable de router des requêtes HTTP vers les modules Yoctopuce. Ce qui signifie que si vous pouvez faire une requête HTTP depuis votre langage de programmation, vous pouvez contrôler des modules Yoctopuce, même si ce langage n'est pas officiellement supporté.
Contrôle d'un module par l'interface REST Chaque module Yoctopuce a sa propre interface REST disponible sous différentes formes. Imaginons un Yocto-Color avec le numéro de de série YRGBLED1-12345 et le nom logique monModule. l'URL suivante permettra de connaître l'état du module.
19.3. 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 128
(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; end. www.yoctopuce.com...
19. Utilisation avec des langages non supportés 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.
20. 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-Color. 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...
20. Référence de l'API de haut niveau 20.1. Fonctions générales Ces quelques fonctions générales permettent l'initialisation et la configuration de la librairie Yoctopuce. Dans la plupart des cas, un appel à suffira en tout et pour tout. Ensuite, vous yRegisterHub() pourrez appeler la fonction globale correspondant à...
Page 133
Test si un hub est joignable. yTriggerHubDiscovery(errmsg) Relance une détection des hubs réseau. yUnregisterHub(url) Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. yUpdateDeviceList(errmsg) Force une mise-à-jour de la liste des modules Yoctopuce connectés.
. Lorsqu'on configure un nom logique avec une chaîne incorrecte, les caractères invalides sont ignorés. Paramètres : name une chaîne de caractères contenant le nom vérifier. Retourne : true false si le nom est valide, dans le cas contraire. www.yoctopuce.com...
Page 135
) procedure yDisableExceptions( ) void DisableExceptions( ) def DisableExceptions( ) function yDisableExceptions( ) function 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 136
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 137
(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 138
20. Référence de l'API de haut niveau YAPI.FreeAPI() YAPI yFreeAPI() Libère la mémoire dynamique utilisée par la librairie Yoctopuce. function yFreeAPI( ) function FreeAPI( ) nodejs void yFreeAPI( ) +(void) FreeAPI procedure yFreeAPI( ) procedure yFreeAPI( ) void FreeAPI( )
Page 139
20. Référence de l'API de haut niveau YAPI.GetAPIVersion() YAPI yGetAPIVersion() Retourne la version de la librairie Yoctopuce utilisée. function yGetAPIVersion( ) function GetAPIVersion( ) nodejs string yGetAPIVersion( ) +(NSString*) GetAPIVersion function yGetAPIVersion( ): string function yGetAPIVersion( ) As String String GetAPIVersion( )
Page 140
GetTickCount( ) function yGetTickCount( ) function 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 141
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 142
20. Référence de l'API de haut niveau YAPI.InitAPI() YAPI yInitAPI() Initialise la librairie de programmation de Yoctopuce explicitement. function yInitAPI( mode, errmsg) function InitAPI( mode, errmsg) nodejs YRETCODE yInitAPI( int mode, string& errmsg) +(YRETCODE) InitAPI :(int) mode :(NSError**) errmsg function yInitAPI( mode: integer, var errmsg: string): integer...
Page 143
"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 144
RegisterDeviceArrivalCallback( DeviceUpdateHandler arrivalCallback) def RegisterDeviceArrivalCallback( arrivalCallback) function yRegisterDeviceArrivalCallback( $arrivalCallback) function RegisterDeviceArrivalCallback( arrivalCallback) Le callback sera appelé pendant l'éxecution de la fonction yUpdateDeviceList , que vous devrez appeler régulièrement. Paramètres : arrivalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
Page 145
RegisterDeviceRemovalCallback( DeviceUpdateHandler removalCallback) def RegisterDeviceRemovalCallback( removalCallback) function yRegisterDeviceRemovalCallback( $removalCallback) function RegisterDeviceRemovalCallback( removalCallback) Le callback sera appelé pendant l'éxecution de la fonction yUpdateDeviceList , que vous devrez appeler régulièrement. Paramètres : removalCallback une procédure qui prend un YModule en paramètre, ou null www.yoctopuce.com...
Page 146
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 147
20. Référence de l'API de haut niveau Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 148
à la fonction . Le callback sera appelé pendant l’exécution yRegisterHub de la fonction , que vous devrez appeler régulièrement. yUpdateDeviceList Paramètres : hubDiscoveryCallback null une procédure qui prend deux chaîne de caractères en paramètre, ou www.yoctopuce.com...
Page 149
As yLogFunc) void RegisterLogFunction( yLogFunc logfun) void RegisterLogFunction( LogCallback logfun) java void RegisterLogFunction( LogHandler logfun) def 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 150
à la librairie pour forcer l'utilisation d'une architecture spécifiée. Paramètres : arch une chaîne de caractère spécifiant l'architecture à utiliser. Les valeurs possibles sont "armhf" "armel" "i386" "x86_64" "32bit" "64bit" Retourne : rien. En cas d'erreur, déclenche une exception. www.yoctopuce.com...
Page 151
(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 152
à la durée de l'attente, en millisecondes args des arguments supplémentaires peuvent ê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 153
ê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 154
à lire périodiquement les informations en provenance des modules Yoctopuce en appelant la fonction afin de se maintenir à jour. yHandleEvents() 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 155
é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 156
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 157
20. Référence de l'API de haut niveau YAPI.UnregisterHub() YAPI yUnregisterHub() Configure la librairie Yoctopuce pour ne plus utiliser les modules connectés sur une machine préalablement enregistrer avec RegisterHub. function yUnregisterHub( url) function UnregisterHub( url) nodejs void yUnregisterHub( const string& url)
Page 158
20. Référence de l'API de haut niveau YAPI.UpdateDeviceList() YAPI yUpdateDeviceList() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList( errmsg) function UpdateDeviceList( errmsg) nodejs YRETCODE yUpdateDeviceList( string& errmsg) +(YRETCODE) UpdateDeviceList :(NSError**) errmsg function yUpdateDeviceList( var errmsg: string): integer...
Page 159
20. Référence de l'API de haut niveau YAPI.UpdateDeviceList_async() YAPI yUpdateDeviceList_async() Force une mise-à-jour de la liste des modules Yoctopuce connectés. function yUpdateDeviceList_async( callback, context) function UpdateDeviceList_async( callback, context) nodejs 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é...
20. Référence de l'API de haut niveau 20.2. Interface de contrôle du module Cette interface est la même pour tous les modules USB de Yoctopuce. Elle permet de contrôler les paramètres généraux du module, et d'énumérer les fonctions fournies par chaque module.
Page 161
Retourne la liste des modules branchés au module courant. module→get_upTime() Retourne le numbre de millisecondes écoulées depuis la mise sous tension du module module→get_url() Retourne l'URL utilisée pour accéder au module. module→get_usbCurrent() Retourne le courant consommé par le module sur le bus USB, en milliampères. www.yoctopuce.com...
Page 162
Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard à l'aide de la méthode get_userData module→set_userVar(newval) Stocke une valeur 32 bits dans la mémoire volatile du module. module→triggerFirmwareUpdate(secBeforeReboot) Agende un redémarrage du module en mode spécial de reprogrammation du logiciel embarqué. module→updateFirmware(path) Prepare une mise à jour de firmware du module. www.yoctopuce.com...
Page 163
20. Référence de l'API de haut niveau 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 164
Retourne : un objet de classe YModule qui permet ensuite de contrôler le module ou d'obtenir de plus amples informations sur le module. www.yoctopuce.com...
Page 165
Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence le module sans ambiguïté Retourne : un objet de classe YModule qui permet ensuite de contrôler le module. www.yoctopuce.com...
Page 166
) function FirstModule( ) Utiliser la fonction YModule.nextModule() pour itérer sur les autres modules. Retourne : YModule null un pointeur sur un objet , correspondant au premier module accessible en ligne, ou aucun module n'a été trouvé. www.yoctopuce.com...
Page 167
Retourne : .byn le path du fichier à 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 168
) java def clearCache( ) function clearCache( ) function 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 169
) String describe( ) java def describe( ) function describe( ) function 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 170
Task<byte[]> download( string pathname) def download( pathname) function download( $pathname) function download( pathname) YModule target download pathname Paramètres : pathname nom complet du fichier Retourne : le contenu du fichier chargé En cas d'erreur, déclenche une exception ou retourne YAPI_INVALID_STRING www.yoctopuce.com...
Page 171
à 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 172
) As Integer int functionCount( ) int functionCount( ) java def functionCount( ) function functionCount( ) function 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 173
à 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 174
à 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 175
à 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 176
à 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 177
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 178
Task<int> get_beacon( ) def get_beacon( ) function get_beacon( ) function get_beacon( ) YModule target get_beacon Retourne : Y_BEACON_OFF Y_BEACON_ON soit , soit , selon l'état de la balise de localisation En cas d'erreur, déclenche une exception ou retourne Y_BEACON_INVALID www.yoctopuce.com...
Page 179
) function get_errorMessage( ) function 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 180
) function get_errorType( ) function 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 181
Task<string> get_firmwareRelease( ) def get_firmwareRelease( ) function get_firmwareRelease( ) function get_firmwareRelease( ) YModule target get_firmwareRelease Retourne : une chaîne de caractères représentant la version du logiciel embarqué du module En cas d'erreur, déclenche une exception ou retourne Y_FIRMWARERELEASE_INVALID www.yoctopuce.com...
Page 182
ArrayList<String> get_functionIds( String funType) java async Task<List<string>> get_functionIds( string funType) def get_functionIds( funType) function get_functionIds( $funType) function get_functionIds( 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 183
) String get_hardwareId( ) java def get_hardwareId( ) function get_hardwareId( ) function 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 184
) function 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 185
) 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 YAPI_INVALID_STRING ou retourne www.yoctopuce.com...
Page 186
String get_logicalName( ) java async Task<string> get_logicalName( ) def get_logicalName( ) function get_logicalName( ) function get_logicalName( ) YModule target get_logicalName Retourne : une chaîne de caractères représentant le nom logique du module En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
Page 187
Task<int> get_luminosity( ) def get_luminosity( ) function get_luminosity( ) function get_luminosity( ) YModule target get_luminosity Retourne : un entier représentant la luminosité des leds informatives du module (valeur entre 0 et 100) En cas d'erreur, déclenche une exception ou retourne Y_LUMINOSITY_INVALID www.yoctopuce.com...
Page 188
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 189
Task<int> get_persistentSettings( ) def get_persistentSettings( ) function get_persistentSettings( ) function get_persistentSettings( ) YModule target get_persistentSettings Retourne : Y_PERSISTENTSETTINGS_LOADED Y_PERSISTENTSETTINGS_SAVED une valeur parmi Y_PERSISTENTSETTINGS_MODIFIED représentant l'état courant des réglages persistents du module En cas d'erreur, déclenche une exception ou retourne Y_PERSISTENTSETTINGS_INVALID www.yoctopuce.com...
Page 190
) java async Task<int> get_productId( ) def get_productId( ) function get_productId( ) function get_productId( ) YModule target get_productId Retourne : un entier représentant l'identifiant USB du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTID_INVALID www.yoctopuce.com...
Page 191
Task<string> get_productName( ) def get_productName( ) function get_productName( ) function get_productName( ) YModule target get_productName Retourne : une chaîne de caractères représentant le nom commercial du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTNAME_INVALID www.yoctopuce.com...
Page 192
Task<int> get_productRelease( ) def get_productRelease( ) function get_productRelease( ) function get_productRelease( ) YModule target get_productRelease Retourne : un entier représentant le numéro de version matériel du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_PRODUCTRELEASE_INVALID www.yoctopuce.com...
Page 193
) function get_rebootCountdown( ) YModule target get_rebootCountdown Retourne : un entier représentant le nombre de secondes restantes avant un redémarrage du module, ou zéro si aucun redémarrage n'a été agendé En cas d'erreur, déclenche une exception ou retourne Y_REBOOTCOUNTDOWN_INVALID www.yoctopuce.com...
Page 194
Task<string> get_serialNumber( ) def get_serialNumber( ) function get_serialNumber( ) function get_serialNumber( ) YModule target get_serialNumber Retourne : une chaîne de caractères représentant le numéro de série du module, préprogrammé en usine En cas d'erreur, déclenche une exception ou retourne Y_SERIALNUMBER_INVALID www.yoctopuce.com...
Page 195
Cette fonction n'est pertinente que lorsqu'elle appelée pour un YoctoHub ou pour le VirtualHub. Dans le cas contraire, un tableau vide est retourné. Retourne : un tableau de chaînes de caractères contenant les numéros de série des sous-modules connectés au module www.yoctopuce.com...
Task<long> get_upTime( ) def get_upTime( ) function get_upTime( ) function get_upTime( ) YModule target get_upTime Retourne : un entier représentant le numbre de millisecondes écoulées depuis la mise sous tension du module En cas d'erreur, déclenche une exception ou retourne Y_UPTIME_INVALID www.yoctopuce.com...
Page 197
) String get_url( ) java def get_url( ) function 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 198
Task<int> get_usbCurrent( ) def get_usbCurrent( ) function get_usbCurrent( ) function get_usbCurrent( ) YModule target get_usbCurrent Retourne : un entier représentant le courant consommé par le module sur le bus USB, en milliampères En cas d'erreur, déclenche une exception ou retourne Y_USBCURRENT_INVALID www.yoctopuce.com...
Page 199
Object get_userData( ) java def get_userData( ) function get_userData( ) function 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 200
) YModule target get_userVar Au démarrage du module (ou après un redémarrage), la valeur est toujours zéro. Retourne : un entier représentant la valeur entière précédemment stockée dans cet attribut En cas d'erreur, déclenche une exception ou retourne Y_USERVAR_INVALID www.yoctopuce.com...
Page 201
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 202
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 si le module est joignable, false sinon www.yoctopuce.com...
Page 203
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 204
Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 205
YAPI_SUCCESS d'erreur (ou context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 206
ê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 207
) As YModule YModule nextModule( ) YModule nextModule( ) java YModule nextModule( ) def nextModule( ) function nextModule( ) function nextModule( ) Retourne : un pointeur sur un objet YModule accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
Page 208
$secBeforeReboot) function reboot( secBeforeReboot) YModule target reboot secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 209
LogCallback callback) void registerLogCallback( LogCallback callback) java def 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 210
) java async Task<int> revertFromFlash( ) def revertFromFlash( ) function revertFromFlash( ) function 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 211
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 212
être préservés. Paramètres : settings un objet binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 213
être préservés. Paramètres : settings un buffer binaire avec touts les paramètres Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 214
$newval) function set_beacon( newval) YModule target set_beacon newval Paramètres : newval Y_BEACON_OFF Y_BEACON_ON soit , soit Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 215
ê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 216
être préservé. Paramètres : newval un entier représentant la luminosité des leds informatives du module Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 217
Object data) java def set_userData( data) function set_userData( $data) function 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 218
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 219
$secBeforeReboot) function triggerFirmwareUpdate( secBeforeReboot) YModule target triggerFirmwareUpdate secBeforeReboot Paramètres : secBeforeReboot nombre de secondes avant de redémarrer Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 220
Cette méthode retourne un object qui est utilisé pour mettre à jour le firmware du YFirmwareUpdate module. Paramètres : path .byn le path du fichier à utiliser Retourne : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
Page 221
à 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 : un object YFirmwareUpdate ou NULL en cas d'erreur www.yoctopuce.com...
Page 222
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
20. Référence de l'API de haut niveau 20.3. Interface de la fonction ColorLed La librairie de programmation Yoctopuce permet de piloter une LED couleur aussi bien en coordonnées RGB qu'en coordonnées HSL, les conversions RGB vers HSL étant faites automatiquement par le module.
Page 224
Retourne la couleur HSL courante de la LED. colorled→get_logicalName() Retourne le nom logique de la LED RGB. colorled→get_module() Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction. colorled→get_module_async(callback, context) Retourne l'objet YModule correspondant au module Yoctopuce qui héberge la fonction. colorled→get_rgbColor() Retourne la couleur RGB courante de la LED.
Page 225
Arrête l'exécution de la séquence préprogrammée de clignotement. colorled→unmuteValueCallbacks() Réactive l'envoi de chaque changement de la valeur publiée au hub parent. colorled→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 226
La recherche se fait d'abord par nom matériel, puis par nom logique. Paramètres : func une chaîne de caractères qui référence la LED RGB sans ambiguïté Retourne : un objet de classe YColorLed qui permet ensuite de contrôler la LED RGB. www.yoctopuce.com...
Page 227
Paramètres : yctx un contexte YAPI func une chaîne de caractères qui référence la LED RGB sans ambiguïté Retourne : un objet de classe YColorLed qui permet ensuite de contrôler la LED RGB. www.yoctopuce.com...
Page 228
Utiliser la fonction YColorLed.nextColorLed() pour itérer sur les autres LEDs RGB. Retourne : YColorLed un pointeur sur un objet , correspondant à la première LED RGB accessible en ligne, ou null si il n'y a pas de LEDs RGB disponibles. www.yoctopuce.com...
Page 229
LEDs RGB. Paramètres : yctx un contexte YAPI. Retourne : YColorLed un pointeur sur un objet , correspondant à la première LED RGB accessible en ligne, ou null si il n'y a pas de LEDs RGB disponibles. www.yoctopuce.com...
Page 230
Paramètres : HSLcolor couleur HSL désirée à la fin de la transition msDelay durée en millisecondes de la transition. 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 231
Paramètres : RGBcolor couleur RGB désirée à la fin de la transition msDelay durée en millisecondes de la transition. 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 232
) java def clearCache( ) function clearCache( ) function clearCache( ) Invalide le cache des valeurs courantes de la LED RGB. Force le prochain appel à une méthode get_xxx() ou loadxxx() pour charger les les données depuis le module. www.yoctopuce.com...
Page 233
î n e c a r a c t è r e s d é c r i v a n t L E D R G B ( e x : Relay(MyCustomName.relay1)=RELAYLO1-123456.relay1 www.yoctopuce.com...
Page 234
) function get_advertisedValue( ) function get_advertisedValue( ) YColorLed target get_advertisedValue Retourne : une chaîne de caractères représentant la valeur courante de la LED RGB (pas plus de 6 caractères). En cas d'erreur, déclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID www.yoctopuce.com...
Page 235
Task<int> get_blinkSeqMaxSize( ) def get_blinkSeqMaxSize( ) function get_blinkSeqMaxSize( ) function get_blinkSeqMaxSize( ) YColorLed target get_blinkSeqMaxSize Retourne : un entier représentant la longueur maximum de la sequence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQMAXSIZE_INVALID www.yoctopuce.com...
Page 236
Les séquences de clignotement ne pouvant pas être relues du module, ce mécanisme peut être utilisé pour détecter si une séquence spécifique est déja programmée. Retourne : un entier représentant la signature de la signature de la séquence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQSIGNATURE_INVALID www.yoctopuce.com...
Page 237
Task<int> get_blinkSeqSize( ) def get_blinkSeqSize( ) function get_blinkSeqSize( ) function get_blinkSeqSize( ) YColorLed target get_blinkSeqSize Retourne : un entier représentant la longueur actuelle de la sequence de clignotement En cas d'erreur, déclenche une exception ou retourne Y_BLINKSEQSIZE_INVALID www.yoctopuce.com...
Page 238
) function get_errorMessage( ) function get_errorMessage( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : une chaîne de caractères correspondant au message de la dernière erreur qui s'est produit lors de l'utilisation de la LED RGB.
Page 239
) function get_errorType( ) function get_errorType( ) Cette méthode est principalement utile lorsque la librairie Yoctopuce est utilisée en désactivant la gestion des exceptions. Retourne : un nombre correspondant au code de la dernière erreur qui s'est produit lors de l'utilisation de la LED RGB.
Page 240
LED RGB (par exemple: MyCustomName.relay1 Retourne : une chaîne de caractères identifiant la LED RGB en utilisant les noms logiques (ex: MyCustomName.relay1 En cas d'erreur, déclenche une exception ou retourne Y_FRIENDLYNAME_INVALID www.yoctopuce.com...
Page 241
é t é c o n t a c t é e , v a l e u r r e t o u r n é e s e r a Y_FUNCTIONDESCRIPTOR_INVALID www.yoctopuce.com...
Page 242
) String get_functionId( ) java def get_functionId( ) function get_functionId( ) function get_functionId( ) Par example relay1 Retourne : relay1 une chaîne de caractères identifiant la LED RGB (ex: En cas d'erreur, déclenche une exception ou retourne Y_FUNCTIONID_INVALID www.yoctopuce.com...
Page 243
L'identifiant unique est composé du numéro de série du module et de l'identifiant matériel de la LED RGB (par example RELAYLO1-123456.relay1 Retourne : RELAYLO1-123456.relay1 une chaîne de caractères identifiant la LED RGB (ex: En cas d'erreur, déclenche une exception ou retourne Y_HARDWAREID_INVALID www.yoctopuce.com...
Page 244
) java async Task<int> get_hslColor( ) def get_hslColor( ) function get_hslColor( ) function get_hslColor( ) YColorLed target get_hslColor Retourne : un entier représentant la couleur HSL courante de la LED En cas d'erreur, déclenche une exception ou retourne Y_HSLCOLOR_INVALID www.yoctopuce.com...
Page 245
Task<string> get_logicalName( ) def get_logicalName( ) function get_logicalName( ) function get_logicalName( ) YColorLed target get_logicalName Retourne : une chaîne de caractères représentant le nom logique de la LED RGB. En cas d'erreur, déclenche une exception ou retourne Y_LOGICALNAME_INVALID www.yoctopuce.com...
Page 246
20. Référence de l'API de haut niveau colorled→get_module() YColorLed colorled→module() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module( ) function get_module( ) nodejs YModule * get_module( ) -(YModule*) module function get_module( ): TYModule function get_module( ) As YModule...
Page 247
20. Référence de l'API de haut niveau colorled→get_module_async() YColorLed colorled→module_async() Retourne l'objet correspondant au module Yoctopuce qui héberge la fonction. YModule function get_module_async( callback, context) function get_module_async( callback, context) nodejs Si la fonction ne peut être trouvée sur aucun module, l'instance de YModule retournée ne sera pas...
Page 248
) java async Task<int> get_rgbColor( ) def get_rgbColor( ) function get_rgbColor( ) function get_rgbColor( ) YColorLed target get_rgbColor Retourne : un entier représentant la couleur RGB courante de la LED En cas d'erreur, déclenche une exception ou retourne Y_RGBCOLOR_INVALID www.yoctopuce.com...
Page 249
Task<int> get_rgbColorAtPowerOn( ) def get_rgbColorAtPowerOn( ) function get_rgbColorAtPowerOn( ) function get_rgbColorAtPowerOn( ) YColorLed target get_rgbColorAtPowerOn Retourne : un entier représentant la couleur configurée pour être affichage à l'allumage du module En cas d'erreur, déclenche une exception ou retourne Y_RGBCOLORATPOWERON_INVALID www.yoctopuce.com...
Page 250
Object get_userData( ) java def get_userData( ) function get_userData( ) function 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 251
Paramètres : hsl_target couleur HSL désirée à la fin de la transition ms_duration durée de la transition, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 252
Si les valeurs des attributs en cache de la LED RGB 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 si la LED RGB est joignable, false sinon www.yoctopuce.com...
Page 253
à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 254
Paramètres : msValidity un entier correspondant à la durée de validité attribuée aux les paramètres chargés, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 255
$attrName) function loadAttribute( attrName) Paramètres : attrName le nom de l'attribut désiré Retourne : une chaîne de caractères représentant la valeur actuelle de l'attribut. En cas d'erreur, déclenche une exception ou retourne un chaîne vide. www.yoctopuce.com...
Page 256
YAPI_SUCCESS d'erreur (ou context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout : le résultat sera passé en paramètre à la fonction de callback. www.yoctopuce.com...
Page 257
éviter le déclanchement de callbacks HTTP. N'oubliez pas d'appeler la méthode saveToFlash() du module si le réglage doit être préservé. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 258
) As YColorLed YColorLed nextColorLed( ) YColorLed nextColorLed( ) java YColorLed nextColorLed( ) def nextColorLed( ) function nextColorLed( ) function nextColorLed( ) Retourne : un pointeur sur un objet YColorLed accessible en ligne, ou null lorsque l'énumération est terminée. www.yoctopuce.com...
Page 259
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 260
) java async Task<int> resetBlinkSeq( ) def resetBlinkSeq( ) function resetBlinkSeq( ) function resetBlinkSeq( ) YColorLed target resetBlinkSeq 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 261
Paramètres : rgb_target couleur RGB désirée à la fin de la transition ms_duration durée de la transition, en millisecondes Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 262
Paramètres : newval un entier représentant la couleur courante de la LED, en utilisant une couleur HSL spécifié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 263
être préservé. saveToFlash() Paramètres : newval une chaîne de caractères représentant le nom logique de la LED RGB. 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 264
LED, en utilisant une couleur RGB (Rouge Vert Bleu) 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 265
Paramètres : newval un entier représentant la couleur que la LED va afficher à l'allumage 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 266
Object data) java def set_userData( data) function set_userData( $data) function 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 267
La séquence va tourner en boucle jusqu'à ce qu'elle soit stoppée par stopBlinkSeq ou un changement explicite. Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 268
) java async Task<int> stopBlinkSeq( ) def stopBlinkSeq( ) function stopBlinkSeq( ) function stopBlinkSeq( ) YColorLed target stopBlinkSeq Retourne : YAPI_SUCCESS si l'opération se déroule sans erreur. En cas d'erreur, déclenche une exception ou retourne un code d'erreur négatif. www.yoctopuce.com...
Page 269
Cette fonction annule un précédent appel à . N'oubliez pas d'appeler la muteValueCallbacks() 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 270
La fonction callback reçoit deux arguments: le contexte fourni par l'appelant et l'objet fonction concerné. context contexte fourni par l'appelant, et qui sera passé tel-quel à la fonction de callback Retourne : rien du tout. www.yoctopuce.com...
Cette règle va autoriser tous les utilisateurs à accéder en lecture et en écriture aux périphériques Yoctopuce USB. Les droits d'accès pour tous les autres périphériques ne seront pas modifiés. Si ce scénario vous convient il suffit de copier le fichier "...
21.3. Module alimenté mais invisible pour l'OS Si votre Yocto-Color 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.
22. Caractéristiques Vous trouverez résumées ci dessous les principales caractéristiques techniques de votre module Yocto-Color Largeur 20 mm Longueur 60 mm Poids Connecteur USB micro-B Canaux Sytème d'exploitation supportés Windows, Linux (Intel + ARM), Mac OS X, Android Drivers Fonctionne sans driver API / SDK / Librairie (USB+TCP) C++, Objective-C, C#, VB .NET, Delphi, Python, Java/Android...