12. Utilisation du Yocto-IO avec Android
12.5. Contrôle de la fonction DigitalIO
Il suffit de quelques lignes de code pour piloter un Yocto-IO. Voici le squelette d'un fragment de code
Java qui utilise la fonction DigitalIO.
[...]
// On active la détection des modules sur USB
YAPI.EnableUSBHost(this);
YAPI.RegisterHub("usb");
[...]
// On récupère l'objet permettant de communiquer 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())
{
// Utilisez digitalio.set_state()
[...]
}
[...]
Voyons maintenant en détail ce que font ces quelques lignes.
YAPI.EnableUSBHost
La fonction
YAPI.EnableUSBHost
fonction prend en argument un objet de la classe
classe). Si vous comptez uniquement vous connecter à d'autres machines par IP vous cette fonction
est factultative.
YAPI.RegisterHub
La fonction
YAPI.RegisterHub
être recherchés. Le paramètre est l'adresse du virtual hub capable de voir les modules. Si l'on passe
la chaine de caractère
machine. Si l'initialisation se passe mal, une exception sera générée.
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..
82
initialise l'API avec le Context de l'application courante. Cette
initialise l'API de Yoctopuce en indiquant où les modules doivent
, l'API va travailler avec les modules connectés localement à la
"usb"
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet renvoyé par
android.content.Context
permet de retrouver un port d'E/S digital en fonction
YDigitalIO.FindDigitalIO
YDigitalIO.FindDigitalIO
(ou d'une sous-
permet de
permet
www.yoctopuce.com