Auteur Sujet: JRMI avec un booster BaseStation DCC++  (Lu 23985 fois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
JRMI avec un booster BaseStation DCC++
« le: décembre 26, 2016, 10:23:51 pm »
Qui aurait déjà utilisé l'application JRMI avec un booster DCC++ ? (la recherche de "JRMI" sur le forum ne renvoie que quelques résultats)
je viens de tenter l'expérience (DecoderPro) avec un succès limité à la mise sous tension et l'extinction de la voie. J'ai eu un démarrage involontaire d'une loco sur la voie principale. Liaison par un port USB du PC Windows.
Je n'ai pas câblé la voie de programmation mais la programmation est prévue par JRMI sur la voie principale.
J'ai tenté d'ajouter une loco (+Nouvelle Loco) et de "Lire le type depuis le décodeur" mais aucune réaction. J'ai le DCC_Uno.ino BaseStation non modifié dans le booster standard à MAX471 (qui avec la version VV de Dominique lit bien l'adresse de la loco, non testé sur place, je suis loin de mes bases).
Quelques idées pour me faire gagner du temps de recherche ? Merci d'avance.
Cordialement

patrick

  • Newbie
  • *
  • Messages: 43
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #1 le: décembre 27, 2016, 01:06:51 am »
"Lire le type depuis le décodeur" mais aucune réaction.

J'ai une expérience limitée avec JMRI.

Lorsque tu ecris: aucune réaction, est-ce que tu obtiens un message d'erreur ou quelque chose?

En règle générale, lorsqu'on a du mal à communiquer avec un décodeur au moment de la programmation, on ajoute une résistance en série avec la loco/décodeur (120Ohm 2W). Peux-tu essayer cela?

Sinon, je ne peux pas trop parler pour JMRI. Je n'ai jamais eu de problème avec le DecoderPRO.

Patrick
« Modifié: décembre 27, 2016, 01:08:52 am par patrick »

CATPLUS

  • Sr. Member
  • ****
  • Messages: 407
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #2 le: décembre 27, 2016, 07:47:44 am »
Bonjour
Je vais t'aider dés que possible

En attendant
http://teamtrack.soforums.com/t1242-JMRI-1.htm?q=jmri

De plus je me serre d'un MEGA2560 comme interface (uniquement pour les entrées (24) et sorties (48)) et le Sprog 2 pour les tests
Cordialement

Best Regards

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : JRMI avec un booster BaseStation DCC++
« Réponse #3 le: décembre 27, 2016, 10:10:44 am »
Lorsque tu ecris: aucune réaction, est-ce que tu obtiens un message d'erreur ou quelque chose?

C'est vraiment aucune réaction : message d'attente indéfiniment dans la barre inférieure. La loco ne frémit même pas.
Mais la communication est bien assurée puisque j'allume et éteint le signal DCC.

Merci pour vos réponses. Je n'ai pas de matériel sous la main, mais j'ai bien noté.

Je penserai également à regarder si le booster répond via la console série. Et également via un sniffer ce qui passe  sur la voie.
« Modifié: décembre 27, 2016, 10:18:25 am par msport »
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #4 le: janvier 02, 2017, 07:34:05 pm »
J'ai donc tenté de passer les commandes depuis la console série :
tout va bien avec :
<1> mise sous tension
<0> mise hors tension
<t1 03 10 1> loco 03 en avant vitesse 10

par contre réponse r 123 123 1 -1 avec <R1 123 123> en recâblant (PMW/DIR/MAX471 de 3/10/A0 en 11/5/A1) pour passer en voie de programmation (il y a eu le petit frémissement bien connu à la première tentative mais sans suite)

j'aimerais aussi pouvoir réaffecter l'adresse de mes locos. Est ce que :
<w 03 1 08> sur la voie de programmation est correct pour passer l'adresse de la loco 03 à 08 ?
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #5 le: janvier 03, 2017, 09:38:45 am »
Bonjour msport,

Effectivement, <w 03 1 08> est le bon code pour passer l'adresse de 3 en 8.

