Bonjour tout le monde !
Pour commencer je m’excuse du manque de nouvelles depuis le mois dernier, les semaines ont été assez mouvementées et je n’ai pas eu beaucoup de temps…
Merci JP pour la dernière version de la DLL ! Comme j’ai eu plus de temps ces deux dernières semaines je me suis plongé pleinement dedans !
Pour commencer j’ai parcouru les 7000 et quelques lignes de la DLL… et je me suis rendu compte que le code manquait cruellement de mise en forme et qu’il y avait beaucoup de « petites » choses qui pouvaient poser de gros problèmes. J’ai donc commencé par reformater tout le code (ça a pris du temps) et corriger toutes les petites choses que j’ai vues (des switch case sans default, des bloc if else sans accolades ou encore des chaînages de if elseif sans else…).
Après ça la DLL est devenue bien plus stable, j’ai dû avoir un seul plantage du soft en deux semaines… autant dire quasiment aucun. J’ai aussi résolu le problème des messages infini, enfin de compte la DLL faisait un peu n’importe quoi ! Et fais pas mal de petites choses en plus.
Donc en résumé actuellement
- La DLL est relativement stable, les plantages ont quasiment disparu.
- La DLL supporte le mode debug de la centrale (ce qui est très utile !).
- La commande des trains fonctionne très bien.
- La commande des aiguillages fonctionne bien elle aussi.
- La rétro-signalisation fonctionne plutôt bien malgré un ou deux faux positif que j’ai constaté sur deux jours de tests (ce qui est assez négligeable, mais je pense savoir comment résoudre ce problème)
- Et comme nous avions le temps non avons tenté l’étalonnage d’un train et après une heure d’étalonnage, ce fut une réussite !
La seule chose que nous n’avons pas pris le temps de tester est la lecture/écriture des CVs, c’est donc le sujet de test du weekend prochain.
A ce stade je pense que les étapes 1 à 5 sont validées (malgré le manque de test sur les CVs).
Pour en revenir à la rétro-signalisation, mon oncle et moi utilisons l’implémentation de Xavier dans la centrale DCCpp (disponible sur le site de Philippe
a cette adresse), à vrais dire je crois que c’est la seule implémentation que nous avons trouvé assez stable et poussé. Et elle fonctionne très bien alors pourquoi vouloir réinventer la roue.
N’ayant pas de réseau, j’effectue les tests sur le réseau de mon oncle (qui se reconnaîtra en passant par-là) dont voici le dessin avec toute la configuration des aiguillages, des detecteurs etc
Hier en mode run une bonne partie de l’après-midi nous n’avons constaté aucun problème, la loco virtuelle était très synchro avec la réelle, les commandes de vitesse ainsi que le retour d’info de la rétro-signalisation ont fonctionné sans problème. Nous attendons maintenant les décodeurs d’aiguillage que nous faisons fabriquer par JLC PCB car ceux actuellement installé ne fonctionnent plus correctement et après ça nous entamerons des tests de pilotage automatique avec plusieurs loco sur le réseau !
En attendant j’ai repéré deux points d’améliorations de la DLL à savoir le scan des ports com qui mérite d’être optimisé (le travail avait déjà été commencé en plus) ainsi que le mode RTS pour les clones chinois. C’est donc les points sur lesquels je vais me pencher cette semaine en attendant de pouvoir faire les prochains tests (CV et pilotage automatique) sur le réseau de mon oncle. Ce qui rendrais CDM-Rail compatible avec les clones chinois et aussi bien plus rapide pour la connexion à la centrale.
Pour ceux qui passent par ici et qui souhaitent faire quelques tests voici la DLL testée ce weekend avec toutes les améliorations citées dans ce messages, vos retour (bon ou mauvais) seront les bienvenue !
Mathieu