Auteur Sujet: DCC++ BaseStation  (Lu 106062 fois)

ponponmvo

  • Newbie
  • *
  • Messages: 15
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #75 le: décembre 04, 2016, 11:35:42 am »
En complément à mon message précédent, je joins ci-dessous une petite explication de l'utilisation du contrôleur que j'ai décrit. J'ai également ajouté des photos des informations principales sur l'afficheur.

Trois menus sont disponibles et sélectionnables par les touches suivantes de la télécommande :

Menu STOP (touche PAUSE) : coupure du signal DCC vers la voie
Au démarrage, c'est le menu STOP qui est actif; aucun signal n'est envoyé vers la voie.
Si ce menu est activé en cours d'exploitation normale (menu RUN), les valeurs de vitesse des engins de traction sont ramenées à 0; le sens de marche est conservé.

Menu RUN (touche PLAY) : commande des locos (exploitation normale)
Pour commencer l'exploitation normale, appuyez sur la touche PLAY. Sélectionnez la loco que vous souhaitez commander par appui sur la touche qui lui est dédiée (voir les 4 touches du fond sur la photo de la télécommande). La touche la plus à gauche = loco n°1.
Pour régler la vitesse d’une loco, il y deux solutions :
•   Vous utilisez les flèches vers le haut pour augmenter ou vers le bas pour diminuer ; la progression a lieu cran par cran.
•   Vous utilisez le système plus rapides en appuyant sur une des touches du clavier numérique ; un appui sur 4 doit donner un cran 45 qui, sur 8, un 85 etc.

Pour inverser le sens de marche, utilisez les flèches gauche ou droite selon le cas.
Pour allumer les feux, utilisez la touche jaune.
L’écran renseigne sur la première ligne successivement le numéro de la loco sélectionnée (= adresse du décodeur correspondant, ici 62), le cran de marche (ici 25) et les fonctions sélectionnables (ici F = feux).
Sur la deuxième ligne, on peut trouver le menu actif (R=RUN), le sens de marche (ici > = avant) et l’état des fonctions (ici 0=feux allumés, sinon X = éteints).

Menu PROGRAM (touche PROG/CHECK) : configuration des CV
Pour utiliser ce menu, il ne peut y avoir qu'une et une seule loco sur la voie.
Introduisez d'abord le numéro de la CV que vous voulez modifier sans les zéros non significatifs à gauche; donc pour modifier la CV 1, tapez 1 puis confirmez par ENTER. Introduisez ensuite la valeur décimale que vous voulez lui affecter sans les zéros non significatifs à gauche; donc pour la valeur 3, tapez 3 puis confirmez par ENTER. Un point d'exclamation apparaît alors confirmant l'envoi de la commande. Pour retourner au menu RUN, appuyez sur PLAY.
Sur la photo (prise en fin de réglage de la CV 3), la première ligne affiche >6 qui est le dernier chiffre entré par la télécommande, CV NUM 3 qui est le numéro de la CV sélectionnée à l’étape précédente. La deuxième ligne indique P (menu PROGRAM), le point d’exclamation de confirmation de l’envoi de la commande et la valeur sélectionnée pour la CV (ici 6).

Dominique38

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #76 le: janvier 19, 2017, 09:38:32 am »
Bonjour et merci pour les explications sur la liaison ethernet... que je vais mettre en pratique ce week-end.

J'ai juste une petite question sur le choix de la carte ethernet dans le fichier Config.h : quelle différence entre les choix 1 et 2, qui sont tout les deux des shield Ethernet Arduino ?

J'ai une carte Arduino Ethernet Shield 2, quel choix je dois faire ?

Merci d'avance

Bien cordialement

// DEFINE COMMUNICATIONS INTERFACE
//
//  0 = Built-in Serial Port
//  1 = Arduino.cc Ethernet/SD-Card Shield
//  2 = Arduino.org Ethernet/SD-Card Shield

//  3 = Seeed Studio Ethernet/SD-Card Shield W5200

