16. Utilisation du Yocto-MaxiDisplay en JavaScript / EcmaScript
startDemo(process.argv.slice(2));
}
Chaque propriété
xxx
propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode
Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API
()
Modifications des réglages du module
Lorsque que vous souhaitez modifier les réglages d'un module, il suffit d'appeler la fonction
correspondante, cependant cette modification n'a lieu que dans la mémoire vive du
set_xxx()
module: si le module redémarre, les modifications seront perdues. Pour qu'elle soient mémorisées
de manière persistante, il est nécessaire de demander au module de sauvegarder sa configuration
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.
"use
strict";
require('yoctolib-es2017/yocto_api.js');
async function startDemo(args)
{
await YAPI.LogUnhandledPromiseRejections();
// Setup the API to use the VirtualHub on local machine
let
errmsg
= new YErrorMsg();
if(await YAPI.RegisterHub('127.0.0.1', errmsg) != YAPI.SUCCESS) {
console.log('Cannot contact VirtualHub on 127.0.0.1:
return;
}
// Select the relay to use
let
module
= YModule.FindModule(args[0]);
if(await module.isOnline()) {
if(args.length
let
newname
if (!await YAPI.CheckLogicalName(newname)) {
console.log("Invalid name ("
process.exit(1);
}
await module.set_logicalName(newname);
await module.saveToFlash();
}
console.log('Current name:
} else {
console.log("Module not connected (check identification and USB
}
await YAPI.FreeAPI();
}
if(process.argv.length
console.log("usage: node demo.js <serial>
} else {
startDemo(process.argv.slice(2));
}
Attention, le nombre de cycle d'écriture de la mémoire non volatile du module est limité. Passé cette
limite plus rien ne garantit de que la sauvegarde des réglages se passera correctement. Cette limite,
liée à la technologie employé 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.
Énumération des modules
Obtenir la liste des modules connectés se fait à l'aide de la fonction
qui renvoie le premier module trouvé, il suffit ensuite d'appeler la fonction
124
du module peut être lue grâce à une méthode du type
. Ce petit exemple ci-dessous vous permet changer le nom logique
> 1) {
= args[1];
'+await module.get_logicalName());
< 2) {
'+errmsg.msg);
+
newname
+ ")");
[newLogicalName]");
saveToFlash()
YModule.FirstModule()
, et les
get_xxxx()
set_xxx
saveToFlash()
cable)\n");
que 100000 fois au
de cet
nextModule()
www.yoctopuce.com
.