Auteur Sujet: Problème de lecture et programmation de CVs avec DCC++  (Lu 55423 fois)

dmskd

  • Newbie
  • *
  • Messages: 45
  • Arduino et N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #15 le: avril 18, 2020, 03:24:34 pm »
Bonjour,

Ma centrale est un Arduino Nano avec le driver LMD18200 et j'utilise la bibliothèque DCCpp.
Comme je n'avais pas de MAX sous la main, j'ai mis la détection de courant directement sur la broche 8 du LMD.
Sans modifier ACK_SAMPLE_THRESHOLD, la lecture de CV sur voie de programmation fonctionne très bien avec un décodeur Uhlenbrok, un Trix, un Zimo et un LaisDCC.
MAIS ça ne fonctionne pas avec mes décodeurs CT Elektronik (DCX74 et 75).

Quelqu'un saurait-il ce qui peut causer cette différence de comportement ?

Cordialement,
Dominique
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #16 le: avril 18, 2020, 03:39:37 pm »
Bonjour,

Moi non plus je n’arrive pas à lire les CVs de décodeurs CT Elektronic.

J’ai contacté la boîte, expliqué le problème, mais je n’ai pas eu de réponse.

La solution est de programmer les CVs sans réponse sur la voie principale en fournissant l’adresse du décodeur) et de vérifier à l’usage s’ils sont pris en compte .

Cordialement,
Dominique

dmskd

  • Newbie
  • *
  • Messages: 45
  • Arduino et N
    • Voir le profil
Re : Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #17 le: avril 18, 2020, 04:21:09 pm »
J’ai contacté la boîte, expliqué le problème, mais je n’ai pas eu de réponse.

Je leur ai également envoyé un mail ce matin.
On verra ...
Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #18 le: mai 17, 2020, 03:16:37 pm »
J'ai modifié le code checkAcknowlegde  pour rester dans la boucle même quand le test est positif et tout ce passe bien.

Bonjour Jean Paul,

je suis loin de savoir modifier une librairie mais j'ai les mêmes problèmes de programmation ou de lecture de CVs sur certains décodeurs. J'ai essayé de trouver où mettre tes modifications mais je me retrouve avec des erreurs de compilation. Peut-être que quelqu'un d'autre a eu plus de chance que moi.

Aurais-tu la gentillesse de mettre le fichier PacketRegister.cpp (je pense que c'est bien lui que tu as modifié) en pièce jointe pour que je puisse faire un essai ?

Merci par avance et bon dimanche AM.

Cordialement
Antoine

Jean-Paul

  • Newbie
  • *
  • Messages: 28
  • Z
    • Voir le profil
Re : Re : Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #19 le: mai 17, 2020, 10:47:16 pm »
J'ai modifié le code checkAcknowlegde  pour rester dans la boucle même quand le test est positif et tout ce passe bien.

Bonjour Jean Paul,

je suis loin de savoir modifier une librairie mais j'ai les mêmes problèmes de programmation ou de lecture de CVs sur certains décodeurs. J'ai essayé de trouver où mettre tes modifications mais je me retrouve avec des erreurs de compilation. Peut-être que quelqu'un d'autre a eu plus de chance que moi.

Aurais-tu la gentillesse de mettre le fichier PacketRegister.cpp (je pense que c'est bien lui que tu as modifié) en pièce jointe pour que je puisse faire un essai ?

Merci par avance et bon dimanche AM.

Cordialement
Antoine

Bonsoir Antoine,

Je mets ci-joint le fichier en question avec mes modifications expliquées dans mon message précédent.

Malheureusement depuis, j'ai aussi reçu des décodeurs D&H ( il s'agit en fait de décodeurs prémontés sur des cartes VELMO 'facile' à installer dans des locos Marklin Z électriques ou diesel, pas les vapeurs - voir une autre discussion)

Et cela ne marche pas avec ces décodeurs même après mes modifications. Après beaucoup de recherche (il ya aussi des messages sur trainworld mentionnant ce problème), j'arrive à la conclusion qu'il y a un autre problème plus grave dans la librairie en ce qui concerne l'implementation du paramètre repeat dans la fonction loadPacket et la façon d'utiliser cette valeur dans la macro DCC_SIGNAL (fichier DCCpp.cpp). J'ai une version qui marche à présent pour ma configuration (UNO, motorshield, serial, programmation sur la voie prog uniquement) , mais ce n'est plus une librairie,  ce n'est plus générique et ce n'est pas testé sur d'autres décodeurs.
Je peux partager les modifications que j'ai faites si il y a un intérêt mais cela nécessiterait encore du travail si on veut remettre cela dans la librairie.

Cordialement
Jean-Paul


Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #20 le: mai 17, 2020, 11:03:00 pm »
Un grand merci à toi Jean-Paul, je vais tester ta solution mais cela prendra un peu de temps avant la réponse car c'est surtout toutes les personnes qui ont construit ma souris/centrale sans fil qui en ont besoin, chez moi tous mes décodeurs fonctionnent.

Bon début de semaine.
Cordialement
Antoine

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #21 le: août 15, 2020, 01:47:33 pm »
Bonjour

Ci dessous copie de mon post sur le forum du N  :

Bonjour !

Ce matin , j'ai apporté les modifications préconisées.

Désormais, JMRI reconnait les décodeurs et leur versions. Je peux créer les nouvelles locos rien qu'en les posant sur la voie de programmation  Very Happy

Je peux lire en intégralité toutes les valeurs des CV de toutes les machines en ma possession.

Je peux  piloter toutes les machines sur la voie principale. Very Happy

MAIS  :
Les valeurs des décodeurs D&H récents restent immodifiables sur la voie de programmation. Alors que les anciens le sont à volonté.

Sur la voie principale, j'arrive à changer les CV1, malgré la réception d'un message d'erreur.
Je n'ai pas tenté de modifier d'autres CV sur la voie principale, j'ai vraiment trop peur de cramer quelque chose.

Je cherche donc encore.

Dans le fil de Trainboard, il est question à un moment donné de 2 "onglets" à modifier. Mais ils ne disent pas ce qu'il faut faire dans le 2e !
Malheureusement, je n'arrive pas à m'inscrire à Trainboard pour récupérer les zip censés regrouper toutes les modifications à effectuer.
Je ne reçois pas le mail pour activer mon compte ... bizarre.

Je continue à chercher.

Si l'un de vous est membre de Trainboard, peut-il m'envoyer les fichiers zip proposés dans le 12eme message de ce sujet ?
https://www.trainboard.com/highball/index.php?threads/dcc-issues-with-d-h-10c-resolved.106064/

Par avance merci !
Le néophyte de service !
Adhérent AFAN

bigboy

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #22 le: août 15, 2020, 01:59:23 pm »
Bonjour,

Voilà le zip demandé.

Bien à vous.
Gérard

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #23 le: août 15, 2020, 04:10:34 pm »
Milles merci

Yapuka essayer :)
Le néophyte de service !
Adhérent AFAN

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #24 le: août 15, 2020, 05:55:34 pm »
Je me réponds au lieu d'éditer mon précédent message, pour éviter que ce post ne passe inaperçu

