Yoctopuce Yocto-I2C Mode D'emploi page 181

Table des Matières

Publicité

courante dans sa mémoire non volatile. Pour cela il faut utiliser la méthode
Inversement il est possible de forcer le module à oublier ses réglages courants en utilisant la
méthode
revertFromFlash
d'un module.
#import <Foundation/Foundation.h>
#import "yocto_api.h"
static void usage(const char
{
NSLog(@"usage: %s <serial>
exit(1);
}
int
main
(int
argc,
{
NSError
*error;
@autoreleasepool {
// Setup the API to use local USB devices
if([YAPI
RegisterHub:@"usb"
NSLog(@"RegisterHub error:
return
1;
}
if(argc <
2)
usage(argv[0]);
NSString
*serial_or_name
// use serial or logical name
YModule
*module
if (module.isOnline) {
if
(argc
>= 3) {
NSString
*newname
if
(![YAPI
NSLog(@"Invalid name
usage(argv[0]);
}
module.logicalName
[module saveToFlash];
}
NSLog(@"Current name:
} else {
NSLog(@"%@ not connected (check identification and USB
serial_or_name);
}
[YAPI
FreeAPI];
}
return
0;
}
Attention, le nombre de cycles d'écriture de la mémoire non volatile du module est limité. Passé cette
limite plus rien ne garantit que la sauvegarde des réglages se passera correctement. Cette limite,
liée à la technologie employée par le micro-processeur du module se situe aux alentour de 100000
cycles. Pour résumer vous ne pouvez employer la fonction
cours de la vie du module. Veillez donc à ne pas appeler cette fonction depuis l'intérieur d'une
boucle.
Enumeration des modules
Obtenir la liste des modules connectés se fait à l'aide de la fonction
le premier module trouvé, il suffit ensuite d'appeler la fonction
trouver les modules suivants, et ce tant que la réponse n'est pas un
exemple listant les module connectés
#import <Foundation/Foundation.h>
#import "yocto_api.h"
int
main
(int
argc,
{
www.yoctopuce.com
. Ce petit exemple ci-dessous vous permet changer le nom logique
*exe)
<newLogicalName>\n", exe);
const char
* argv[])
:&error] != YAPI_SUCCESS) {
%@", [error localizedDescription]);
=
[NSString
=
[YModule
FindModule:serial_or_name];
=
[NSString
stringWithUTF8String:argv[2]];
CheckLogicalName:newname]) {
(%@)\n", newname);
=
newname;
%@\n", module.logicalName);
const char
* argv[])
21. Utilisation du Yocto-I2C en Objective-C
stringWithUTF8String:argv[1]];
cable)\n",
saveToFlash
nextModule()
saveToFlash
que 100000 fois au
qui renvoie
yFirstModule()
de cet objet pour
. Ci-dessous un petit
NULL
.
173

Publicité

Table des Matières
loading

Table des Matières