#define COMM_INTERFACE   1

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #77 le: janvier 19, 2017, 11:23:15 am »
Il existe deux shields, l’Arduino Ethernet et  l’Arduino Ethernet 2.

Suite à des différends entre les initiateurs du projet Arduino, vous savez peut être qu’il existe maintenant deux entités qu’il est bien difficile de différencier sauf  par leur marque « Arduino » ou « Genuino » ou plus souvent par leur adresses arduino.cc ou arduino.org. Cela n’est pas sans conséquence pour nous car les IDE par exemple ne sont pas tout à fait les mêmes et les bibliothèques Ethernet non plus.

Pour le shield Ethernet 2, la bibliothèque est celle de arduino.org [Ethernet2-> https://github.com/arduino-org/Arduino]

Pour l’autre shield, c’est la bibliothèque de arduino.cc « Ethernet » qui est incluse quand on télécharge l’IDE.

Mais il existe d’autres shields avec d’autres bibliothèques comme le [W5200-> https://www.seeedstudio.com/W5200-Ethernet-Shield-p-1577.html#]

Dans votre cas, il semble que l'option soit : #define COMM_INTERFACE 2
En cas de doute, le plus simple est sans doute d'essayer une option puis l'autre est de regarder dans le moniteur de l'IDE si l'adresse IP est reconnue (0.0.0.0 -> non reconnue) (192.168.1.xxx -> reconnue)



Dominique38

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : DCC++ BaseStation
« Réponse #78 le: janvier 19, 2017, 09:58:29 pm »
En cas de doute, le plus simple est sans doute d'essayer une option puis l'autre est de regarder dans le moniteur de l'IDE si l'adresse IP est reconnue (0.0.0.0 -> non reconnue) (192.168.1.xxx -> reconnue)

J'ai donc suivi votre conseil, et l'option qui marche est bien avec #define COMM_INTERFACE 2, une fois ajoutée la bibliothèque ethernet2 (version 1.0.3) correspond au shield (avec le chipset Wiznet W5500). Donc merci du conseil efficace  :) :)

Est-ce que je dois faire les modifications proposées pour #define COMM_INTERFACE 1 ?

Merci d'avance

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #79 le: janvier 19, 2017, 10:11:47 pm »
Citer
Est-ce que je dois faire les modifications proposées pour #define COMM_INTERFACE 1 ?

Non bien sûr ! Quand ça marche vaut mieux plus toucher   >:(

Dominique38

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : DCC++ BaseStation
« Réponse #80 le: janvier 20, 2017, 08:05:43 am »
Non bien sûr ! Quand ça marche vaut mieux plus toucher   >:(

oui, bien sûr.
ce que je voulais dire, c'est que c'est la partie ethernet qui marche, je n'ai pas encore testé avec DCC++ basestation et la commande des trains et donc je voulais savoir si il faut que je modifie config.h comme indiqué avec COMM_INTERFACE 1 ?

plnew

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #81 le: janvier 27, 2017, 09:02:23 am »
Bonjour à tous

l'application fournie page 5 (controller_mini_dccpp.zip) par bobyAndCo est superbe, merci pour ce travail.
ne disposant pas du shield ethernet ... :'( je ne peux pas l'utiliser tel qu'elle.

je cherche donc a modifier cette application pour qu'elle utilise la liaison serie (/dev/ttyUSB) plutôt que l'ethernet car mon pc est relié a l' "arduino dcc++ Base Station"

1 - d'après vous est-ce possible facilement et ce lien http://michelletilley.net/2012/03/02/controlling-an-arduino-from-nodejs.html est-il une bonne base de départ
2 - faudra-t-il modifier dcc++ Base Station car dans ce cas j'abandonne directe  :D

Merci d'avance

cordialement
Pascal

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #82 le: janvier 27, 2017, 10:18:45 am »
Bonjour Pascal,

Merci tout d'abord pour votre commentaire. Au delà de faire plaisir à mon égo :), vos retours sont importants pour savoir ce qui est apprécié par la communauté et ce qui ne l'est moins et ainsi orienter les sujets proposés.

Passer par node.js est une excellente idée. Je n'avais pas retenu cette solution car implanter Node et le faire fonctionner est tout de même un peu plus ardu pour la plupart des utilisateurs que de passer par MAMP. Je travaille sur des versions plus élaborées du Controller et sur d'autres parties de l'application : Le TCO dont je parle rapidement http://forum.locoduino.org/index.php?topic=166.msg2448#msg2448 et aussi un gestionnaire de réseau. Et il est vrai que Node est le plus puissance pour faire cela.

Par ailleurs, il faut savoir que Node permet d'exécuter du code en C/C++. On entrevoit tout le potentiel en lien avec l'Arduino.

On ne ventera sans doute jamais assez les qualités de DCC++ Base Station et par la même le travail de son auteur Gregg E. Berman. C'est si bien fait qu'il n'y a rien à changer dans DCC++ Base Station  :) C'est ce qui est très motivant car on sait que nos investissements en développement sont pérennes.

A la question "Est-ce possible facilement ?", il est un peu difficile de répondre. Quel est votre niveau en développement ? Si vous savez implanter Node, je pense que le plus compliqué sera fait. Dans tous les cas, je suis tout à fait disposer à vous aider car c'est une partie qui m'intéresse mais qui n'est pas ma priorité. Qui dit Node dit aussi qu'il n'y a plus grand chose à faire pour faire entrer Raspberry dans nos circuits. Il y a un très gros potentiel. Je préfère d'ailleurs savoir que Node tourne sur Linux que sur "Fenêtre".

Par ailleurs, le travail que vous pourrez faire intéressera la communauté j'en suis certain et j'espère que vous pourrez nous faire des retours.

La version actuelle de ce controller est ici : http://185.14.178.233/locoduino/controller_dccpp/controller.html. Je suis justement en train de faire quelques modifications cosmétiques qui seront rapidement terminées. N'hésitez pas si vous voulez les sources actuelles tout de suite ou les nouvelles probablement lundi au plus tard.

Bien à vous et beaucoup de plaisir avec Locoduino et vos Arduino's.

Christophe
« Modifié: janvier 27, 2017, 01:49:33 pm par bobyAndCo »

plnew

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #83 le: janvier 28, 2017, 05:08:45 pm »
Bonjour Christophe,

mon niveau en developpement est proche de 0 un peu de script bash  ::)

j'ai quand même pris des bouts à droite et à gauche , j'ai commencé a codé mon projet
je vous le joints car j'ai besoins d'un peu d'aides et de conseils

j'ai essayé de détailler avec des commentaires ce que je voulais faire

j'arrive a récupérer par exemple une trame <t1 3 50 0> mais elle a des caractères non voulus {}'' .. comment filtrer en javascript ??? (fonction tr et awk en bash)
j'arrive a envoyer une trame (d'essai) vers le port serie de dcc++ base station qui fait avancer ma loco

votre fichier controler.js attend un retour de l'arduino mais je ne sais comment et quoi lui envoyer ?
function afficheReponse(response) {
$scope.responseServeur = response;
$timeout(clearAfficheResponse, 1000);   // ... pendant 1 seconde
};

j'ai un problème au lancement de votre page qui me donne une erreur dans Log a coté du bouton power
Dès que je mets l'adresse ip de mon serveur  dans  controller.js , qu'attends t-il comme réponse de l'arduino ?  et cela refonctionne dès que je remets $scope.ipArduinoDcc = "192.168.1.200:2560";  ??

d'avance merci pour vos réponse
Cordialement
Pascal




bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #84 le: janvier 28, 2017, 06:03:17 pm »
Bonjour Pascal,

Tout d'abord, vous n'avez pas la dernière version. Ca ne change rien au fonctionnement général mais ça explique :
Citer
J'ai un problème au lancement de votre page qui me donne une erreur dans Log a coté du bouton power

qui est corrigé depuis. Je vous adresserai la version actuelle dès que j'ai fini des évolutions importantes (2-3 jours).

La fonction :

function afficheReponse(response) {
$scope.responseServeur = response;
$timeout(clearAfficheResponse, 1000);   // ... pendant 1 seconde
};

sert à afficher la réponse de DCC++ Base Station quand il y en a une du type <T 1 50 0> quand on a envoyé par exemple avec succès <t1 3 50 0>. Si elle ne fonctionne pas pour l'instant, c'est à dire que Node ne renvoie pas le message au controller, ce n'est pas grave car ce n'est pas bloquant.

Quand vous dites :
Citer
j'arrive a envoyer une trame (d'essai) vers le port serie de dcc++ base station qui fait avancer ma loco

Vous parlez d'un message entré depuis le moniteur de l'IDE ou s'agit il bien d'un message qui part de Node ? Dans le dernier cas, vous n'êtes pas loin du but.

Quand vous dites :
Citer
j'arrive a récupérer par exemple une trame <t1 3 50 0> mais elle a des caractères non voulus {}''

c'est à quel niveau. Dans DCC++ ? Au niveau de Node ? Si c'est au niveau de DCC++, ça voudrait dire que Node relaie le message sous forme d'objet json {}. Mais DCC++ n'en tient pas compte puisqu'il ne retient dans la requette envoyée que ce qui est à partir de "<" jusqu'à ">". Cela ne devrait donc pas poser de problème.

Si c'est au niveau de Node, c'est à dire que Node reçoit ce message du controller, je suis étonné. Mais bon. Il y aurait effectivement moyen de filtrer en Javascript tout bêtement avec "replace"

var str = "{<t1 3 50 0>}";
var res = str.replace("{", "");
res = str.replace("}", "");

donc res = <t1 3 50 0> Ou mieux avec des expressions rationnelles "RegExp" si elles vous sont familières.

Soyez plus précis sur ce point.

Enfin, je ne comprends pas du tout :
Citer
Dès que je mets l'adresse ip de mon serveur  dans  controller.js , qu'attends t-il comme réponse de l'arduino ?  et cela refonctionne dès que je remets $scope.ipArduinoDcc = "192.168.1.200:2560";  ??

Bien à vous.

Christophe


plnew

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #85 le: janvier 28, 2017, 09:44:42 pm »
Merci pour votre réponse qui me débloque bien
j'ai modifié certaines fonctions et j'ai enfin une version fonctionnelle  srv-web-serial_v0.2.js  :P

je pilote la loco depuis votre interface html qui me plais bien ;)
le principe :  votre page envoie les infos sur le serveur de node.js (http) même port que vous 2560 au lieu de l'arduino dcc++ Base Station (version standard)
j'ai changé l'adresse ip pour qu'elle corresponde a mon serveur node.js dans le fichier controller.js ($scope.ipArduinoDcc = "192.168.0.11:2560";)
il renvoie les commandes sur le port serie vers l'arduino dcc++ Base Station (version standard)

