21. Utilisation du Yocto-MaxiDisplay en Objective-C
// Pour gérer le hot-plug, on vérifie que le module est là
if([display
isOnline])
{
// Utiliser [display get_displayLayer]
...
}
Voyons maintenant en détail ce que font ces quelques lignes.
yocto_api.h et yocto_display.h
Ces deux fichiers importés permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api.h
les modules contenant un ecran, comme le Yocto-MaxiDisplay.
[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.
[Display FindDisplay]
La fonction
[Display FindDisplay]
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-MaxiDisplay
avec le numéros de série YD128X64-123456 que vous auriez appelé "MonModule" et dont vous
auriez nommé la fonction display "MaFonction", les cinq appels suivants seront strictement
équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
YDisplay
*display
YDisplay
*display
YDisplay
*display
YDisplay
*display
YDisplay
*display
[YDisplay FindDisplay]
contrôler l'ecran.
isOnline
La méthode
isOnline
module correspondant est présent et en état de marche.
get_displayLayer
La méthode
get_displayLayer()
récupérer un objet correspondant à une des couches de l'écran. Cet objet fourni toutes les routines
graphiques.
Un exemple réel
Lancez Xcode 4.2 et ouvrez le projet exemple correspondant, fourni dans le répertoire Examples/
Doc-GettingStarted-Yocto-MaxiDisplay 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_display.h"
static void
usage(void)
{
NSLog(@"usage: demo <serial_number>
162
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 ecran en fonction du numéro de
=
[YDisplay
FindDisplay:@"YD128X64-123456.display"];
=
[YDisplay
FindDisplay:@"YD128X64-123456.MaFonction"];
=
[YDisplay
FindDisplay:@"MonModule.display"];
=
[YDisplay
FindDisplay:@"MonModule.MaFonction"];
=
[YDisplay
FindDisplay:@"MaFonction"];
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet renvoyé par
");
yocto_display.h
, elle permet de travailler avec les
@"usb"
[YDisplay FindDisplay]
YDisplay.FindDisplay
est nécessaire pour gérer
un explication du
errmsg
permet de savoir si le
permet
www.yoctopuce.com