7. Utilisation du Yocto-IO en Python
Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code
Python qui utilise la fonction DigitalIO.
[...]
# On active la détection des modules sur USB
errmsg=YRefParam()
YAPI.RegisterHub("usb",errmsg)
[...]
# On récupère l'objet permettant d'intéragir avec le module
digitalio
= YDigitalIO.FindDigitalIO("YMINIIO0-123456.digitalIO")
# Pour gérer le hot-plug, on vérifie que le module est là
if
digitalio.isOnline():
# use digitalio.set_state()
[...]
[...]
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
YDigitalIO.FindDigitalIO
La fonction
YDigitalIO.FindDigitalIO
du numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi
bien utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module
Yocto-IO avec le numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont
vous auriez nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement
équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
digitalio
= YDigitalIO.FindDigitalIO("YMINIIO0-123456.digitalIO")
digitalio
= YDigitalIO.FindDigitalIO("YMINIIO0-123456.MaFonction")
digitalio
= YDigitalIO.FindDigitalIO("MonModule.digitalIO")
digitalio
= YDigitalIO.FindDigitalIO("MonModule.MaFonction")
digitalio
= YDigitalIO.FindDigitalIO("MaFonction")
YDigitalIO.FindDigitalIO
contrôler le port d'E/S digital.
isOnline
La méthode
isOnline()
savoir si le module correspondant est présent et en état de marche.
set_state
La méthode
set_portState()
d'affecter chacune des sorties en une seule fois. Le paramètre est un entier représentant un bitmap:
Bit 0 pour la première sortie, Bit 1 pour la deuxième, etc..
Un exemple réel
Lancez votre interpréteur Python et ouvrez le script correspondant, fourni dans le répertoire
Examples/Doc-GettingStarted-Yocto-IO de la librairie Yoctopuce.
Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois
utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
#!/usr/bin/python
# -*- coding: utf-8 -*-
34
initialise l'API de Yoctopuce en indiquant où les modules doivent
"usb"
, et retournera via l'objet
permet de retrouver un port d'E/S digital en fonction
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet renvoyé par
, elle permet de travailler avec les modules
une explication du problème.
errmsg
YDigitalIO.FindDigitalIO
YDigitalIO.FindDigitalIO
permet de
permet
www.yoctopuce.com