il manque encore les retours de commande vers votre page html pour alimenter le log


ps : si ce n'ai déjà fait dans vos nouvelles versions
une petite demande d'évolution : pouvez-vous afficher un avertissement qu'il faut arrêter la loco pour changer son adresse (cv1) d'avance merci

Cordialement
Pascal


bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #86 le: janvier 28, 2017, 10:30:42 pm »
Bonsoir Pascal,

Si je comprends bien, vous avez un controller opérationnel au moins pour ce qui concerne la traction : marche av/ar, vitesse. En ce qui concerne les fonctions ? Arrivez-vous à activer les lumières, les sons ... ?

Comme je vous le disais, le recours à Node.js est un très bon choix. Ce serait bien que vous fassiez un descriptif quand vous aurez fini car c'est une solution intéressante à publier.

Prenez du plaisir à développer votre solution et tenez-moi au courant de vos évolutions.

Vous avez raison, ça doit même pouvoir s'automatiser :
Citer
une petite demande d'évolution : pouvez-vous afficher un avertissement qu'il faut arrêter la loco pour changer son adresse (cv1) d'avance merci

Je mets la dernière main sur certaines évolutions qui concernent essentiellement le réglage des CV's. Tout d'abord une fonction Lecture de CV's qui permet de scanner dans le controller les réglages actuels des CV's de la loco qui est sur la voie de programmation. Il est aussi possible d'ajouter les libellés des CV's. Et bien sûr, tout est enregistré même à la mise hors tension.



