22. Programmation avancée
Les chapitres précédents vous ont présenté dans chaque language disponible les fonctions de
programmation de base utilisables avec votre module Yocto-Temperature-IR. Ce chapitre présente
de façon plus générale une utilisation plus avancée de votre module. Les exemples sont donnés
dans le language le plus populaire auprès des clients de Yoctopuce, à savoir C#. Néanmoins, vous
trouverez dans les librairies de programmation pour chaque language des exemples complets
illustrant les concepts présentés ici.
Afin de rester le plus concis possible, les exemples donnés dans ce chapitre ne font aucune gestion
d'erreur. Ne les copiez pas tels-quels dans une application de production.
22.1. Programmation par événements
Les méthodes de gestion des modules Yoctopuce qui vous ont été présentées dans les chapitres
précédents sont des fonctions de polling, qui consistent à demander en permanence à l'API si
quelque chose a changé. Facile à appréhender, cette technique de programmation est n'est pas la
plus efficace ni la plus réactive. C'est pourquoi l'API de programmation Yoctopuce propose aussi un
modèle de programmation par événements. Cette technique consiste à demander à l'API de signaler
elle-même les changements importants dès qu'ils sont détectés. A chaque fois qu'un paramètre clé
change, l'API appelle une fonction de callback que vous avez prédéfinie.
Détecter l'arrivée et le départ des modules
La gestion du hot-plug est importante lorsque l'on travaille avec des modules USB, car tôt ou tard
vous serez amené à brancher et débrancher un module après le lancement de votre programme.
L'API a été conçue pour gérer l'arrivée et le départ inopinés des modules de manière transparente,
mais votre application doit en général en tenir compte si elle veut éviter de prétendre utiliser un
module qui a été débranché.
La programmation par événements est particulièrement utile pour détecter les branchements/
débranchements de modules. Il est en effet plus simple de se faire signaler les branchements, que
de devoir lister en permanence les modules branchés pour en déduire ceux qui sont arrivés et ceux
qui sont partis. Pour pouvoir être prévenu dès qu'un module arrive, vous avez besoin de trois
morceaux de code.
Le callback
Le callback est la fonction qui sera appelée à chaque fois qu'un nouveau module Yoctopuce sera
branché. Elle prend en paramètre le module concerné.
static
void deviceArrival(YModule
m)
www.yoctopuce.com
165