10. Utilisation du Yocto-I2C en C++
YAPI::RegisterHub("usb",
[...]
// On récupère l'objet permettant d'intéragir avec le module
YI2cPort
*i2cport;
i2cport
= YI2cPort::FindI2cPort("YI2CMK01-123456.i2cPort");
// Pour gérer le hot-plug, on vérifie que le module est là
if(i2cport->isOnline())
{
// Utiliser i2cport->i2cSendAndReceiveBin()
[...]
}
Voyons maintenant en détail ce que font ces quelques lignes.
yocto_api.h et yocto_i2cport.h
Ces deux fichiers inclus permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api.h
les modules contenant un port I2C, comme le Yocto-I2C.
YAPI::RegisterHub
La fonction
YAPI::RegisterHub
doivent être recherchés. Utilisée avec le paramètre
modules connectés localement à la machine. Si l'initialisation se passe mal, cette fonction renverra
une valeur différente de
problème.
YI2cPort::FindI2cPort
La fonction
YI2cPort::FindI2cPort
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-I2C avec le
numéros de série YI2CMK01-123456 que vous auriez appelé "MonModule" et dont vous auriez
nommé la fonction i2cPort "MaFonction", les cinq appels suivants seront strictement équivalents
(pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
YI2cPort
*i2cport
YI2cPort
*i2cport
YI2cPort
*i2cport
YI2cPort
*i2cport
YI2cPort
*i2cport
YI2cPort::FindI2cPort
contrôler le port I2C.
isOnline
La méthode
isOnline()
le module correspondant est présent et en état de marche.
set_i2cMode
La méthode
set_i2cMode()
vitesse de communication sur le bus I2C.
set_i2cVoltageLevel
La méthode
set_i2cVoltageLevel()
communication du bus I2C (la ligne SDA et la ligne SCL).
reset
La méthode
reset()
port série.
62
errmsg);
doit toujours être utilisé,
initialise l'API de Yoctopuce en indiquant où les modules
, et retournera via le paramètre
YAPI_SUCCESS
permet de retrouver un port I2C en fonction du numéro de
= YI2cPort::FindI2cPort("YI2CMK01-123456.i2cPort");
= YI2cPort::FindI2cPort("YI2CMK01-123456.MaFonction");
= YI2cPort::FindI2cPort("MonModule.i2cPort");
= YI2cPort::FindI2cPort("MonModule.MaFonction");
= YI2cPort::FindI2cPort("MaFonction");
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet returné par
de l'objet returné par
yocto_i2cport.h
, elle permet de travailler avec les
"usb"
YI2cPort::FindI2cPort
yFindI2cPort
configure la tension utilisée sur les lignes de
YI2cPort.FindI2cPort
est nécessaire pour gérer
un explication du
errmsg
permet de savoir si
permet de configurer la
vide tous les tampons du
www.yoctopuce.com