Les valeurs sont visibles dans une liste que l'on voit au bas de l'image ci-dessous. Par ailleurs on peut constater que les réglages sont possibles pour la voie de programmation (prog) ou voie principale (main).



Le controller commence à être vraiment complet et je pense assez simple et convivial. Je ne voulais surtout pas une usine à gaz ! Mais ça, c'est les utilisateurs comme vous qui le direz.

J'ai fait des tests sur un I-Pad, c'est une expérience intéressante d'être complètement mobile autour du circuit et de pouvoir en même temps en piloter tous les paramètres. Vous pouvez-vous aussi dans votre configuration utiliser des terminaux portables si vous êtes relié au wifi de la box.

Au plaisir de vous aider car vous avez avancé vraiment bien.

Christophe.


bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #87 le: janvier 29, 2017, 02:16:17 am »
Bonsoir,

J'ai mis en téléchargement la dernière version (2.4) du controller DCC++ en HTML : http://185.14.178.233/locoduino/controller_dccpp.zip

La version démo en ligne est visible ici : http://185.14.178.233/locoduino/controller_dccpp/controller.html

C'est une version admissible qui peut présenter quelques bugs mineurs.

Les principales améliorations tournent autour de la programmation des CV's. On peut programmer sur la voie principale (quand les décodeurs le permettent) et sur la voie de programmation.

