Bonjour Denis,
Merci pour cette analyse pertinente.
Je vais tenter de te répondre point par point.
C'est vraiment bien. Plein de bonnes idées et visiblement, une bonne maîtrise. Bravo !
Merci
Ne pas s'inquiéter du clignotement, c'est juste une histoire de fréquence de l'IHM vs la fréquence de la caméra. En vrai, tout est net et sans clignotement.
Désolé, mais, si, je m'inquiète. Il faut ajuster la fréquence de l'IHM pour qu'on n'ait plus ce phénomène. Tu vas me dire que je m'intéresse plus à la forme qu'au fond (et, ici, tu as raison), mais je n'ai toujours pas vu la fin de la vidéo (c'est vraiment pénible). Sorry…
Je comprends, c'est pénible. Je t'assure que l'on ne voit rien à l'oeil. Ensuite cela ne vient pas de moi, j'ai beau mettre un vilain delay de 5000 dans la loop, cela clignote pareil. Pas contre mes boutons deviennent inutilisables
Je viens de faire une nouvelle vidéo. J'ai un peu triché, je l'ai filmé en accéléré et je l'ai ralenti lors de l'export. Cela fait bizarre mais ça clignote beaucoup moins !
C'est marrant que tu aies pensé, d'emblée, de gérer du multilingue…
Oui, j'ai essayé. Maintenant à voir si on fera ce choix à la compilation (#define...) ou dynamiquement au travers des menus. Si on le fait dynamiquement, le code va bien grossir donc tant que l'on n'a pas fait une première intégration, je ne bouge pas. Le code est actuellement prévu avec des macros pour tous les textes donc on pourra réaliser la modif sans trop de difficulté.
Je note que tu parles de mémoriser et c'est une excellente chose.
Que doit-on mémoriser quand on a fini la session pour pouvoir la retrouver la prochaine fois ?
Qu'est ce qui est vraiment indispensable ?
Mémorise-t-on des choses périodiquement pour pouvoir repartir suite à coupure courant ? (on appréciera lors d'une démo).
On sera certainement très limité par la taille de l'EPROM.
Pour l'instant je mémorise en RAM et je ne me suis pas encore penché sur l'EEPROM.
Se protéger de la coupure de courant, je n'y avais pas pensé mais est-ce vraiment si pertinent ? Je ne sais pas trop mais ça serait assez facile à faire étant donné que chaque train mémorisé est un objet.
Les données que je garde sont :
- Adresse du train
- Mode : avance, recule, stop
- Vitesse : cran entre 0 et 128
- Tableau des 29 fonctions, je mémorise le dernier état reçu. C'est embettant ces fonctions car on ne sait pas si ce sont des bistables ou des monostables donc quoi mémoriser?
- Dernière fonction pilotée
Je note que tu gère les trois derniers trains dynamiquement. Tu verras quand je publierai très prochainement la dernière version de mon gestionnaire sur laquelle je travaille actuellement qu'on a eu la même idée.
Nickel ! En fait j'en garde 10 en mémoire mais l'afficheur permet simplement d'afficher 3 trains (les 3 premiers de la pile). A chaque réception d'un changement pour un train, je positionne ce train en haut de la pile (indice 0). Les autres sont alors tous décalés des un, jusqu'à l'effacement en cas de 11 trains pilotés.
Concernant les images : très bonne idée d'afficher notre logo au départ (sur ma télé, c'est marqué "Phillips" pendant 10 secondes).
C'était facile à faire et on apporte une petite finition
Par contre, par la suite, je pense qu'on pourrait gagner une ligne ? (encore la forme)
Oui en effet. Pas de souci sur la forme, je trouve aussi que c'est très important.
Pour le fond, j'ai vu que tu pensais afficher la tension et l'intensité (avec 2 chiffres après la virgule).
Franchement, ce serait super bien, mais, à mon avis infaisable tel quel.
On n'a pas de capteurs et on ne va pas pouvoir en mettre comme avec une alim analogique (un en série et un en parallèle) en sortie d'alim.
On a mis un pont diviseur en entrée d'alim (sur la tension continue) donc on devrait avoir une image de la tension correcte je pense. Attention à bien mettre des résistances de 1% ou mieux.
Pour mesurer une tension/intensité DCC, il faut un multimètre haut de gamme ("True RMS") pour que l'indication veuille dire quelque chose.
Ce point là est la grand inconnue, cela fait partie des chosse que l'on doit tester dès réception des cartes. Cela va dépendre de la qualité du signal que l'on sera exploiter de la sortie Sense du L6203. Pas gagné en effet.
D'autre part, ce qui serait intéressant, ce serait la tension/intensité aux bornes du moteur.
Parce que, sinon, ça ne veut pas dire grand-chose puisque ce qui circule dans les rails, ce sont des messages DCC.
C'est une autre histoire en effet. On connait la tension secteur, on connait le cran, il faut connaitre les paramètres de CV puis calculer la tension moyenne sortie du décodeur. Ca peut être rigolo en effet mais cela restera je pense assez théorique et on risque de ne pas être compatible avec tous les décodeurs non ?
Là où on pourrait indiquer quelque chose, c'est en sortie du convertisseur buck puisqu'on est encore en analogique. Là, j'y crois.
Et on pourrait éviter quelques grillages de locos...
Je ne connais pas assez bien le sujet, désolé.
Enfin, comme l'ESP32 sait quel palier DCC est envoyé dans les rails (parmi 14/28/128) et qu'on a la tension maxi en sortie de convertisseur, on pourrait afficher une tension par une simple règle de trois.
Et, cerise sur le gâteau, on pourrait même tenir compte des CV2 à 6 et, ainsi, afficher quasiment la tension exacte aux bornes du moteur.
Voir, par exemple https://www.opendcc.de/french/information/dcc_cv_f.shtml
Nota : la NMRA a mis à jour sa norme électrique DCC (maintenant 9.1) le 7 mars 2020. C'est très récent.
Je pense traduire la doc NMRA des CV. On y apprend, par exemple, que les CV 105 et 106 sont réservés aux utilisateurs…
Tout un sujet en effet !!
Encore merci pour tes remarques.