10. Utilisation du Yocto-Demo en Objective-C
}
int main(int
argc,
{
NSError
*error;
if(argc <
3) {
usage();
}
@autoreleasepool {
NSString
*target =
NSString
*on_off =
YLed
*led;
if([YAPI RegisterHub:@"usb":
NSLog(@"RegisterHub error:
return
}
if([target
led =
}else{
led =
}
if
([led
isOnline]) {
if
([on_off
[led set_power:Y_POWER_ON];
else
[led set_power:Y_POWER_OFF];
} else {
NSLog(@"Module not connected (check identification and USB
}
}
return
0;
}
Il n'y a que peu de lignes véritablement importantes dans le code précédent. Nous allons les
expliquer en détail.
yocto_api.h et yocto_led.h
Ces deux fichiers importés permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api.h
modules contenant une led, comme le Yocto-Demo.
[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.
[Led FindLed]
La fonction
[Led FindLed]
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-Demo avec le numéros de
série YCTOPOC1-123456 que vous auriez appelé "MonModule" et dont vous auriez nommé la
fonction led "MaFonction", les cinq appels suivants seront strictement équivalents (pour autant que
MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
YLed *led = [YLed FindLed:@"YCTOPOC1-123456.led"];
YLed *led = [YLed FindLed:@"YCTOPOC1-123456.MaFonction"];
YLed *led = [YLed FindLed:@"MonModule.led"];
YLed *led = [YLed FindLed:@"MonModule.MaFonction"];
YLed *led = [YLed FindLed:@"MaFonction"];
[YLed FindLed]
52
const char
*
argv[])
[NSString
stringWithUTF8String:argv[1]];
[NSString
stringWithUTF8String:argv[2]];
&error]
1;
isEqualToString:@"any"]){
[YLed FirstLed];
[YLed FindLed:[target stringByAppendingString:@".led"]];
isEqualToString:@"on"])
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 une led en fonction du numéro de série de son
renvoie un objet que vous pouvez ensuite utiliser à loisir pour contrôler la led.
!=
YAPI_SUCCESS) {
%@", [error localizedDescription]);
yocto_led.h
, elle permet de travailler avec les
@"usb"
cable)\n");
est nécessaire pour gérer les
un explication du
errmsg
www.yoctopuce.com