J'ai aussi implanté une commande bien utile qui scanne les CV's de la loco qui est sur la voie de programmation et les présentent en liste. Ce scan n'est nécessaire que quand la loco n'est pas encore connue du controller.



Pour répondre à la demande de Pascal, j'ai implanté une fonction qui arrête la loco quand on programme sur la voie principale  8)

Pour ceux qui ont déjà implanté le controller et qui auraient commencé à personnaliser leur fichier data.json, ne recopiez pas ce fichier au risque de perdre vos modifications. Idem pour le dossier img si vous avez ajouté vos propres images. Tous les autres fichiers doivent être recopiés pour écraser les anciens.

J'attends vos retours pour corrections.

Amitiés Locoduinesques.

Christophe

plnew

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #88 le: janvier 29, 2017, 11:02:46 am »
Bonjour Christophe

beau travail , je passe de la version 1.8 à la 2.4
mes remarques ne sont pas représentatives car je n'ai pas la configuration recommandée. (pas de shield ethernet)

Création Machines - Fichier data.json
je n'ai pas de sauvegarde des nouvelles locos crées dans le fichier data.json (répertoire avec fichier controller.html) , j'ai bien essaye de copier les lignes de debug dans le fichier data.json mais cela ne fonctionne pas
si je supprime le fichier data.json ou en crée un vide ... impossible =>  Log : Fichier des locos sur disque chargé
si je prend votre fichier , j'ajoute mes 2 machines sans problème par l'interface et je peux les contrôler  avec votre interface + node.js
je ne vois pas de bouton sauvegarde pour les nouvelles machines
 
Test des fonctions
Je n'ai pas de machine récente ( 2 jouef 1980 + lenz standard + V2)
je vais installer une led pour faire un test de la fonction éclairage

Programmation CV
concernant la voie de programmation, je n'ai qu'un LDM18200 et donc pas de voie de programmation , il faut que je reconnecte les pins arduino et vous tiens au courant.
La modification du CV 1 sur voie principale fonctionne bien

Demande d'amélioration
pouvez-vous mettre le numéro de version en haut à droite de l'interface cela permet de savoir qu'elle version nous utilisons


Question sur controller.html : l'application pourrai t-elle fonctionner si nous n'avons pas de connection internet exterieur (juste le réseau local)
Question electronique : peut-on imaginer un bouton qui reconnecte les 3 pins de l'arduino pour basculer les même voies en "voie de programmation" pins : 10,3,A0 / "voie principale pins :  5,11,A1")

