Bonjour à tous,
Après 4 projets d'application des Attiny et Atmega en modélisme ferroviaire, programmés directement en C, je viens de me mettre à l'Arduino.
J'ai l'intention d'en profiter pour me (re-)mettre au C++ pour le système de contrôle de mon nouveau réseau N. Cherchant sur le web, j'ai trouvé un article excellent sur la conception / réalisation de projets Arduino en C++. Je vais essayer cette approche très prochainement.
Voici l'article, en Anglais:
https://paulmurraycbr.github.io/ArduinoTheOOWay.html. Je trouve particulièrement futé la création d'une liste d'objet lors de leurs constructions respectives pour ensuite automatiser l'exécution des fonctions setup et loop de chaque objet.
Comparé à la bibliothèque ScheduleTable de Jean-Luc, l'approche est un peu différente. Ici, chaque classe est responsable de gérer ses timeouts avec des appels à millis(), tandis que ScheduleTable centralise cette gestion.
Enfin, tout comme ScheduleTable, il s'agit ici de de multi-tâches non préemptif, aucune instruction bloquante n'est autorisée, surtout pas delay(). Chaque fonction doit s'efforcer de rendre la main le plus rapidement possible.
Meilleures salutations.
Marc-Henri