12. Utilisation du Yocto-Demo en C#
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 déroulant). 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.
Ensuite, ajoutez de la même manière la dll
4
. Puis depuis la fenêtre Explorateur de solutions, effectuez un clic droit sur la DLL, choisissez
dll
Propriété et dans le panneau Propriétés, mettez l'option Copier dans le répertoire de sortie à
toujours copier. Vous êtes maintenant prêt à 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
intégrez dans une application dotée d'une interface graphique.
12.3. Contrôle de la fonction Led
Il suffit de quelques lignes de code pour piloter un Yocto-Demo. Voici le squelette d'un fragment de
code C# qui utilise la fonction Led.
[...]
string
errmsg = "";
YLed led;
// On récupère l'objet représentant le module (ici connecté en local sur USB)
YAPI.RegisterHub("usb", errmsg);
led = YLed.FindLed("YCTOPOC1-123456.led");
// Pour gérer le hot-plug, on vérifie que le module est là
if (led.isOnline())
{
// Utiliser led.set_power(): ...
}
Voyons maintenant en détail ce que font ces quelques lignes.
YAPI.RegisterHub
La fonction
YAPI.RegisterHub
être recherchés. Utilisée avec le paramètre
connectés localement à la machine. Si l'initialisation se passe mal, cette fonction renverra une valeur
différente de
YAPI.SUCCESS
YLed.FindLed
La fonction
YLed.FindLed
module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des noms logiques
que vous auriez préalablement configurés. Imaginons un module Yocto-Demo avec le numéros de
série 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 définie qu'une fois, pour éviter toute ambiguïté):
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");
renvoie un objet que vous pouvez ensuite utiliser à loisir pour contrôler la led.
YLed.FindLed
4
Pensez à changer le filtre de la fenêtre de sélection de fichiers, sinon la DLL n'apparaîtra pas
64
yapi.dll
initialise l'API de Yoctopuce en indiquant où les modules doivent
"usb"
, et retournera via le paramètre
, permet de retrouver une led en fonction du numéro de série de son
, qui se trouve dans le répertoire
, elle permet de travailler avec les modules
une explication du problème.
errmsg
Sources/
www.yoctopuce.com