d'avance merci pour vos réponses

Bonne journée

Cordialement
Pascal

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : DCC++ BaseStation
« Réponse #89 le: janvier 29, 2017, 12:18:07 pm »
Bonjour Pascal,

Merci encore !

Concernant la sauvegarde dans le fichier data.json. La sauvegarde est appelée quand on quitte la page ou qu'on la recharge. Appel aux alentours de la ligne 695 $scope.saveParamPhp(); Le code de la fonction saveParamPhp() est aux alentours de la ligne 649. Mais je ne suis pas étonné que cela ne fonctionne pas dans votre cas car la fonction appelle un script php pour copier les données. Ce fichier de script est "save_data.php" qui est dans le même répertoire sur le disque. Or votre installation de Node.js ne doit probablement pas exécuter du PHP ? Voir ici https://www.npmjs.com/package/node-php-server.

Ceci dit, j'ai développé un autre moyen de sauvegarder les datas avec l'appel de la fonction localStorage.setItem("locomotives",JSON.stringify($scope.locomotives)); aux alentours de la ligne 701 qu'il faudra décommenter.

Dans ce cas, il faudra aussi décommenter la ligne aux alentours de 720 $scope.loadLocalStorage (); pour que les données sauvegardées dans le localstorage soient chargées au lancement de l'application.

A tous les lancements de l'application, c'est le chargement des données contenues dans le localstorage (si il y en a) qui est réalisé. Le chargement du fichier data.json n'est opéré que si le localstorage est vide. En utilisation normale, c'est le plus simple. Le fichier data.json est appelé une première fois, puis les données sont chaque fois sauvegardées dans le localstorage et rappelé à partir de celui-ci à chaque ouverture. Mais ça veut dire que toute modification des datas doit se faire dans ce cas sur les données du localstorage et non dans le fichier data.json (qui est toujours mis à jour si PHP fonctionne mais qui n'est plus appelé tant que localstorage n'est pas vide).

Enfin, une autre solution existe qui serait de remplacer les opérations "File System" réalisées en PHP par les opérations FS de Node ("fs.writeFileSync" etc...).

Bon ça parait peut être un peu compliqué mais en "mode utilisateur", c'est très simple. Tout ceci est bien commenté dans le code à partir de la ligne 694.

Citer
Question sur controller.html : l'application pourrai t-elle fonctionner si nous n'avons pas de connection internet exterieur (juste le réseau local)

Réponse de normand (et pourtant je suis breton) : oui et non. Non en l'état car elle utilise des bibliothèques extérieures (ligne 9, 10 et 11 du fichier controller.html) :

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Oui si vous téléchargez ces bibliothèques sur votre disque dur en recréant le paths des lignes dont je parle ci-dessus.

Question electronique : peut-on imaginer un bouton qui reconnecte les 3 pins de l'arduino pour basculer les même voies en "voie de programmation" pins : 10,3,A0 / "voie principale pins :  5,11,A1")
Je ne vois pas trop bien comment si j'ai une lecture littérale de ce que vous écrivez. Il y a certainement des bidouilles possibles, plus ou moins judicieuses. Selon moi, pour éviter de se faire ch..r et de voir éventuellement de la fumée sortir du bazar, il faut adopter l'un des montages que je préconise http://www.locoduino.org/spip.php?article187. Ajouter un LMD18200 et un MAX41 n'est pas ruinant !

Pour finir, je profite de ce post pour lancer un appel concernant la lecture et la programmation qui sont totalement impossibles avec certains décodeurs. Sur la voie de programmation essentiellement, mais il peut aussi arriver la même chose sur la voie principale. Cela fait un petit moment que Dominique et moi avons constatés ce problème mais n'avons aucune piste sérieuse pour comprendre. Le message retourné par DCC++ Base Station (en voie de programmation) est systématiquement terminé par -1 (code d'erreur) 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


Toutes vos suggestions sont les bienvenues pour essayer de trouver une solution à ce problème.

Bien cordialement.

Christophe