J'ai apporté les modifications décrites dans les deux fichiers précédemment communiqués par bigboy.
Pour mieux comprendre, au lieu de remplacer les fichiers, j'ai joué aux "8 erreurs".

Car oui, il n'y a que 8 modifications à faire, en tout, pour que TOUT FONCTIONNE ! correctement.

Je suis trop content, et en prime  ça m'a bien occupé mon 15 aout coincé à la maison  :)

Rappel de ma configuration  : LA "Centrale JMRI"  décrite sur ce site (qui n'utilise pas DCCpp mais le DCC++ original), liaison Ethernet  et des décodeurs D&H récents, mais récalcitrants ! Les anciens étant bien plus malléables ... ;)

Voici les modifications apportées :
Dans l'IDE ARDUINO :

dans  l'onglet "PacketRegister.cpp"
- modifier les lignes  238 et 262 en : loadPacket(0,bRead,3,1);
- "commenter" les lignes 303et 361 pour qu'elles ne s'exécutent pas.
- modifier les lignes  318 et 376 en : loadPacket(0,bWrite,3,1);

 dans l'onglet "PacketRegister.h" :
- Ligne  18  :  remplacer 500 par 250
- Ligne 20  :   remplacer 30 par 5


Jérôme, trop trop content !
Thierry, maintenant je vais essayer de comprendre pourquoi  ma petite centrale "DCDCC" ne veut pas afficher mes CV :)
« Modifié: août 15, 2020, 06:18:56 pm par Jeje_12_34 »
Le néophyte de service !
Adhérent AFAN

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #25 le: août 16, 2020, 05:51:31 pm »
Bonjour à tous,

Citer
Jérôme, trop trop content !

Antoine aussi trop trop content. Cela fait des semaines que je cherche une solution pour certain décodeurs récalcitrants sur ma centrale qui elle tourne sous DCCpp.
Jean-Paul avait proposé une solution que j'ai fini par tester sans résultat.

Par curiosité j'ai téléversé dans ma centrale la version DCC++ avec les 2 PacketRegister modifiés selon le message de Jérôme et bigboy, et là, miracle, aucun soucis pour programmer ce décodeur (loco américaine).

Je m'adresse donc aux "spécialistes" pour savoir si ces modifications apportées aux 2 registres PacketRegister de la version DCC++ ne pourraient pas être apportées aux registres de la version DCCpp. J'ai beau chercher, ce n'est pas du tout le même code dans les 2 versions et je n'ai pas le niveau pour le faire.

Merci par avance à cette âme charitable qui veut bien passer quelques heures à se casser les dents.

Cordialement
Antoine

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #26 le: août 16, 2020, 10:14:27 pm »
Bonsoir Tony

Je pense que j'ai compris comment faire, mais je ne suis pas certain.

vois la page 5 ce post et la réponse de Thierry
https://forum.locoduino.org/index.php?topic=752.60

Je pense qu'il suffit de modifier ces fichiers (avec notepad)  dans ton répertoire  arduino/libraries/DCCpp/src

Je ne peux pas tester, n'ayant aucune centrale sous DCCpp mais demain je teste de faire les modifications pour DcDccNanoController




Le néophyte de service !
Adhérent AFAN

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #27 le: août 16, 2020, 10:42:31 pm »
Merci pour ta réponse Jérôme mais chez moi le PacketRegister.ccp est bien différent dans les versions pp et ++, et n'arrive pas à trouver les endroits à modifier.

Peut-être que d'autres membres ont eu plus de chance...

Cordialement
Antoine

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #28 le: août 17, 2020, 08:42:25 am »
Je crois que je vais faire un point sur ce fichier PacketRegister qui contient les fonctions « DCC » essentielles, que j’ai souvent triturées et testées.

Mais je viens juste de rentrer de vacances reposantes avec mes 6 petits enfants  ???. Laissez moi le temps de me replonger dans le sujet.

Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #29 le: août 17, 2020, 10:11:34 am »
Bonjour à toi Dominique et bonne rentrée,

il n'y a aucune urgence, reprends notre rythme de retraité heureux bien tranquillement. Après des "vacances" avec 6 petits loups tu as bien mérité quelques jours de repos  :)

Amicalement
Antoine