Auteur Sujet: Arduino et C++  (Lu 1055 fois)

Marc-Henri

  • Full Member
  • ***
  • Messages: 130
    • Voir le profil
    • Modélisme ferroviaire & électronique
Arduino et C++
« 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. 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
« Modifié: juin 27, 2018, 03:35:11 pm par Marc-Henri »

BB9004

  • Invité
Re : Arduino et C++
« Réponse #1 le: juin 27, 2018, 03:35:23 pm »
Bonjour

Intéressant article : à éditer / méditer  ;)

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 500
    • Voir le profil
Re : Arduino et C++
« Réponse #2 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.

Marc-Henri

  • Full Member
  • ***
  • Messages: 130
    • Voir le profil
    • Modélisme ferroviaire & électronique
Re : Arduino et C++
« Réponse #3 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

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1438
    • Voir le profil
Re : Arduino et C++
« Réponse #4 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)
Cordialement

bobyAndCo

  • Global Moderator
  • Sr. Member
  • *****
  • Messages: 362
  • HO avec DCC++
    • Voir le profil
Re : Arduino et C++
« Réponse #5 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.