15. Utilisation du Yocto-MaxiDisplay en TypeScript
import { YAPI, YErrorMsg,
async function startDemo(args: string[]): Promise<void>
{
await YAPI.LogUnhandledPromiseRejections();
// Setup the API to use the VirtualHub on local machine
let errmsg:
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 device to use
let module:
YModule
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: npm run demo <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 méthode
cours de la vie du module. Veillez donc à ne pas appeler cette méthode depuis l'intérieur d'une
boucle.
Énumération des modules
Obtenir la liste des modules connectés se fait à l'aide de la méthode
qui renvoie le premier module trouvé, il suffit ensuite d'appeler la méthode
objet pour trouver les modules suivants, et ce tant que la réponse n'est pas un
petit exemple listant les module connectés
import { YAPI, YErrorMsg,
async function startDemo(): Promise<void>
{
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
return;
}
refresh();
}
async function refresh(): Promise<void>
{
try {
let errmsg:
await YAPI.UpdateDeviceList(errmsg);
let
module
112
YModule
} from 'yoctolib-cjs/yocto_api_nodejs.js';
= new YErrorMsg();
= YModule.FindModule(args[0]);
> 1) {
string
= args[1];
'+await module.get_logicalName());
< 3) {
YModule
} from 'yoctolib-cjs/yocto_api_nodejs.js';
YErrorMsg
= new YErrorMsg();
= YModule.FirstModule();
'+errmsg.msg);
+
newname
+ ")");
[newLogicalName]");
saveToFlash()
YModule.FirstModule()
127.0.0.1');
cable)\n");
que 100000 fois au
de cet
nextModule()
. Ci-dessous un
null
www.yoctopuce.com