Articles

Affichage des articles associés au libellé Gestion des événement

Bibliothèque Button

Image
La bibliothèque Button est une autre illustration de l'utilisation des événements en C++ sur l'Arduino en se basant sur le design pattern Observer . En plus de la classe Button permettant d'instancier un bouton, elle fournit également la classe ButtonEvent qui permet d'exploiter les interactions de l'utilisateur du le bouton. De plus, elle propose plusieurs listeners qui permettent de traiter ces interactions dans des contextes différents tout en garantissant un découplage parfait entre la classe Button et les classes réceptrices des interactions. Enum ButtonStatus L'énumération ButtonStatus définit l'état du bouton. Elle peut prendre deux valeurs : BUTTON_RELEASED indique que le bouton est relâché. La tension de la pin de l'Arduino à laquelle le bouton est connecté est positionnée à +5V. BUTTTON_PRESSED indique que le bouton est appuyé. La tention de la pin de l'Arduino à laquelle le bouton est connecté est positionnée à 0V. Classe B...

Utilisation du gestionnaire d'événements : Classe Timer.

Image
Lors d'un précédent article , la conception d'un système de gestion des événements, basé sur le design pattern Observer ,  a été présenté. Celui-ci propose deux classes template C++, EventListenable et EventListener que l'on doit dériver pour construire respectivement les émetteurs et les récepteurs d'événement. Le présent article présente, en exemple d'usage de ce système — la classe Timer — qui émet un événement TimerEvent à intervalle régulier. La classe TimerEvent La première chose à faire lorsque l'on crée un émetteur d'événement, ce de définir la classe de cet événement. Pour l'émetteur Timer , ce sera TimerEvent . class TimerEvent {   Timer* __sender;   public:   TimerEvent(Timer* sender){     this->__sender = sender;   }   Timer* getSender() { return this->__sender; } }; La classe TimerEvent implémente l'événement émis par un Timer . Elle ne contient qu'un attribut __sender correspondant à l'adresse du Timer ...

Gestion des événements en C++ sur Arduino

Image
Lors de la conception d'applications objet, il est utile de disposer d'une bibliothèque de classes permettant de gérer les échanges d'informations entre les objets. Surtout lorsqu'il y a des interactions à prendre en charge entre le système électronique et son environnement réel. C'est d'autant plus vrai sur des applications robotiques où le système reçoit de nombreuses informations issues des capteurs qui équipent celui-ci. Malheureusement l'Arduino ne propose pas ce type de bibliothèque en natif. Cet article propose une bibliothèque, facile à mettre en oeuvre, pour doter les objets d'un mécanisme d'échange d'événements. Seront présentés : Dans un premier temps, une description complète de la conception de cette bibliothèque. Puis, son utilisation pour la conception d'un objet émetteur d'événement (l'objet Timer ). Et enfin, l'utilisation de cet objet émetteur dans un récepteur, avec deux exemples : directement dans u...