LOCODUINO

Parlons Arduino => Modélisation, Architectures logicielles et matérielles => Discussion démarrée par: Marc-Henri le juin 27, 2018, 11:05:59 am

Titre: Arduino et C++
Posté par: Marc-Henri le juin 27, 2018, 11:05:59 am
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 (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
Titre: Re : Arduino et C++
Posté par: BB9004 le juin 27, 2018, 03:35:23 pm
Bonjour

Intéressant article : à éditer / méditer  ;)
Titre: Re : Arduino et C++
Posté par: Thierry le juin 28, 2018, 12:01:57 am
C'est exactement ce qui est fait dans Commanders et Accessories. Des listes chaînées auto-gérées permettent ensuite de balayer tout ce qui est déclaré et à faire ce qu'il faut sans se poser de question. rien n'est bloquant, et tout le fonctionnement est simultané ou presque.
Titre: Re : Arduino et C++
Posté par: Marc-Henri le juin 28, 2018, 07:57:00 am
Merci beaucoup Thierry pour ce rappel.  :)

Je vais relire en détail les sources de ces modules pour bien débuter en C++.

Belle journée et meilleures salutations.

Marc-Henri
Titre: Re : Arduino et C++
Posté par: Jean-Luc le juin 28, 2018, 09:01:48 am
Bonjour Marc-Henri

Tu peux également regarder ScheduleTable, SlowMotionServo et LightDimmer, c’est la même technique  8)
Titre: Re : Arduino et C++
Posté par: bobyAndCo le juin 28, 2018, 01:44:21 pm
... En utilisant la programmation modulaire à plusieurs fichiers ce qui simplifie la lisibilité, facilite la maintenance et autorise plus facilement la réutilisation de code. L'IDE d'Arduino gère cela assez simplement. Il suffit que tous les fichier soient dans le même dossier que le .ino.