Pour ceux que ça intéresse, vous trouverez sur le lien  (Github de DCC++) https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation tous les codes pour la programmation. Le code de la page SerialCommand.cpp de DCC++ est aussi intéressant à consulter car il est bien documenté (même si on maitrise peu l'anglais ou le C).

J'ai moi même un problème avec certains décodeurs et toutes les fonctions sur la voie de programmation sont indisponibles pour ces décodeurs alors que tout fonctionne parfaitement avec d'autres décodeurs. J'ai le message que tu reportes <R1 123 123> qui renvoie <r 123 123 1 -1> avec le -1 qui indique une erreur. Et cela est vrai également bien sûr pour <R2 123 123>,  <R3 123 123>, <Rn 123 123>...

Dominique a eu aussi un moment le problème mais je ne sais pas s'il a trouvé la solution.
Il serait intéressant si nous sommes plusieurs dans ce cas de faire des recoupements (marque du décodeur, modèle etc...) pour essayer de cerner le problème.

Dans tous les cas, avant de tout bousculer, il est vraisemblable que tu n'ais pas fait d'erreur et que le problème soit dans DCC++. Il faudrait aussi se reporter aux posts sur http://www.trainboard.com/ pour ceux qui n'ont pas trop de problèmes avec l'anglais !


A suivre donc...

« Modifié: janvier 03, 2017, 09:50:44 am par bobyAndCo »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #6 le: janvier 03, 2017, 10:00:53 pm »
Bonsoir bobyAndCo,

résultat de mes tentatives :

d'abord la résistance de 120 ohms ne change rien, ni en mieux, ni en pire ...

ensuite le sniffer sur la voie de programmation ne voit rien passer pour : <w 03 1 08> editet pour cause, ce n'est pas la bonne syntaxe, <w 1 08 123 123> devrait aller !

par contre, pour <R1 123 123> il voit bien la question, mais j'imagine pas les réponses éventuelles puisqu'elles sont sous forme de courant et non de code, Dominique qui a écrit le sniffer pourra probablement décoder ...

Le décodeur est un Lenz (probablement un mini puisque dans le petit locotracteur V36).
J'avais également fait une tentative avec une loco numérisée avec un décodeur Lenz standard V2 avec les mêmes résultats.
Le programme du booster est le BaseStation V1.2.1+

Merci de vos aides.
« Modifié: janvier 03, 2017, 11:52:27 pm par msport »
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #7 le: janvier 04, 2017, 08:28:29 pm »
Bonsoir msport,

Attention à la rédaction de tes messages adressés à DCC++. Tout d'abord, <w 03 1 08> est bien le bon message pour changer l'adresse d'une loco sur la voie principale.

/***** WRITE CONFIGURATION VARIABLE BYTE TO ENGINE DECODER ON MAIN OPERATIONS TRACK  ****/

    case 'w':      // <w CAB CV VALUE>
      /*
            writes, without any verification, a Configuration Variable to the decoder of an engine on the main operations track

            CAB:  the short (1-127) or long (128-10293) address of the engine decoder
            CV: the number of the Configuration Variable memory location in the decoder to write to (1-1024)
            VALUE: the value to be written to the Configuration Variable memory location (0-255)

            returns: NONE

Sur la voie de programmation le message est <W 1 08 123 123> (W en majuscule et non minuscule)

/***** WRITE CONFIGURATION VARIABLE BYTE TO ENGINE DECODER ON PROGRAMMING TRACK  ****/

    case 'W':      // <W CV VALUE CALLBACKNUM CALLBACKSUB>
      /*
            writes, and then verifies, a Configuration Variable to the decoder of an engine on the programming track

            CV: the number of the Configuration Variable memory location in the decoder to write to (1-1024)
            VALUE: the value to be written to the Configuration Variable memory location (0-255)
            CALLBACKNUM: an arbitrary integer (0-32767) that is ignored by the Base Station and is simply echoed back in the output - useful for external programs that call this function
            CALLBACKSUB: a second arbitrary integer (0-32767) that is ignored by the Base Station and is simply echoed back in the output - useful for external programs (e.g. DCC++ Interface) that call this function

            returns: <r CALLBACKNUM|CALLBACKSUB|CV Value)
            where VALUE is a number from 0-255 as read from the requested CV, or -1 if verificaiton read fails

Tu parles d'une resistance de 120 ohms mais je ne vois pas à quoi tu fais référence et il n'y a effectivement pas besoin de resistance. Par contre, je crois me souvenir qu'il faut que A0 (voie principale) et A1 (voie de programmation) soient alimentées (mesure du courant à partir du/des MAX471).

Normalement <w 03 1 08> doit fonctionner sur la voie principale même si ton décodeur ne réagit pas sur la vie de programmation.

Si tu as encore des soucis, donne nous ta config (UNO ou MEGA).

Bon courage.

Christophe

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #8 le: janvier 04, 2017, 10:10:56 pm »
Bonsoir à tous,
désolé pour mes messages "corrigés" tardivement ...

la résistance de 120 ohms était proposée dans la réponse de Patrick du 27/12.

ma bible est :
https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation
mais en fin de soirée, j'ai un peu de mal à lire. (j'ai rendez-vous chez l'ophtalmo vendredi)
et effectivement j'ai mélangé voie principale et voie de programmation. Merci de l'avoir pointé du doigt.

je m'y remets dès que possible. Merci de l'aide.

Mon booster est sur Uno + MAX 471 + LMD18200.

Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #9 le: janvier 05, 2017, 12:41:50 am »
msport,

Vérifie bien tes câblages, surtout si tu changes pour passer de la voie de programmation à la voie principale. On a vite fait de se tromper et câble bien aussi A0 et A1 comme précisé dans mon post précédent.

A toutes fins utiles, voici le câblage pour ta config.

Bien à toi

Christophe


msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #10 le: janvier 05, 2017, 10:53:38 pm »
Merci Christophe pour le schéma, c'est bien celui que j'utilise (et que je revérifie à chaque fois). Et que je teste en faisant tourner la loco avec <t 1 37 10 1> (loco 37)

Ce soir je suis resté avec sur voie principale et ai retenté de modifier l'adresse de la loco 37 en 08 avec <w 37 1 08> sans résultat.
le sniffer a vu passer 5 paquets mais pas pour l'adresse 37 : il m'a affiché : 5@37EC [ avec <w 03 1 08> , c'est 5@3EC ]
pour les paquets vitesse, il affiche, par exemple 232@37>0 (237 paquets vitesse 0 sens 1 pour la loco 37)
Y a t il une question d'adresse courte et d'adresse longue et il faudrait compléter 37 ou 03 et 08 sous forme d'adresses longues ?
J'essaierai demain sur la voie de programmation.
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #11 le: janvier 05, 2017, 11:12:29 pm »
msport,

Je ne crois pas que cela puisse être une question d'adresse courte ou longue. Tu peux essayer mais je n'y crois pas. Tu pilotes bien la traction, je suis étonné que tu ne puisses pas changer l'adresse sur la voie principale. Cela me fait beaucoup plus penser à une compatibilité de décodeur comme je te le disais au début de nos échanges. Peux-tu te procurer une autre loco avec un autre décodeur ESU par exemple et faire la même expérience ?

On va bien trouver !

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #12 le: janvier 06, 2017, 09:41:35 am »
Il faudrait justement identifier les décodeurs qui posent problème et regarder leur doc.

Ainsi que ceux qui fonctionnent et servent de référence.
Personellement les décodeurs Fleischmann ne me posent pas de problème, mais je n'ai pas encore testé toutes les fonctions de DCC++

A suivre ...
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #13 le: janvier 06, 2017, 11:24:00 pm »
Pour l'instant, je n'ai testé qu'avec des Lenz.
J'ai aussi un LAISDCC (non monté) A voir sur mon mini banc.
et peut-être d'autres (à découvrir quand ils me répondront avec leur CV 8)

Mais Dominique, pourquoi le moniteur 1.0.b3 voit passer une adresse 37EC alors qu'on envoie une interrogation à l'adresse 37 ?
Petit souci de décodage du moniteur ou erreur du booster ?
Autre question : est-ce DCC_UnoVV.ino a un autre algorithme de détection de courant que le DCC_Uno.ino original ?

Faut-il ajouter 127 à une adresse courte pour avoir une adresse longue ? ou c'est deux codes sans rapport ?
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : JRMI avec un booster BaseStation DCC++
« Réponse #14 le: janvier 15, 2017, 11:57:20 am »
Bonjour,

finalement, j'ai monté un petit banc avec un moteur 5V de récupération d'un lecteur de DVD pour éliminer autant que possible les faux contacts. J'ai utilisé un booster avec DCC_Uno.ino et un motor shield à L298 sur un arduino Uno (ça simplifie drôlement le câblage en particulier si on alimente en 12V depuis le shield).
J'ai pu lire et programmer sur la voie de programmation. Par contre je n'ai rien pu faire sur la voie principale en dehors de faire tourner le moteur (donc pas lire le CV1, mais ça ne figure pas dans la bible).
J'ai utilisé des décodeurs LAISDCC et des LENZ V2.
Ma conclusion : se méfier des faux contacts et des filtres divers (alimentation des voies et sur les locos)
A suivre quand j'aurais maitrisé un peu mieux l'utilisation des divers CV et programmé les locos.

Merci Christophe pour tes encouragements.
Cordialement