Il ne faut pas shunter ni enlever le max471, c'est lui qui permet la communication avec les décodeurs
Il faut le tester (plusieurs sujets traitent de cette problématique sur le forum) et le remplacer par un autre composant s'iol est foireux . La aussi, tu as quelques discussions sur ce sujet .
JMRI t'indique qu'il ne reconnait pas tes locos. C'est que le max471 ne fait pas son travail et/ou que le sketch est mal configuré.
Si tu veux utiliser la bibliothèque DCCpp, il ne faut plus utiliser DCC++ .
Le sketch devient tres court.
Je te montre mon sketch en connexion USB mais que je n'ai utilisé que pour le test (enfin, il fonctionnait il y a quelques mois, mais je ne peux plus le tester, tout est démonté chez moi)
/*************************************************************
project: <Dc/Dcc Controller>
author: <Thierry PARIS>
description: <Dcc Serial Controller sample>
*************************************************************/
#include "DCCpp.h"
#ifndef USE_TEXTCOMMAND
#error To be able to compile this sample,the line #define USE_TEXTCOMMAND must be uncommented in DCCpp.h
#endif
void setup()
{
Serial.begin(115200);
Serial.println("le setup est lancé");
DCCpp::begin();
Serial.println(" DCCPP est lancé");
// Configuration for my LMD18200. See the page 'Configuration lines' in the documentation for other samples.
#if defined(ARDUINO_ARCH_ESP32)
DCCpp::beginMain(UNDEFINED_PIN, 33, 32, 36);
#else
DCCpp::beginMain(UNDEFINED_PIN, DCC_SIGNAL_PIN_MAIN, 3, A0);
DCCpp::beginProg(UNDEFINED_PIN, DCC_SIGNAL_PIN_PROG, 11, A0);
#endif
}
void loop()
{
DCCpp::loop();
}
Par contre, il FAUT modifier la bibliothèque DCCpp pour l'adapter à ta configuration.
Cela se fait par une simple éditeur de texte.
le DCCpp que tu as téléchargé ne peut pas fonctionner avec ta config si te ne le personnalises pas.
Tout cela est tres bien renseigné par l'auteur
Je ne vais pas pouvoir t'aider plus, je ne me souviens plus des modifs a faire. Il me semble que cela se joue au niveau des #define au tout début
Et je te montre aussi le sketch de ma configuration qui est la même que la tienne, mais avec un shield ethernet (V2,
) en plus.
/*************************************************************
project: <Dc/Dcc Controller>
author: <Thierry PARIS>
description: <Dcc Ethernet Controller sample>
*************************************************************/
#include "DCCpp.h"
#if !defined(USE_TEXTCOMMAND) || !defined(USE_ETHERNET)
#error To be able to compile this sample,the lines #define USE_TEXTCOMMAND and #define USE_ETHERNET must be uncommented in DCCpp.h
#endif
// the media access control (ethernet hardware) address for the shield:
uint8_t mac[] = {0xBE, 0xEF, 0xBE, 0xEF, 0xBE, 0xEF };
//the IP address for the shield:
uint8_t ip[] = { 192, 168, 0, 200 };
EthernetServer DCCPP_INTERFACE(2560); // Create and instance of an EthernetServer
void setup()
{
Serial.begin(115200);
DCCpp::begin();
// Configuration for my LMD18200. See the page 'Configuration lines' in the documentation for other samples.
#if defined(ARDUINO_ARCH_ESP32)
DCCpp::beginMain(UNDEFINED_PIN, 33, 32, 36);
#else
DCCpp::beginMain(UNDEFINED_PIN, DCC_SIGNAL_PIN_MAIN, 3, A0);
DCCpp::beginProg(UNDEFINED_PIN, DCC_SIGNAL_PIN_PROG, 11, A0);
#endif
DCCpp::beginEthernet(mac, ip, EthernetProtocol::TCP);
}
void loop()
{
DCCpp::loop();
}
Tu vois, ce ne sont que quelques lignes. C'est la bibliothèque appelée au tout début du sketch qui fait tout.