17. Utilisation du Yocto-4-20mA-Tx avec Android
17.5. Contrôle de la fonction CurrentLoopOutput
Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment
de code Java qui utilise la fonction CurrentLoopOutput.
[...]
// 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
currentloopoutput
("TX420MA1-123456.currentLoopOutput");
// Pour gérer le hot-plug, on vérifie que le module est là
if (currentloopoutput.isOnline())
{
// Utilisez currentloopoutput.set_current()
[...]
}
[...]
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.
YCurrentLoopOutput.FindCurrentLoopOutput
La fonction
YCurrentLoopOutput.FindCurrentLoopOutput
4-20mA en fonction 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-4-20mA-Tx avec le numéros de série TX420MA1-123456 que vous
auriez appelé "MonModule" et dont vous auriez nommé la fonction currentLoopOutput "MaFonction",
les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie
qu'une fois, pour éviter toute ambiguïté):
currentloopoutput
("TX420MA1-123456.currentLoopOutput")
currentloopoutput
currentloopoutput
currentloopoutput
currentloopoutput
YCurrentLoopOutput.FindCurrentLoopOutput
utiliser à loisir pour contrôler la sortie sortie 4-20mA.
isOnline
La
méthode
YCurrentLoopOutput.FindCurrentLoopOutput
correspondant est présent et en état de marche.
116
=
YCurrentLoopOutput.FindCurrentLoopOutput
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"
=
YCurrentLoopOutput.FindCurrentLoopOutput
= YCurrentLoopOutput.FindCurrentLoopOutput("TX420MA1-123456.MaFonction")
= YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.currentLoopOutput")
= YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.MaFonction")
= YCurrentLoopOutput.FindCurrentLoopOutput("MaFonction")
isOnline()
android.content.Context
permet de retrouver une sortie
renvoie un objet que vous pouvez ensuite
de
l'objet
permet
de
(ou d'une sous-
renvoyé
par
savoir
si
le
module
www.yoctopuce.com