Effectivement c'est énorme et curieusement la doc de la sourisD17 fait... 17 pages !
J'ai une approche différente de la gestion de mon réseau,
voir ici.
J'interconnecte sur un même bus CAN :
- une centrale DCCpp à commandes manuelles par 12 potentiomètres (récupérés sur une table de mixage) qui permet donc le pilotage manuel de 12 trains (dont un parametrable). Chaque train peut être configuré (adresse, crans aux vitesses caractéristiques 15, 30 60, 90, sens inverse ou non, cran max, etc..) La centrale peut-être pilotée via Can (DCC on/off, mesure de courant, commande de chaque machine et les commandes de conduite sont envoyées sur le Can vers le gestionnaire, ainsi que les DCC on/off.
- une carte de commandes des aiguilles à bobine, par messages Can émis par le gestionnaire avec retour de messages d'état des aiguilles ou interrogation
- une carte TCO qui représente le dessin du réseau avec un voyant d'occupation par zone, un inverseur pour positionner les aiguilles et 2 leds de position pour chaque aiguille. Cette carte est connectée aux détecteurs d'occupation et c'est elle qui envoie les messages d'occupation au gestionnaire
- quelques satellites V1 adaptés pour des détections RFID (4 pour le moment de chaque coté de la gare principale, pour récupérer les numéros des trains qui passent à ces endroits) et des détections ponctuelles genre zone d'arrêt devant les signaux (j'en ai mis 4 dans la gare principale et 4 dans la gare cachée pour le moment). Ces satellites envoient des messages Can pour les détections et reçoivent des commandes de signaux
- Une centrale de va et vient qui peut fonctionner de façon autonome
- Une centrale de configuration de CVs qui, pour le moment est autonome
- Un gestionnaire de réseau comprenant un Arduino Due, une interface CAN et un écran graphique et tactile 5 pouces (bientôt 7 pouces). C'est lui qui doit assurer le suivi, la régulation, l'affichage sur son propre écran et permettre un certain nombre de commandes de scenarii de circulation
- J'ai prévu d'ajouter plus tard des commandes du gestionnaire et de la centrale avec une passerelle Wi-Fi- Can
Ce projet se veut de rester simple (si on peut dire !) sans PC ni tablette (jusqu'au moment ou la passerelle WiFI-Can existera, bien que je n'envisage pas de développer de soft sur PC/Tablette.
Donc le fonctionnement général s'articule autour de la messagerie Can, avec un identifiant par type d'événement. Le gestionnaire est basé sur celui de Pierre59 : tous les objets zone, aiguilles, signaux, itinéraires et trains sont adaptés pour mon réseau et un "double" graphique réprésente chaque objet sur l'écran, ce qui permet une mise au point facile et pratique.
Il y a donc dans la loop du gestionnaire un Parser qui analyse chaque message Can et fait ce qu'il y a à faire.
Je n'ai pas fini de développer le suivi et la régulation pour tous les trains, en m'attachant d'abord de ne traiter que les trains automatiques (avec des horaires) et en laissant les manoeuvres en manuel (ce qui peut arrêter un train automatique pendant une manoeuvre).
Pierre59 constatera que je n'avance pas vite, mais je fais durer le plaisir
Et je pense que ton projet va m'aider à avancer et à découvrir ce que j'ai oublié. Cependant je fais des hypothèses simplificatrices qui vont probablement poser problème dans des cas particuliers, mais j'adapterai en conséquence.
En tout cas merci pour ton partage.