Gestion Des Erreurs - Yoctopuce Yocto-RS485-V2 Mode D'emploi

Table des Matières

Publicité

É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
while(module) {
let line:
line
+=
console.log(line);
module
}
setTimeout(refresh, 500);
} catch(e) {
console.log(e);
}
}
startDemo();

15.5. Gestion des erreurs

Lorsque vous implémentez un programme qui doit interagir avec des modules USB, vous ne pouvez
pas faire abstraction de la gestion des erreurs. Il y aura forcément une occasion où un utilisateur
aura débranché le périphérique, soit avant de lancer le programme, soit même en pleine opération.
La librairie Yoctopuce est prévue pour vous aider à supporter ce genre de comportements, mais
votre code doit néanmoins être fait pour se comporter au mieux pour interpréter les erreurs signalées
par la librairie.
La manière la plus simple de contourner le problème est celle que nous avons employé pour les
petits exemples précédents de ce chapitre: avant d'accéder à un module, on vérifie qu'il est en ligne
avec la méthode
isOnline()
seconde nécessaire à exécuter les lignes de code suivantes. Ce n'est pas parfait, mais ça peut
suffire dans certains cas. Il faut toutefois être conscient qu'on ne peut pas totalement exclure une
erreur se produisant après le
manière de l'éviter est d'implémenter une des deux techniques de gestion des erreurs décrites ci-
dessous.
www.yoctopuce.com
YModule
} from 'yoctolib-cjs/yocto_api_nodejs.js';
YErrorMsg
= new YErrorMsg();
= YModule.FirstModule();
string
= await module.get_serialNumber();
'('
+ (await module.get_productName()) + ')';
= module.nextModule();
et on suppose ensuite qu'il va y rester pendant la fraction de
isOnline()
15. Utilisation du Yocto-RS485-V2 en TypeScript
127.0.0.1');
, qui pourrait faire planter le programme. La seule
YModule.FirstModule()
nextModule()
. Ci-dessous un
null
de cet
119

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-rs232

Table des Matières