19. Utilisation du Yocto-IO en Objective-C
// Pour gérer le hot-plug, on vérifie que le module est là
if([digitalio
isOnline])
{
// Utiliser [digitalio set_state]
...
}
Voyons maintenant en détail ce que font ces quelques lignes.
yocto_api.h et yocto_digitalio.h
Ces deux fichiers importés permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api.h
gérer les modules contenant un port d'E/S digital, comme le Yocto-IO.
[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.
[DigitalIO FindDigitalIO]
La fonction
[DigitalIO 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é):
YDigitalIO
*digitalio
YDigitalIO
*digitalio
YDigitalIO
*digitalio
YDigitalIO
*digitalio
YDigitalIO
*digitalio
[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 Xcode 4.2 et ouvrez le projet exemple 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.
#import <Foundation/Foundation.h>
#import "yocto_api.h"
#import "yocto_digitalio.h"
static void
usage(void)
{
NSLog(@"usage: demo <serial_number>
148
doit toujours être utilisé,
initialise l'API de Yoctopuce en indiquant où les modules
, et retournera via le paramètre
YAPI_SUCCESS
=
[YDigitalIO
FindDigitalIO:@"YMINIIO0-123456.digitalIO"];
=
[YDigitalIO
FindDigitalIO:@"YMINIIO0-123456.MaFonction"];
=
[YDigitalIO
FindDigitalIO:@"MonModule.digitalIO"];
=
[YDigitalIO
FindDigitalIO:@"MonModule.MaFonction"];
=
[YDigitalIO
FindDigitalIO:@"MaFonction"];
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet renvoyé par
");
yocto_digitalio.h
, elle permet de travailler avec les
@"usb"
, permet de retrouver un port d'E/S digital en fonction
[YDigitalIO FindDigitalIO]
YDigitalIO.FindDigitalIO
est nécessaire pour
un explication du
errmsg
permet de
permet
www.yoctopuce.com