Yoctolib Cs FR

Embed Size (px)

Citation preview

  • Rfrence de l'API C# .NET

  • www.yoctopuce.com 2

    Table des matiresIntroduction 3Utilisation du YoctoDemo en C# 4

    Installation 4Utilisation l'API yoctopuce dans un projet $LANG$ 4Contrle de la fonction Led 5Contrle de la partie module 6Gestion des erreurs 9

    Reference 10Fonctions gnrales 10Interface de la fonction AnButton 16Interface de la fonction CarbonDioxide 26Interface de la fonction ColorLed 35Interface de la fonction Current 43Interface de la fonction DataLogger 52Squence de donnes mise en forme 61Squence de donnes enregistres 63Interface de contrle de l'alimentation 66Interface d'un port de Yocto-hub 74Interface de la fonction Humidity 81Interface de la fonction Led 90Interface de la fonction LightSensor 97Interface de contrle du module 106Interface de la fonction Network 117Interface de la fonction Pressure 130Interface de la fonction Relay 139Interface de la fonction Servo 147Interface de la fonction Temperature 155Interface de la fonction Voltage 164Interface de la fonction Source de tension 173Interface de la fonction Wireless 182

    Index 190

  • www.yoctopuce.com 3

    1. IntroductionCe manuel est votre rfrence pour l'utilisation de la librairie C# .NET de Yoctopuce pour interfacer vos senseurs et contrleurs USB.

    Le chapitre suivant reprend un chapitre du manuel du module USB gratuit YoctoDemo, afin d'illustrer l'utilisation de la librairie sur des exemples concrets.

    Le reste du manuel documente chaque fonction, classe et mthode de l'API. La premire section dcrit les fonctions globales d'ordre gnral, et les sections dcrivent les diffrentes classes, utiles selon le module Yoctopuce utilis. Pour plus d'informations sur la signification et l'utilisation d'un attribut particulier d'un module, il est recommand de se rfrer la documentation spcifique du module, qui contient plus de dtails.

  • www.yoctopuce.com 4

    2. Utilisation du YoctoDemo en C#C# (prononcez C-Sharp) est un langage orient objet promu par Microsoft qui n'est pas sans rappeller Java. Tout comme Visual Basic et Delphi, il permet de crer des applications Windows relativement facilement. Tous les exemples et les modles de projet sont tests avec Microsoft C# 2010 Express, disponible gratuitement sur le site de Microsoft 1.

    2.1. InstallationTlchargez la librairie Yoctopuce pour $LANG$ depuis le site web de Yoctopuce2. Il n'y a pas de programme d'installation, copiez simplement de contenu du fichier zip dans le rpertoire de votre choix. Vous avez besoin essentiellement du contenu du rpertoire Sources. Les autres rpertoires contiennent la documentation et quelques programmes d'exemple. Les projets d'exemple sont des projets $LANG$ 2010, si vous utilisez une version antrieure, il est possible que vous ayez reconstruire la structure de ces projets.

    2.2. Utilisation l'API yoctopuce dans un projet $LANG$La librairie Yoctopuce pour $LANG$ .NET se prsente sous la forme d'une DLL et de fichiers sources en $LANG$. La DLL n'est pas une DLL .NET mais une DLL classique, crite en C, qui gre les communications bas niveau avec les modules3. Les fichiers sources en $LANG$ grent la partie haut niveau de l'API. Vous avez donc besoin de cette DLL et des fichiers .$EXT$ du rpertoire Sources pour crer un projet grant des modules Yoctopuce.

    Configuration d'un projet $LANG$Les indications ci-dessous sont fournies pour Visual Studio express 2010, mais la procdure est semblable pour les autres versions.

    Commencez par crer votre projet, puis depuis le panneau Explorateur de solutionseffectuez un clic droit sur votre projet, et choisissez Ajouter puis Elment existant.

    Une fentre de slection de fichiers apparat: slectionnez le fichier yocto_api.$EXT$ et les fichiers correspondant aux fonctions des modules Yoctopuce que votre projet va grer. Dans le doute, vous pouvez aussi slectionner tous les fichiers.

    Vous avez alors le choix entre simplement ajouter ces fichiers votre projet, ou les ajouter en tant que lien (le bouton Ajouter est en fait un menu droulant). Dans le premier cas, Visual Studio va copier les fichiers choisis dans votre projet, dans le second Visual Studio va simplement garder un lien sur les fichiers originaux. Il est recommand d'utiliser des liens, une ventuelle mise jour de la librairie sera ainsi beaucoup plus facile.

    1 http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express2 www.yoctopuce.com/FR/libraries.php3 Les sources de cette DLL sont disponibles dans l'API C++

  • www.yoctopuce.com 5

    Ensuite, ajoutez de la mme manire la dll yapi.dll, qui se trouve dans le rpertoire Sources/dll4. Puis depuis la fentre Explorateur de solutions, effectuez un clic droit sur la DLL, choisissez Proprit et dans le panneau Proprits, mettez l'option Copier dans le rpertoire de sortie toujours copier. Vous tes maintenant prt utiliser vos modules Yoctopuce depuis votre environnement Visual Studio.

    Afin de les garder simples, tous les exemples fournis dans cette documentation sont des applications consoles. Il va de soit que que les fonctionnement des librairies est strictement identiques si vous les intgrez dans une application dote d'une interface graphique.

    2.3. Contrle de la fonction LedIl suffit de quelques lignes de code pour piloter un YoctoDemo. Voici le squelette d'un fragment de code C# qui utilise la fonction Led.

    [...]string errmsg = "";YLed led;

    // On rcupre l'objet reprsentant le module (ici connect en local sur USB)YAPI.RegisterHub("usb", errmsg);led = YLed.FindLed("YCTOPOC1-123456.led");

    // Pour grer le hot-plug, on vrifie que le module est lif (led.isOnline()) { // Utiliser led.set_power(): ... }

    Voyons maintenant en dtail ce que font ces quelques lignes.

    YAPI.RegisterHubLa fonction YAPI.RegisterHub initialise l'API de Yoctopuce en indiquant o les modules doivent tre recherchs. Utilise avec le paramtre "usb", elle permet de travailler avec les modules connects localement la machine. Si l'initialisation se passe mal, cette fonction renverra une valeur diffrente de YAPI.SUCCESS, et retournera via le paramtre errmsgune explication du problme.

    YLed.FindLedLa fonction YLed.FindLed, permet de retrouver une led en fonction du numro de srie de son module hte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des noms logiques que vous auriez pralablement configurs. Imaginons un module YoctoDemo avec le numros de srie YCTOPOC1-123456 que vous auriez appel "MonModule" et dont vous auriez nomm la fonction led "MaFonction", les cinq appels suivants seront strictement quivalents (pour autant que MaFonction ne soit dfinie qu'une fois, pour viter toute ambigut):

    led = YLed.FindLed("YCTOPOC1-123456.led");led = YLed.FindLed("YCTOPOC1-123456.MaFonction");led = YLed.FindLed("MonModule.led");led = YLed.FindLed("MonModule.MaFonction");led = YLed.FindLed("MaFonction");

    YLed.FindLed renvoie un objet que vous pouvez ensuite utiliser loisir pour contrler la led.

    isOnlineLa mthode YLed.isOnline() de l'objet renvoy par FindLed permet de savoir si le module correspondant est prsent et en tat de marche.

    set_powerLa fonction set_power() de l'objet renvoy par YLed.FindLed permet d'allumer et d'teindre la led. L'argument est YLed.POWER_ON ou YLed.POWER_OFF. Vous trouverez

    4 Pensez changer le filtre de la fentre de slection de fichiers, sinon la DLL n'apparatra pas

  • www.yoctopuce.com 6

    dans la rfrence de l'interface de programmation d'autres mthodes permettant de contrler prcisment la luminosit et de faire clignoter automatiquement la led.

    Un exemple relLancez Visual C# et ouvrez le projet exemple correspondant, fourni dans le rpertoire Examples/Doc-GettingStarted-Yocto-Demo de la librairie Yoctopuce.

    Vous reconnatrez dans cet exemple l'utilisation des fonctions expliques ci-dessus, cette fois utilises avec le dcorum ncessaire en faire un petit programme d'exemple concret.

    using System;using System.Collections.Generic;using System.Linq;using System.Text;

    namespace ConsoleApplication1{ class Program { static void usage() { Console.WriteLine("demo [ on | off ]"); Console.WriteLine("demo [ on | off ]"); Console.WriteLine("demo any [ on | off ] "); Environment.Exit(0); }

    static void Main(string[] args) { string errmsg = ""; string target; YLed led; string on_off;

    if (args.Length < 2) usage(); target = args[0].ToUpper(); on_off = args[1].ToUpper();

    if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); }

    if (target == "ANY") { led = YLed.FirstLed(); if (led == null) { Console.WriteLine("No module connected (check USB cable) "); Environment.Exit(0); } } else led = YLed.FindLed(target + ".led");

    if (led.isOnline()) { if (on_off == "ON") led.set_power(YLed.POWER_ON); else led.set_power(YLed.POWER_OFF); } else Console.WriteLine("Module not connected (check identification and USB cable)"); } }}

    2.4. Contrle de la partie moduleChaque module peut-tre contrl d'une manire similaire, vous trouverez ci-dessous un simple programme d'exemple affichant les principaux paramtres d'un module et permettant d'activer la balise de localisation.

    using System;using System.Collections.Generic;using System.Linq;using System.Text;

  • www.yoctopuce.com 7

    namespace ConsoleApplication1{ class Program { static void usage() { Console.WriteLine("usage: demo [ON/OFF]"); Environment.Exit(0); }

    static void Main(string[] args) { YModule m; string errmsg = "";

    if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); }

    if (args.Length < 2) usage();

    m = YModule.FindModule(args[0]); // use serial or logical name

    if (m.isOnline()) { if (args.Length >= 2) { if (args[1].ToUpper() == "ON") { m.set_beacon(YModule.BEACON_ON); } if (args[1].ToUpper() == "OFF") { m.set_beacon(YModule.BEACON_OFF); } } Console.WriteLine("serial: " + m.get_serialNumber()); Console.WriteLine("logical name: " + m.get_logicalName()); Console.WriteLine("luminosity: " + m.get_luminosity().ToString()); Console.Write("beacon: "); if (m.get_beacon() == YModule.BEACON_ON) Console.WriteLine("ON"); else Console.WriteLine("OFF");

    } else Console.WriteLine(args[0] + " not connected (check identification and USB cable)"); } }}

    Chaque proprit xxx du module peut tre lue grce une mthode du type YModule.get_xxxx(), et les proprits qui se sont pas en lecture seule peuvent tre modifies l'aide de la mthode YModule.set_xxx() Pour plus de dtails concernant ces fonctions utilises, reportez-vous aux chapitre API

    Modifications des rglages du moduleLorsque que vous souhaitez modifier les rglages d'un module, il suffit d'appeler la fonction YModule.set_xxx() correspondante, cependant cette modification n'a lieu que dans la mmoire vive du module: si le module redmarre, les modifications seront perdues. Pour qu'elle soient mmorises de manire persistante, il est ncessaire de demander au module de sauvegarder sa configuration courante dans sa mmoire non volatile. Pour cela il faut utiliser la mthode YModule.saveToFlash(). Inversement il est possible de forcer le module oublier ses rglages courants en utilisant la mthode YModule.revertFromFlash(). Ce petit exemple ci-dessous vous permet changer le nom logique d'un module.

    using System;using System.Collections.Generic;using System.Linq;using System.Text;

    namespace ConsoleApplication1{ class Program

  • www.yoctopuce.com 8

    { static void usage() { Console.WriteLine("usage: demo "); Environment.Exit(0); }

    static void Main(string[] args) { YModule m; string errmsg = ""; string newname;

    if (args.Length != 2) usage();

    if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); }

    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= " + m.get_serialNumber()); Console.WriteLine(" / name= " + m.get_logicalName()); } else Console.Write("not connected (check identification and USB cable"); } }}

    Attention, le nombre de cycles d'criture de la mmoire non volatile du module est limit. Pass cette limite plus rien ne garantit que la sauvegarde des rglages se passera correctement. Cette limite, lie la technologie employe par le micro-processeur du module se situe aux alentour de 100000 cycles. Pour rsumer vous ne pouvez employer la fonction YModule.saveToFlash() que 100000 fois au cours de la vie du module. Veillez donc ne pas appeler cette fonction depuis l'intrieur d'une boucle.

    Enumeration des modulesObtenir la liste des modules connects se fait l'aide de la fonction YModule.yFirstModule() qui renvoie le premier module trouv, il suffit ensuite d'appeler la mthode nextModule() de cet objet pour trouver les modules suivants, et ce tant que la rponse n'est pas un null. Ci-dessous un petit exemple listant les module connectsusing System;using System.Collections.Generic;using System.Linq;using System.Text;

    namespace ConsoleApplication1{ class Program { static void Main(string[] args) { YModule m; string errmsg = "";

    if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS) { Console.WriteLine("RegisterHub error: " + errmsg); Environment.Exit(0); }

    Console.WriteLine("Device list"); m = YModule.FirstModule();

  • www.yoctopuce.com 9

    while (m!=null) { Console.WriteLine(m.get_serialNumber() + " (" + m.get_productName() + ")"); m = m.nextModule(); }

    } }}

    2.5. Gestion des erreursLorsque vous implmentez un programme qui doit interagir avec des modules USB, vous ne pouvez pas faire abstraction de la gestion des erreurs. Il y aura forcment une occasion o un utilisateur aura dbranch le priphrique, soit avant de lancer le programme, soit mme en pleine opration. La librairie Yoctopuce est prvue pour vous aider supporter ce genre de comportements, mais votre code doit nanmoins tre fait pour se comporter au mieux pour interprter les erreurs signales par la librairie.

    La manire la plus simple de contourner le problme est celle que nous avons employ pour les petits exemples prcdents de ce chapitre: avant d'accder un module, on vrifie qu'il est en ligne avec la mthode isOnline() et on suppose ensuite qu'il va y rester pendant la fraction de seconde ncessaire excuter les lignes de code suivantes. Ce n'est pas parfait, mais a peut suffire dans certains cas. Il faut toutefois tre conscient qu'on ne peut pas totalement exclure une erreur se produisant aprs le isOnline(), qui pourrait faire planter le programme. La seule manire de l'viter est d'implmenter une des deux techniques de gestion des erreurs dcrites ci-dessous.

    La mthode recommande par la plupart des langages de programmation pour la gestion des erreurs imprvisibles est l'utilisation d'exceptions. C'est le comportement par dfaut de la librairie Yoctopuce. Si une erreur se produit alors qu'on essaie d'accder 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 gre, et tout se passe bien. Si votre programme tourne dans le debugger, vous pourrez relativement facilement

    dterminer o le problme s'est produit, et voir le message explicatif li l'exception. Sinon... l'exception va crasher votre programme, boum!

    Comme cette dernire 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 les exceptions chaque ligne de code. Il suffit d'appeler la fonction yDisableExceptions() pour commuter la librairie dans un mode o les exceptions de chaque fonction sont systmatiquement remplaces par des valeurs de retour particulires, qui peuvent tre testes par l'appelant lorsque c'est pertinent. Le nom de la valeur de retour en cas d'erreur pour chaque fonction est systmatiquement document dans la rfrence de la librairie. Il suit toujours la mme logique: une mthode get_state() retournera une valeur Y_STATE_INVALID, une mthode get_currentValue retournera une valeur Y_CURRENTVALUE_INVALID, etc. Dans tous les cas, la valeur retourne sera du type attendu, et 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 retourne. Dans le cas de fonctions qui ne retournent priori pas d'information, la valeur de retour sera YAPI_SUCCESS si tout va bien, et un code d'erreur diffrent en cas d'chec.Quand vous travaillez sans les exceptions, il est possible d'obtenir un code d'erreur et un message expliquant l'origine de l'erreur en le demandant l'objet qui a retourn une erreur l'aide des mthodes errType() et errMessage(). Ce sont les mme informations qui auraient t associes l'exception si elles avaient t actives.

  • www.yoctopuce.com 10

    3. Reference3.1. Fonctions gnralesCes quelques fonctions gnrales permettent l'initialisation et la configuration de la librairie Yoctopuce. Dans la plupart des cas, un appel yRegisterHub() suffira en tout et pour tout. Ensuite, vous pourrez appeler la fonction globale yFind...() ou yFirst...()correspondant votre module pour pouvoir interagir avec lui.

    Pour utiliser les fonctions dcrites ici, vous devez inclure:yocto_api.cs

    Fonction globalesyCheckLogicalName(name)

    Vrifie si un nom donn est valide comme nom logique pour un module ou une fonction.

    yDisableExceptions()Dsactive l'utilisation d'exceptions pour la gestion des erreurs.

    yEnableExceptions()Ractive l'utilisation d'exceptions pour la gestion des erreurs.

    yEnableUSBHost(osContext)Cette fonction est utilise uniquement sous Android.

    yFreeAPI()Libre la mmoire dynamique utilise par la librairie Yoctopuce.

    yGetAPIVersion()Retourne la version de la librairie Yoctopuce utilise.

    yGetTickCount()Retourne la valeur du compteur monotone de temps (en millisecondes).

    yHandleEvents(errmsg)Maintient la communication de la librairie avec les modules Yoctopuce.

    yInitAPI(mode, errmsg)Initialise la librairie de programmation de Yoctopuce explicitement.

    yRegisterDeviceArrivalCallback(arrivalCallback)Enregistre une fonction de callback qui sera appele chaque fois qu'un module est branch.

    yRegisterDeviceRemovalCallback(removalCallback)

  • www.yoctopuce.com 11

    Enregistre une fonction de callback qui sera appele chaque fois qu'un module est dbranch.

    yRegisterHub(url, errmsg)Configure la librairie Yoctopuce pour utiliser les modules connects sur une machine donne.

    yRegisterLogFunction(logfun)Enregistre une fonction de callback qui sera appelle chaque fois que l'API a quelque chose dire.

    ySetDelegate(object)(Objective-C uniquement) Enregistre un objet dlgu qui doit se conformer au procole YDeviceHotPlug.

    ySetTimeout(callback, ms_timeout, optional_arguments)Appelle le callback spcifi aprs un temps d'attente spcifi.

    ySleep(ms_duration, errmsg)Effectue une pause dans l'excution du programme pour une dure spcifie.

    yUnregisterHub(url)Configure la librairie Yoctopuce pour ne plus utiliser les modules connects sur une machine pralablement enregistrer avec RegisterHub.

    yUpdateDeviceList(errmsg)Force une mise--jour de la liste des modules Yoctopuce connects.

    yUpdateDeviceList_async(callback, context)Force une mise--jour de la liste des modules Yoctopuce connects.

    YAPI.CheckLogicalName()Vrifie si un nom donn est valide comme nom logique pour un module ou une fonction.

    bool CheckLogicalName( string name)

    Un nom logique valide est form de 19 caractres au maximum, choisis parmi A..Z, a..z, 0..9, _ et -. Lorsqu'on configure un nom logique avec une chane incorrecte, les caractres invalides sont ignors.

    Paramtres :name une chane de caractres contenant le nom vrifier.

    Retourne :true si le nom est valide, false dans le cas contraire.

    YAPI.DisableExceptions()Dsactive l'utilisation d'exceptions pour la gestion des erreurs.

    void DisableExceptions( )

    Lorsque les exceptions sont dsactives, chaque fonction retourne une valeur d'erreur spcifique selon son type, documente dans ce manuel de rfrence.

    YAPI.EnableExceptions()Ractive l'utilisation d'exceptions pour la gestion des erreurs.

    void EnableExceptions( )

  • www.yoctopuce.com 12

    Attention, lorsque les exceptions sont actives, tout appel une fonction de la librairie qui choue dclenche une exception. Dans le cas o celle-ci n'est pas intercepte correctement par le code appelant, soit le debugger se lance, soit le programme de l'utilisateur est immdiatement stopp (crash).

    Cette fonction est utilise uniquement sous Android.

    Avant d'appeler yRegisterHub("usb") il faut activer le port USB host du systeme. Cette fonction prend en argument un objet de la classe android.content.Context (ou d'une sous-classe). Il n'est pas ncessaire d'appeler cette fonction pour accder au modules travers le rseau.

    Paramtres :osContext un objet de classe android.content.Context (ou une sous-classe)En cas d'erreur, dclenche une exception

    YAPI.FreeAPI()Libre la mmoire dynamique utilise par la librairie Yoctopuce.

    void FreeAPI( )

    Il n'est en gnral pas ncessaire d'appeler cette fonction, sauf si vous dsirez librer tous les blocs de mmoire allous dynamiquement dans le but d'identifier une source de blocs perdus par exemple. Vous ne devez plus appeler aucune fonction de la librairie aprs avoir appel yFreeAPI(), sous peine de crash.

    YAPI.GetAPIVersion()Retourne la version de la librairie Yoctopuce utilise.

    String GetAPIVersion( )

    La version est retourne sous forme d'une chane de caractres au format "Majeure.Mineure.NoBuild", par exemple "1.01.5535". Pour les langages utilisant une DLL externe (par exemple C#, VisualBasic ou Delphi), la chane contient en outre la version de la DLL au mme format, par exemple "1.01.5535 (1.01.5439)".Si vous dsirez vrifier dans votre code que la version de la librairie est compatible avec celle que vous avez utilis durant le dveloppement, vrifiez que le numro majeur soit strictement gal et que le numro mineur soit gal ou suprieur. Le numro de build n'est pas significatif par rapport la compatibilit de la librairie.

    Retourne :une chane de caractres dcrivant la version de la librairie.

    YAPI.GetTickCount()Retourne la valeur du compteur monotone de temps (en millisecondes).

    long GetTickCount( )

    Ce compteur peut tre utilis pour calculer des dlais 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.

  • www.yoctopuce.com 13

    YAPI.HandleEvents()Maintient la communication de la librairie avec les modules Yoctopuce.

    YRETCODE HandleEvents( ref string errmsg)

    Si votre programme inclut des longues boucles d'attente, vous pouvez y inclure un appel cette fonction pour que la librairie prenne en charge les informations mise en attente par les modules sur les canaux de communication. Ce n'est pas strictement indispensable mais cela peut amliorer la ractivit 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.

    Paramtres :errmsg une chane de caractres passe par rfrence, dans laquelle sera stock un ventuel

    message d'erreur.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    YAPI.InitAPI()Initialise la librairie de programmation de Yoctopuce explicitement.

    int InitAPI( int mode, ref string errmsg)

    Il n'est pas indispensable d'appeler yInitAPI(), la librairie sera automatiquement initialise de toute manire au premier appel yRegisterHub().Lorsque cette fonctin est utilise avec comme mode la valeur Y_DETECT_NONE, il faut explicitement appeler yRegisterHub() pour indiquer la librairie sur quel VirtualHub les modules sont connects, avant d'essayer d'y accder.

    Paramtres :mode un entier spcifiant le type de dtection automatique de modules utiliser. Les valeurs

    possibles sont Y_DETECT_NONE, Y_DETECT_USB, Y_DETECT_NET et Y_DETECT_ALL.

    errmsg une chane de caractres passe par rfrence, dans laquelle sera stock un ventuel message d'erreur.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    YAPI.RegisterDeviceArrivalCallback()Enregistre une fonction de callback qui sera appele chaque fois qu'un module est branch.

    void RegisterDeviceArrivalCallback( yDeviceUpdateFunc arrivalCallback)

    Le callback sera appel pendant l'xecution de la fonction yHandleDeviceList, que vous devrez appeler rgulirement.

    Paramtres :arrivalCallback une procdure qui prend un YModule en paramtre, ou nullpour supprimer un callback dja enregistr.

  • www.yoctopuce.com 14

    YAPI.RegisterDeviceRemovalCallback()Enregistre une fonction de callback qui sera appele chaque fois qu'un module est dbranch.

    void RegisterDeviceRemovalCallback( yDeviceUpdateFunc removalCallback)

    Le callback sera appel pendant l'xecution de la fonction yHandleDeviceList, que vous devrez appeler rgulirement.

    Paramtres :removalCallback une procdure qui prend un YModule en paramtre, ou nullpour supprimer un callback dja enregistr.

    YAPI.RegisterHub()Configure la librairie Yoctopuce pour utiliser les modules connects sur une machine donne.

    int RegisterHub( string url, ref string errmsg)

    Dans le cas d'une utilisation avec la passerelle VirtualHub, vous devez donner en paramtre l'adresse de la machine o tourne le VirtualHub (typiquement "http://127.0.0.1:4444", qui dsigne la machine locale). Si vous utilisez un langage qui a un accs direct USB, vous pouvez utiliser la pseudo-adresse "usb" la place.Attention, seule une application peut fonctionner la fois sur une machine donne en accs direct USB, sinon il y aurait un conflit d'accs aux modules. Cela signifie en particulier que vous devez stopper le VirtualHub avant de lancer une application utilisant l'accs direct USB. Cette limitation peut tre contourne en passant par un VirtualHub plutt que d'utiliser directement USB. Si vous dsirez vous connecter un VirtualHub sur lequel le controle d'accs a t activ, vous devez donner le paramtre url sous la forme: http://nom:mot_de_passe@adresse:port

    Paramtres :url une chane de caractres contenant "usb" ou l'URL racine du VirtualHub utiliser.errmsg une chane de caractres passe par rfrence, dans laquelle sera stock un ventuel

    message d'erreur.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    YAPI.RegisterLogFunction()Enregistre une fonction de callback qui sera appelle chaque fois que l'API a quelque chose dire.

    void RegisterLogFunction( yLogFunc logfun)

    Utile pour dbugger le fonctionnement de l'API.

    Paramtres :logfun une procedure qui prend une chane de caractre en paramtre,ou null pour supprimer un callback dja enregistr.

    (Objective-C uniquement) Enregistre un objet dlgu qui doit se conformer au procole YDeviceHotPlug.

  • www.yoctopuce.com 15

    Les methodes yDeviceArrival et yDeviceRemoval seront appeles pendant l'xecution de la fonction yHandleDeviceList, que vous devrez appeler rgulirement.

    Paramtres :object un objet qui soit se conformer au procol YAPIDelegate, ou nilpour supprimer un objet dja enregistr.

    Appelle le callback spcifi aprs un temps d'attente spcifi.

    Cette fonction se comporte plus ou moins comme la fonction Javascript setTimeout, mais durant le temps d'attente, elle va appeler yHandleEvents et yUpdateDeviceListpriodiquement pour maintenir l'API jour avec les modules connects.

    Paramtres :callback la fonction appeler lorsque le temps d'attente est coul. Sous Microsoft

    Internet Explorer, le callback doit tre spcifi sous forme d'une string valuer.

    ms_timeout un entier correspondant la dure de l'attente, en millisecondesoptional_arguments des arguments supplmentaires peuvent tre fournis, pour tre passs la

    fonction de callback si ncessaire (pas support sous Microsoft Internet Explorer).

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    YAPI.Sleep()Effectue une pause dans l'excution du programme pour une dure spcifie.

    int Sleep( int ms_duration, ref string errmsg)

    L'attente est passive, c'est--dire qu'elle n'occupe pas significativement le processeur, de sorte le laisser disponible pour les autres processus fonctionnant sur la machine. Durant l'attente, la librairie va nanmoins continuer lire priodiquement 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.

    Paramtres :ms_duration un entier correspondant la dure de la pause, en millisecondeserrmsg une chane de caractres passe par rfrence, dans laquelle sera stock un

    ventuel message d'erreur.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    YAPI.UnregisterHub()Configure la librairie Yoctopuce pour ne plus utiliser les modules connects sur une machine pralablement enregistrer avec RegisterHub.

    void UnregisterHub( string url)

    Paramtres :url une chane de caractres contenant "usb" oul'URL racine du VirtualHub ne plus utiliser.

  • www.yoctopuce.com 16

    YAPI.UpdateDeviceList()Force une mise--jour de la liste des modules Yoctopuce connects.

    YRETCODE UpdateDeviceList( ref string errmsg)

    La librairie va vrifier sur les machines ou ports USB prcdemment enregistrs en utilisant la fonction yRegisterHub si un module a t connect ou dconnect, et le cas chant appeler les fonctions de callback dfinies par l'utilisateur.

    Cette fonction peut tre appele aussi souvent que dsir, afin de rendre l'application ractive aux vnements de hot-plug.

    Paramtres :errmsg une chane de caractres passe par rfrence, dans laquelle sera stock un ventuel

    message d'erreur.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    Force une mise--jour de la liste des modules Yoctopuce connects.

    La librairie va vrifier sur les machines ou ports USB prcdemment enregistrs en utilisant la fonction yRegisterHub si un module a t connect ou dconnect, et le cas chant appeler les fonctions de callback dfinies par l'utilisateur.

    Cette fonction peut tre appele aussi souvent que dsir, afin de rendre l'application ractive aux vnements de hot-plug.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit deux arguments: le contexte fourni par l'appelant et le code de retour (YAPI_SUCCESS si l'opration se droule sans erreur).

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    3.2. Interface de la fonction AnButtonLa librairie de programmation Yoctopuce permet aussi bien de mesurer l'tat d'un simple bouton que de lire un potentiomtre analogique (rsistance variable), comme par exmple bouton rotatif continue, une poigne de commande de gaz ou un joystick. Le module est capable de se calibrer sur les valeurs minimales et maximales du potentiomtre, et de restituer une valeur calibre variant proportionnellement avec la position du potentiomtre, indpendant de sa rsistance totale.

    Pour utiliser les fonctions dcrites ici, vous devez inclure:yocto_anbutton.cs

    Fonction globalesyFindAnButton(func)

    Permet de retrouver une entre analogique d'aprs un identifiant donn.

    yFirstAnButton()Commence l'numration des entres analogiques accessibles par la librairie.

  • www.yoctopuce.com 17

    Mthodes des objets YAnButtonanbuttondescribe()

    Retourne un court texte dcrivant la fonction.

    anbuttonget_advertisedValue()Retourne la valeur courante de l'entre analogique (pas plus de 6 caractres).

    anbuttonget_analogCalibration()Permet de savoir si une procdure de calibration est actuellement en cours.

    anbuttonget_calibratedValue()Retourne la valeur calibre de l'entre (entre 0 et 1000 inclus).

    anbuttonget_calibrationMax()Retourne la valeur maximale observe durant la calibration (entre 0 et 4095 inclus).

    anbuttonget_calibrationMin()Retourne la valeur minimale observe durant la calibration (entre 0 et 4095 inclus).

    anbuttonget_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    anbuttonget_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    anbuttonget_functionDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    anbuttonget_hardwareId()Retourne l'identifiant unique de la fonction.

    anbuttonget_isPressed()Retourne vrai si l'entre (considre comme binaire) est active (contact ferm), et faux sinon.

    anbuttonget_lastTimePressed()Retourne le temps absolu (nombre de millisecondes) entre la mise sous tension du module et la dernire pression observe du bouton l'entre (transition du contact de ouvert ferm).

    anbuttonget_lastTimeReleased()Retourne le temps absolu (nombre de millisecondes) entre la mise sous tension du module et le dernier relchement observe du bouton l'entre (transition du contact de ferm ouvert).

    anbuttonget_logicalName()Retourne le nom logique de l'entre analogique.

    anbuttonget_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    anbuttonget_module_async(callback, context)Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    anbuttonget_rawValue()Retourne la valeur mesure de l'entre telle-quelle (entre 0 et 4095 inclus).

    anbuttonget_sensitivity()Retourne la sensibilit pour l'entre (entre 1 et 255 inclus) pour le dclanchement de callbacks.

    anbuttonget_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    anbuttonisOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

  • www.yoctopuce.com 18

    anbuttonisOnline_async(callback, context)Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    anbuttonload(msValidity)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    anbuttonload_async(msValidity, callback, context)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    anbuttonnextAnButton()Continue l'numration des entres analogiques commence l'aide de yFirstAnButton().

    anbuttonregisterValueCallback(callback)Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    anbuttonset_analogCalibration(newval)Enclenche ou dclenche le procdure de calibration.

    anbuttonset_calibrationMax(newval)Modifie la valeur maximale de calibration pour l'entre (entre 0 et 4095 inclus), sans lancer la calibration automatique.

    anbuttonset_calibrationMin(newval)Modifie la valeur minimale de calibration pour l'entre (entre 0 et 4095 inclus), sans lancer la calibration automatique.

    anbuttonset_logicalName(newval)Modifie le nom logique de l'entre analogique.

    anbuttonset_sensitivity(newval)Modifie la sensibilit pour l'entre (entre 1 et 255 inclus) pour le dclanchement de callbacks.

    anbuttonset_userData(data)Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard l'aide de la mthode get_userData.

    YAnButton.FindAnButton()Permet de retrouver une entre analogique d'aprs un identifiant donn.

    YAnButton FindAnButton( string func)

    L'identifiant peut tre spcifi sous plusieurs formes:

    NomLogiqueFonction NoSerieModule.IdentifiantFonction NoSerieModule.NomLogiqueFonction NomLogiqueModule.IdentifiantMatriel NomLogiqueModule.NomLogiqueFonction

    Cette fonction n'exige pas que l'entre analogique soit en ligne au moment ou elle est appele, l'objet retourn sera nanmoins valide. Utiliser la mthode YAnButton.isOnline() pour tester si l'entre analogique est utilisable un moment donn. En cas d'ambigut lorsqu'on fait une recherche par nom logique, aucune erreur ne sera notifie: la premire instance trouve sera renvoye. La recherche se fait d'abord par nom matriel, puis par nom logique.

    Paramtres :func une chane de caractres qui rfrence l'entre analogique sans ambigut

    Retourne :un objet de classe YAnButton qui permet ensuite de contrler l'entre analogique.

  • www.yoctopuce.com 19

    YAnButton.FirstAnButton()Commence l'numration des entres analogiques accessibles par la librairie.

    YAnButton FirstAnButton( )

    Utiliser la fonction YAnButton.nextAnButton() pour itrer sur les autres entres analogiques.

    Retourne :un pointeur sur un objet YAnButton, correspondant la premire entre analogique accessible en ligne, ou null si il n'y a pas de entres analogiques disponibles.

    anbutton.describe()Retourne un court texte dcrivant la fonction.

    string describe( )

    Ce texte inclut toujours le nom de la classe, et peut contenir en sus soit le nom logique de la fonction, soit son identifiant hardware.

    Retourne :une chane de caractres dcrivant la fonction

    anbutton.get_advertisedValue()Retourne la valeur courante de l'entre analogique (pas plus de 6 caractres).

    string get_advertisedValue( )

    Retourne :une chane de caractres reprsentant la valeur courante de l'entre analogique (pas plus de 6 caractres)

    En cas d'erreur, dclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID.

    anbutton.get_analogCalibration()Permet de savoir si une procdure de calibration est actuellement en cours.

    int get_analogCalibration( )

    Retourne :soit Y_ANALOGCALIBRATION_OFF, soit Y_ANALOGCALIBRATION_ON

    En cas d'erreur, dclenche une exception ou retourne Y_ANALOGCALIBRATION_INVALID.

    anbutton.get_calibratedValue()Retourne la valeur calibre de l'entre (entre 0 et 1000 inclus).

    int get_calibratedValue( )

    Retourne :un entier reprsentant la valeur calibre de l'entre (entre 0 et 1000 inclus)

    En cas d'erreur, dclenche une exception ou retourne Y_CALIBRATEDVALUE_INVALID.

  • www.yoctopuce.com 20

    anbutton.get_calibrationMax()Retourne la valeur maximale observe durant la calibration (entre 0 et 4095 inclus).

    int get_calibrationMax( )

    Retourne :un entier reprsentant la valeur maximale observe durant la calibration (entre 0 et 4095 inclus)

    En cas d'erreur, dclenche une exception ou retourne Y_CALIBRATIONMAX_INVALID.

    anbutton.get_calibrationMin()Retourne la valeur minimale observe durant la calibration (entre 0 et 4095 inclus).

    int get_calibrationMin( )

    Retourne :un entier reprsentant la valeur minimale observe durant la calibration (entre 0 et 4095 inclus)

    En cas d'erreur, dclenche une exception ou retourne Y_CALIBRATIONMIN_INVALID.

    anbutton.get_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    string get_errorMessage( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :une chane de caractres correspondant au message de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

    anbutton.get_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    YRETCODE get_errorType( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :un nombre correspondant au code de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

    anbutton.get_anbuttonDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    YFUN_DESCR get_functionDescriptor( )

    Cet identifiant peut tre utilis pour tester si deux instance de YFunction rfrencent physiquement la mme fonction sur le mme module.

    Retourne :un identifiant de type YFUN_DESCR. Si la fonction n'a jamais t contacte, la valeur retourne sera Y_FUNCTIONDESCRIPTOR_INVALID

  • www.yoctopuce.com 21

    anbutton.get_hardwareId()Retourne l'identifiant unique de la fonction.

    string get_hardwareId( )

    L'identifiant unique est compos du numro de srie du module et de l'identifiant matriel de la fonction.

    Retourne :une chane de caractres identifiant la fonction En cas d'erreur, dclenche une exception ou retourne Y_HARDWAREID_INVALID.

    anbutton.get_isPressed()Retourne vrai si l'entre (considre comme binaire) est active (contact ferm), et faux sinon.

    int get_isPressed( )

    Retourne :soit Y_ISPRESSED_FALSE, soit Y_ISPRESSED_TRUE, selon vrai si l'entre (considre comme binaire) est active (contact ferm), et faux sinon

    En cas d'erreur, dclenche une exception ou retourne Y_ISPRESSED_INVALID.

    anbutton.get_lastTimePressed()Retourne le temps absolu (nombre de millisecondes) entre la mise sous tension du module et la dernire pression observe du bouton l'entre (transition du contact de ouvert ferm).

    long get_lastTimePressed( )

    Retourne :un entier reprsentant le temps absolu (nombre de millisecondes) entre la mise sous tension du module et la dernire pression observe du bouton l'entre (transition du contact de ouvert ferm)

    En cas d'erreur, dclenche une exception ou retourne Y_LASTTIMEPRESSED_INVALID.

    anbutton.get_lastTimeReleased()Retourne le temps absolu (nombre de millisecondes) entre la mise sous tension du module et le dernier relchement observe du bouton l'entre (transition du contact de ferm ouvert).

    long get_lastTimeReleased( )

    Retourne :un entier reprsentant le temps absolu (nombre de millisecondes) entre la mise sous tension du module et le dernier relchement observe du bouton l'entre (transition du contact de ferm ouvert)

    En cas d'erreur, dclenche une exception ou retourne Y_LASTTIMERELEASED_INVALID.

    anbutton.get_logicalName()Retourne le nom logique de l'entre analogique.

    string get_logicalName( )

    Retourne :

  • www.yoctopuce.com 22

    une chane de caractres reprsentant le nom logique de l'entre analogique

    En cas d'erreur, dclenche une exception ou retourne Y_LOGICALNAME_INVALID.

    anbutton.get_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    YModule get_module( )

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Retourne :une instance de YModule

    Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et l'instance demande de YModule

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    anbutton.get_rawValue()Retourne la valeur mesure de l'entre telle-quelle (entre 0 et 4095 inclus).

    int get_rawValue( )

    Retourne :un entier reprsentant la valeur mesure de l'entre telle-quelle (entre 0 et 4095 inclus)

    En cas d'erreur, dclenche une exception ou retourne Y_RAWVALUE_INVALID.

    anbutton.get_sensitivity()Retourne la sensibilit pour l'entre (entre 1 et 255 inclus) pour le dclanchement de callbacks.

    int get_sensitivity( )

    Retourne :un entier reprsentant la sensibilit pour l'entre (entre 1 et 255 inclus) pour le dclanchement de callbacks

    En cas d'erreur, dclenche une exception ou retourne Y_SENSITIVITY_INVALID.

  • www.yoctopuce.com 23

    anbutton.get_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    object 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 prcdemment par l'appelant.

    anbutton.isOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    bool isOnline( )

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Retourne :true si la fonction est joignable, false sinon

    Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le rsultat boolen

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    anbutton.load()Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    YRETCODE load( int msValidity)

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondes

    Retourne :

  • www.yoctopuce.com 24

    YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondescallback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction

    callback reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le code d'erreur (ou YAPI_SUCCESS)

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    anbutton.nextAnButton()Continue l'numration des entres analogiques commence l'aide de yFirstAnButton().

    YAnButton nextAnButton( )

    Retourne :un pointeur sur un objet YAnButton accessible en ligne, ou null lorsque l'numration est termine.

    anbutton.registerValueCallback()Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    void registerValueCallback( UpdateCallback callback)

    Ce callback n'est appel que durant l'excution de ySleep ou yHandleEvents. Cela permet l'appelant de contrler quand les callback peuvent se produire. Il est important d'appeler l'une de ces deux fonctions priodiquement pour garantir que les callback ne soient pas appels trop tard. Pour dsactiver un callback, il suffit d'appeler cette mthode en lui passant un pointeur nul.

    Paramtres :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 chane de caractre dcrivant la nouvelle valeur publie.

    anbutton.set_analogCalibration()Enclenche ou dclenche le procdure de calibration.

    int set_analogCalibration( int newval)

  • www.yoctopuce.com 25

    N'oubliez pas d'appeler la mthode saveToFlash() du module la fin de la calibration si le rglage doit tre prserv.

    Paramtres :newval soit Y_ANALOGCALIBRATION_OFF, soit Y_ANALOGCALIBRATION_ON

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    anbutton.set_calibrationMax()Modifie la valeur maximale de calibration pour l'entre (entre 0 et 4095 inclus), sans lancer la calibration automatique.

    int set_calibrationMax( int newval)

    N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

    Paramtres :newval un entier reprsentant la valeur maximale de calibration pour l'entre (entre 0 et 4095

    inclus), sans lancer la calibration automatique

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    anbutton.set_calibrationMin()Modifie la valeur minimale de calibration pour l'entre (entre 0 et 4095 inclus), sans lancer la calibration automatique.

    int set_calibrationMin( int newval)

    N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

    Paramtres :newval un entier reprsentant la valeur minimale de calibration pour l'entre (entre 0 et 4095

    inclus), sans lancer la calibration automatique

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    anbutton.set_logicalName()Modifie le nom logique de l'entre analogique.

    int set_logicalName( string newval)

    Vous pouvez utiliser yCheckLogicalName() pour vrifier si votre paramtre est valide. N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

    Paramtres :newval une chane de caractres reprsentant le nom logique de l'entre analogique

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

  • www.yoctopuce.com 26

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    anbutton.set_sensitivity()Modifie la sensibilit pour l'entre (entre 1 et 255 inclus) pour le dclanchement de callbacks.

    int set_sensitivity( int newval)

    N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

    Paramtres :newval un entier reprsentant la sensibilit pour l'entre (entre 1 et 255 inclus) pour le

    dclanchement de callbacks

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    anbutton.set_userData()Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard l'aide de la mthode get_userData.

    void set_userData( object data)

    Cet attribut n'es pas utilis directement par l'API. Il est la disposition de l'appelant pour stocker un contexte.

    Paramtres :data objet quelconque mmoriser

    3.3. Interface de la fonction CarbonDioxideLa librairie de programmation Yoctopuce permet lire une valeur instantane du capteur, ainsi que les extrmas atteints.

    Pour utiliser les fonctions dcrites ici, vous devez inclure:yocto_carbondioxide.cs

    Fonction globalesyFindCarbonDioxide(func)

    Permet de retrouver un capteur de CO2 d'aprs un identifiant donn.

    yFirstCarbonDioxide()Commence l'numration des capteurs de CO2 accessibles par la librairie.

    Mthodes des objets YCarbonDioxidecarbondioxidecalibrateFromPoints(rawValues, refValues)

    Enregistre des points de correction de mesure, typiquement pour compenser l'effet d'un botier sur les mesures rendues par le capteur.

    carbondioxidedescribe()Retourne un court texte dcrivant la fonction.

    carbondioxideget_advertisedValue()Retourne la valeur courante du capteur de CO2 (pas plus de 6 caractres).

    carbondioxideget_currentRawValue()

  • www.yoctopuce.com 27

    Retourne la valeur brute retourne par le capteur (sans arrondi ni calibration).

    carbondioxideget_currentValue()Retourne la valeur mesure actuelle.

    carbondioxideget_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    carbondioxideget_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    carbondioxideget_functionDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    carbondioxideget_hardwareId()Retourne l'identifiant unique de la fonction.

    carbondioxideget_highestValue()Retourne la valeur maximale observe.

    carbondioxideget_logicalName()Retourne le nom logique du capteur de CO2.

    carbondioxideget_lowestValue()Retourne la valeur minimale observe.

    carbondioxideget_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    carbondioxideget_module_async(callback, context)Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    carbondioxideget_resolution()Retourne la rsolution des valeurs mesures.

    carbondioxideget_unit()Retourne l'unit dans laquelle la valeur mesure est exprime.

    carbondioxideget_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    carbondioxideisOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    carbondioxideisOnline_async(callback, context)Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    carbondioxideload(msValidity)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    carbondioxideload_async(msValidity, callback, context)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    carbondioxidenextCarbonDioxide()Continue l'numration des capteurs de CO2 commence l'aide de yFirstCarbonDioxide().

    carbondioxideregisterValueCallback(callback)Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    carbondioxideset_highestValue(newval)Modifie la mmoire de valeur maximale observe.

  • www.yoctopuce.com 28

    carbondioxideset_logicalName(newval)Modifie le nom logique du capteur de CO2.

    carbondioxideset_lowestValue(newval)Modifie la mmoire de valeur minimale observe.

    carbondioxideset_userData(data)Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard l'aide de la mthode get_userData.

    YCarbonDioxide.FindCarbonDioxide()Permet de retrouver un capteur de CO2 d'aprs un identifiant donn.

    YCarbonDioxide FindCarbonDioxide( string func)

    L'identifiant peut tre spcifi sous plusieurs formes:

    NomLogiqueFonction NoSerieModule.IdentifiantFonction NoSerieModule.NomLogiqueFonction NomLogiqueModule.IdentifiantMatriel NomLogiqueModule.NomLogiqueFonction

    Cette fonction n'exige pas que le capteur de CO2 soit en ligne au moment ou elle est appele, l'objet retourn sera nanmoins valide. Utiliser la mthode YCarbonDioxide.isOnline() pour tester si le capteur de CO2 est utilisable un moment donn. En cas d'ambigut lorsqu'on fait une recherche par nom logique, aucune erreur ne sera notifie: la premire instance trouve sera renvoye. La recherche se fait d'abord par nom matriel, puis par nom logique.

    Paramtres :func une chane de caractres qui rfrence le capteur de CO2 sans ambigut

    Retourne :un objet de classe YCarbonDioxide qui permet ensuite de contrler le capteur de CO2.

    YCarbonDioxide.FirstCarbonDioxide()Commence l'numration des capteurs de CO2 accessibles par la librairie.

    YCarbonDioxide FirstCarbonDioxide( )

    Utiliser la fonction YCarbonDioxide.nextCarbonDioxide() pour itrer sur les autres capteurs de CO2.

    Retourne :un pointeur sur un objet YCarbonDioxide, correspondant le premier capteur de CO2 accessible en ligne, ou null si il n'y a pas de capteurs de CO2 disponibles.

    carbondioxide.calibrateFromPoints()Enregistre des points de correction de mesure, typiquement pour compenser l'effet d'un botier sur les mesures rendues par le capteur.

    int calibrateFromPoints( )

    Il est possible d'enregistrer jusqu' cinq points de correction. Les points de correction doivent tre fournis en ordre croissant, et dans la plage valide du capteur. Le module effectue automatiquement une interpolation linaire de l'erreur entre les points spcifis. N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

  • www.yoctopuce.com 29

    Pour plus de plus amples possibilits d'appliquer une surcalibration aux capteurs, veuillez contacter [email protected].

    Paramtres :rawValues tableau de nombres flottants, correspondant aux valeurs brutes rendues par le capteur

    pour les points de correction.refValues tableau de nombres flottants, correspondant aux valeurs corriges dsires pour les

    points de correction.

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    carbondioxide.describe()Retourne un court texte dcrivant la fonction.

    string describe( )

    Ce texte inclut toujours le nom de la classe, et peut contenir en sus soit le nom logique de la fonction, soit son identifiant hardware.

    Retourne :une chane de caractres dcrivant la fonction

    carbondioxide.get_advertisedValue()Retourne la valeur courante du capteur de CO2 (pas plus de 6 caractres).

    string get_advertisedValue( )

    Retourne :une chane de caractres reprsentant la valeur courante du capteur de CO2 (pas plus de 6 caractres)

    En cas d'erreur, dclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID.

    carbondioxide.get_currentRawValue()Retourne la valeur brute retourne par le capteur (sans arrondi ni calibration).

    double get_currentRawValue( )

    Retourne :une valeur numrique reprsentant la valeur brute retourne par le capteur (sans arrondi ni calibration)

    En cas d'erreur, dclenche une exception ou retourne Y_CURRENTRAWVALUE_INVALID.

    carbondioxide.get_currentValue()Retourne la valeur mesure actuelle.

    double get_currentValue( )

    Retourne :une valeur numrique reprsentant la valeur mesure actuelle

    En cas d'erreur, dclenche une exception ou retourne Y_CURRENTVALUE_INVALID.

  • www.yoctopuce.com 30

    carbondioxide.get_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    string get_errorMessage( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :une chane de caractres correspondant au message de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

    carbondioxide.get_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    YRETCODE get_errorType( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :un nombre correspondant au code de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

    carbondioxide.get_carbondioxideDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    YFUN_DESCR get_functionDescriptor( )

    Cet identifiant peut tre utilis pour tester si deux instance de YFunction rfrencent physiquement la mme fonction sur le mme module.

    Retourne :un identifiant de type YFUN_DESCR. Si la fonction n'a jamais t contacte, la valeur retourne sera Y_FUNCTIONDESCRIPTOR_INVALID

    carbondioxide.get_hardwareId()Retourne l'identifiant unique de la fonction.

    string get_hardwareId( )

    L'identifiant unique est compos du numro de srie du module et de l'identifiant matriel de la fonction.

    Retourne :une chane de caractres identifiant la fonction En cas d'erreur, dclenche une exception ou retourne Y_HARDWAREID_INVALID.

    carbondioxide.get_highestValue()Retourne la valeur maximale observe.

    double get_highestValue( )

    Retourne :une valeur numrique reprsentant la valeur maximale observe

  • www.yoctopuce.com 31

    En cas d'erreur, dclenche une exception ou retourne Y_HIGHESTVALUE_INVALID.

    carbondioxide.get_logicalName()Retourne le nom logique du capteur de CO2.

    string get_logicalName( )

    Retourne :une chane de caractres reprsentant le nom logique du capteur de CO2

    En cas d'erreur, dclenche une exception ou retourne Y_LOGICALNAME_INVALID.

    carbondioxide.get_lowestValue()Retourne la valeur minimale observe.

    double get_lowestValue( )

    Retourne :une valeur numrique reprsentant la valeur minimale observe

    En cas d'erreur, dclenche une exception ou retourne Y_LOWESTVALUE_INVALID.

    carbondioxide.get_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    YModule get_module( )

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Retourne :une instance de YModule

    Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et l'instance demande de YModule

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    carbondioxide.get_resolution()Retourne la rsolution des valeurs mesures.

    double get_resolution( )

  • www.yoctopuce.com 32

    La rsolution correspond la prcision de la reprsentation numrique des mesures. Elle n'est pas forcment identique la prcision relle du capteur.

    Retourne :une valeur numrique reprsentant la rsolution des valeurs mesures

    En cas d'erreur, dclenche une exception ou retourne Y_RESOLUTION_INVALID.

    carbondioxide.get_unit()Retourne l'unit dans laquelle la valeur mesure est exprime.

    string get_unit( )

    Retourne :une chane de caractres reprsentant l'unit dans laquelle la valeur mesure est exprime

    En cas d'erreur, dclenche une exception ou retourne Y_UNIT_INVALID.

    carbondioxide.get_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    object 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 prcdemment par l'appelant.

    carbondioxide.isOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    bool isOnline( )

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Retourne :true si la fonction est joignable, false sinon

    Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le rsultat boolen

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :

  • www.yoctopuce.com 33

    rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    carbondioxide.load()Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    YRETCODE load( int msValidity)

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondes

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondescallback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction

    callback reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le code d'erreur (ou YAPI_SUCCESS)

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    carbondioxide.nextCarbonDioxide()Continue l'numration des capteurs de CO2 commence l'aide de yFirstCarbonDioxide().

    YCarbonDioxide nextCarbonDioxide( )

    Retourne :un pointeur sur un objet YCarbonDioxide accessible en ligne, ou null lorsque l'numration est termine.

    carbondioxide.registerValueCallback()Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    void registerValueCallback( UpdateCallback callback)

  • www.yoctopuce.com 34

    Ce callback n'est appel que durant l'excution de ySleep ou yHandleEvents. Cela permet l'appelant de contrler quand les callback peuvent se produire. Il est important d'appeler l'une de ces deux fonctions priodiquement pour garantir que les callback ne soient pas appels trop tard. Pour dsactiver un callback, il suffit d'appeler cette mthode en lui passant un pointeur nul.

    Paramtres :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 chane de caractre dcrivant la nouvelle valeur publie.

    carbondioxide.set_highestValue()Modifie la mmoire de valeur maximale observe.

    int set_highestValue( double newval)

    Paramtres :newval une valeur numrique reprsentant la mmoire de valeur maximale observe

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    carbondioxide.set_logicalName()Modifie le nom logique du capteur de CO2.

    int set_logicalName( string newval)

    Vous pouvez utiliser yCheckLogicalName() pour vrifier si votre paramtre est valide. N'oubliez pas d'appeler la mthode saveToFlash() du module si le rglage doit tre prserv.

    Paramtres :newval une chane de caractres reprsentant le nom logique du capteur de CO2

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    carbondioxide.set_lowestValue()Modifie la mmoire de valeur minimale observe.

    int set_lowestValue( double newval)

    Paramtres :newval une valeur numrique reprsentant la mmoire de valeur minimale observe

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    carbondioxide.set_userData()Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard l'aide de la mthode get_userData.

  • www.yoctopuce.com 35

    void set_userData( object data)

    Cet attribut n'es pas utilis directement par l'API. Il est la disposition de l'appelant pour stocker un contexte.

    Paramtres :data objet quelconque mmoriser

    3.4. Interface de la fonction ColorLedLa librairie de programmation Yoctopuce permet de piloter une led couleur aussi bien en coordonnes RGB qu'en coordonnes HSL, les conversions RGB vers HSL tant faites automatiquement par le module. Ceci permet aisment d'allumer la led avec une certaine teinte et d'en faire progressivement varier la saturation ou la luminosit. Si ncessaire, vous trouverez plus d'information sur la diffrence entre RGB et HSL dans la section suivante.

    Pour utiliser les fonctions dcrites ici, vous devez inclure:yocto_colorled.cs

    Fonction globalesyFindColorLed(func)

    Permet de retrouver une led RGB d'aprs un identifiant donn.

    yFirstColorLed()Commence l'numration des leds RGB accessibles par la librairie.

    Mthodes des objets YColorLedcolorleddescribe()

    Retourne un court texte dcrivant la fonction.

    colorledget_advertisedValue()Retourne la valeur courante de la led RGB (pas plus de 6 caractres).

    colorledget_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    colorledget_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    colorledget_functionDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    colorledget_hardwareId()Retourne l'identifiant unique de la fonction.

    colorledget_hslColor()Retourne la couleur HSL courante de la led.

    colorledget_logicalName()Retourne le nom logique de la led RGB.

    colorledget_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    colorledget_module_async(callback, context)Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    colorledget_rgbColor()Retourne la couleur RGB courante de la led.

    colorledget_rgbColorAtPowerOn()

  • www.yoctopuce.com 36

    Retourne la couleur configure pour tre affichage l'allumage du module.

    colorledget_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    colorledhslMove(hsl_target, ms_duration)Effectue une transition continue dans l'espace HSL entre la couleur courante et une nouvelle couleur.

    colorledisOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    colorledisOnline_async(callback, context)Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    colorledload(msValidity)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    colorledload_async(msValidity, callback, context)Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    colorlednextColorLed()Continue l'numration des leds RGB commence l'aide de yFirstColorLed().

    colorledregisterValueCallback(callback)Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    colorledrgbMove(rgb_target, ms_duration)Effectue une transition continue dans l'espace RGB entre la couleur courante et une nouvelle couleur.

    colorledset_hslColor(newval)Modifie la couleur courante de la led, en utilisant une couleur HSL spcifie.

    colorledset_logicalName(newval)Modifie le nom logique de la led RGB.

    colorledset_rgbColor(newval)Modifie la couleur courante de la led, en utilisant une couleur RGB (Rouge Vert Bleu).

    colorledset_rgbColorAtPowerOn(newval)Modifie la couleur que la led va afficher spontanment l'allumage du module.

    colorledset_userData(data)Enregistre un contexte libre dans l'attribut userData de la fonction, afin de le retrouver plus tard l'aide de la mthode get_userData.

    YColorLed.FindColorLed()Permet de retrouver une led RGB d'aprs un identifiant donn.

    YColorLed FindColorLed( string func)

    L'identifiant peut tre spcifi sous plusieurs formes:

    NomLogiqueFonction NoSerieModule.IdentifiantFonction NoSerieModule.NomLogiqueFonction NomLogiqueModule.IdentifiantMatriel NomLogiqueModule.NomLogiqueFonction

  • www.yoctopuce.com 37

    Cette fonction n'exige pas que la led RGB soit en ligne au moment ou elle est appele, l'objet retourn sera nanmoins valide. Utiliser la mthode YColorLed.isOnline() pour tester si la led RGB est utilisable un moment donn. En cas d'ambigut lorsqu'on fait une recherche par nom logique, aucune erreur ne sera notifie: la premire instance trouve sera renvoye. La recherche se fait d'abord par nom matriel, puis par nom logique.

    Paramtres :func une chane de caractres qui rfrence la led RGB sans ambigut

    Retourne :un objet de classe YColorLed qui permet ensuite de contrler la led RGB.

    YColorLed.FirstColorLed()Commence l'numration des leds RGB accessibles par la librairie.

    YColorLed FirstColorLed( )

    Utiliser la fonction YColorLed.nextColorLed() pour itrer sur les autres leds RGB.Retourne :

    un pointeur sur un objet YColorLed, correspondant la premire led RGB accessible en ligne, ou null si il n'y a pas de leds RGB disponibles.

    colorled.describe()Retourne un court texte dcrivant la fonction.

    string describe( )

    Ce texte inclut toujours le nom de la classe, et peut contenir en sus soit le nom logique de la fonction, soit son identifiant hardware.

    Retourne :une chane de caractres dcrivant la fonction

    colorled.get_advertisedValue()Retourne la valeur courante de la led RGB (pas plus de 6 caractres).

    string get_advertisedValue( )

    Retourne :une chane de caractres reprsentant la valeur courante de la led RGB (pas plus de 6 caractres)

    En cas d'erreur, dclenche une exception ou retourne Y_ADVERTISEDVALUE_INVALID.

    colorled.get_errorMessage()Retourne le message correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    string get_errorMessage( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :une chane de caractres correspondant au message de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

  • www.yoctopuce.com 38

    colorled.get_errorType()Retourne le code d'erreur correspondant la dernire erreur survenue lors de l'utilisation de la fonction.

    YRETCODE get_errorType( )

    Cette mthode est principalement utile lorsque la librairie Yoctopuce est utilise en dsactivant la gestion des exceptions.

    Retourne :un nombre correspondant au code de la dernire erreur qui s'est produit lors de l'utilisation de la fonction

    colorled.get_colorledDescriptor()Retourne un identifiant unique de type YFUN_DESCR correspondant la fonction.

    YFUN_DESCR get_functionDescriptor( )

    Cet identifiant peut tre utilis pour tester si deux instance de YFunction rfrencent physiquement la mme fonction sur le mme module.

    Retourne :un identifiant de type YFUN_DESCR. Si la fonction n'a jamais t contacte, la valeur retourne sera Y_FUNCTIONDESCRIPTOR_INVALID

    colorled.get_hardwareId()Retourne l'identifiant unique de la fonction.

    string get_hardwareId( )

    L'identifiant unique est compos du numro de srie du module et de l'identifiant matriel de la fonction.

    Retourne :une chane de caractres identifiant la fonction En cas d'erreur, dclenche une exception ou retourne Y_HARDWAREID_INVALID.

    colorled.get_hslColor()Retourne la couleur HSL courante de la led.

    int get_hslColor( )

    Retourne :un entier reprsentant la couleur HSL courante de la led

    En cas d'erreur, dclenche une exception ou retourne Y_HSLCOLOR_INVALID.

    colorled.get_logicalName()Retourne le nom logique de la led RGB.

    string get_logicalName( )

    Retourne :une chane de caractres reprsentant le nom logique de la led RGB

    En cas d'erreur, dclenche une exception ou retourne Y_LOGICALNAME_INVALID.

  • www.yoctopuce.com 39

    colorled.get_module()Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    YModule get_module( )

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Retourne :une instance de YModule

    Retourne l'objet YModule correspondant au module Yoctopuce qui hberge la fonction.

    Si la fonction ne peut tre trouve sur aucun module, l'instance de YModule retourne ne sera pas joignable.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et l'instance demande de YModule

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    colorled.get_rgbColor()Retourne la couleur RGB courante de la led.

    int get_rgbColor( )

    Retourne :un entier reprsentant la couleur RGB courante de la led

    En cas d'erreur, dclenche une exception ou retourne Y_RGBCOLOR_INVALID.

    colorled.get_rgbColorAtPowerOn()Retourne la couleur configure pour tre affichage l'allumage du module.

    int get_rgbColorAtPowerOn( )

    Retourne :un entier reprsentant la couleur configure pour tre affichage l'allumage du module

    En cas d'erreur, dclenche une exception ou retourne Y_RGBCOLORATPOWERON_INVALID.

    colorled.get_userData()Retourne le contenu de l'attribut userData, prcdemment stock l'aide de la mthode set_userData.

    object get_userData( )

  • www.yoctopuce.com 40

    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 prcdemment par l'appelant.

    colorled.hslMove()Effectue une transition continue dans l'espace HSL entre la couleur courante et une nouvelle couleur.

    int hslMove( int hsl_target, int ms_duration)

    Paramtres :hsl_target couleur HSL dsire la fin de la transitionms_duration dure de la transition, en millisecondes

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    colorled.isOnline()Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    bool isOnline( )

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Retourne :true si la fonction est joignable, false sinon

    Vrifie si le module hbergeant la fonction est joignable, sans dclencher d'erreur.

    Si les valeurs des attributs en cache de la fonction sont valides au moment de l'appel, le module est considr joignable. Cette fonction ne cause en aucun cas d'exception, quelle que soit l'erreur qui pourrait se produire lors de la vrification de joignabilit.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :callback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction callback

    reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le rsultat boolen

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    colorled.load()Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    YRETCODE load( int msValidity)

  • www.yoctopuce.com 41

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondes

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur. En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    Met en cache les valeurs courantes de la fonction, avec une dure de validit spcifie.

    Par dfaut, lorsqu'on accde un module, tous les attributs des fonctions du module sont automatiquement mises en cache pour la dure standard (5 ms). Cette mthode peut tre utilise pour marquer occasionellement les donnes caches comme valides pour une plus longue priode, par exemple dans le but de rduire le trafic rseau.

    Cette version asynchrone n'existe qu'en Javascript. Elle utilise une fonction de callback plutt qu'une simple valeur de retour, pour viter de bloquer la VM Javascript de Firefox, qui n'implmente pas le passage de contrle entre threads durant les appels d'entre/sortie bloquants.

    Paramtres :msValidity un entier correspondant la dure de validit attribue aux les paramtres chargs, en

    millisecondescallback fonction de callback qui sera appele ds que le rsultat sera connu. La fonction

    callback reoit trois arguments: le contexte fourni par l'appelant, l'objet fonction concern et le code d'erreur (ou YAPI_SUCCESS)

    context contexte fourni par l'appelant, et qui sera pass tel-quel la fonction de callback

    Retourne :rien du tout : le rsultat sera pass en paramtre la fonction de callback.

    colorled.nextColorLed()Continue l'numration des leds RGB commence l'aide de yFirstColorLed().

    YColorLed nextColorLed( )

    Retourne :un pointeur sur un objet YColorLed accessible en ligne, ou null lorsque l'numration est termine.

    colorled.registerValueCallback()Enregistre la fonction de callback qui est appele chaque changement de la valeur publie.

    void registerValueCallback( UpdateCallback callback)

    Ce callback n'est appel que durant l'excution de ySleep ou yHandleEvents. Cela permet l'appelant de contrler quand les callback peuvent se produire. Il est important d'appeler l'une de ces deux fonctions priodiquement pour garantir que les callback ne soient pas appels trop tard. Pour dsactiver un callback, il suffit d'appeler cette mthode en lui passant un pointeur nul.

    Paramtres :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 chane de caractre dcrivant la nouvelle valeur publie.

  • www.yoctopuce.com 42

    colorled.rgbMove()Effectue une transition continue dans l'espace RGB entre la couleur courante et une nouvelle couleur.

    int rgbMove( int rgb_target, int ms_duration)

    Paramtres :rgb_target couleur RGB dsire la fin de la transitionms_duration dure de la transition, en millisecondes

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    colorled.set_hslColor()Modifie la couleur courante de la led, en utilisant une couleur HSL spcifie.

    int set_hslColor( int newval)

    L'encodage est ralis de la manire suivante: 0xHHSSLL.

    Paramtres :newval un entier reprsentant la couleur courante de la led, en utilisant une couleur HSL spcifie

    Retourne :YAPI_SUCCESS si l'opration se droule sans erreur.

    En cas d'erreur, dclenche une exception ou retourne un code d'erreur ngatif.

    colorled.set_logicalName()Modifie le nom logique de la led RGB.

    int set_logicalName