Auteur Sujet: LaBox" : Une Centrale DCC polyvalente et abordable  (Lu 762420 fois)

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #585 le: août 23, 2025, 08:59:44 am »
Bonjour.
Premières constatations de cette nouvelle version.
1) LaBox démarre en mode programmation, il faut soit un HardReset ou entrer/sortir dans le menu CV (ou 3X bouton droit) pour être en mode Main.
2) RailCom ne fonctionne pas.
A l'analyseur logique c'est comme si le TimerCutOut ne fonctionnait pas (ou mauvais pins, mauvais canal)
Voir en pièce jointe.

Bien à vous.

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #586 le: août 23, 2025, 10:18:39 am »
Tu as bien adapté ton .ino, notamment en utilisant LABOX_BASE_MOTOR_SHIELD ? Parce que je ne vois rien dans les différences avec l'ancienne version qui pourrait affecter Railcom...
« Modifié: août 23, 2025, 10:22:48 am par Thierry »

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #587 le: août 23, 2025, 03:37:38 pm »
Bonjour, J'utilise la dernière version téléchargée ci-dessus pour tests
Comparaison de Log. de démarrage de la V2.10.0 et V2.11.0

<@ 0 0 "LaBox v2.10.0">
<@ 0 1 "Lic GPLv3">
E (2399) wifi_init_default: netstack cb reg failed with 12308
<* Wifi in AP mode *>
<@ 0 5 "Wifi: WiFi_LaBox">
<@ 0 6 "PASS: ">
<@ 0 7 "IP: 192.168.4.1">
<* Server will be started on port 2560 *>
<* LaBox Main mode. *>
<* Pin 36 Max 2249mA (2823) *>
<* Channel 0 DCC signal for MAIN start *>
<= A MAIN>
<p0 A>
<p0>
<@ 0 2 "Power Off">
<* Railcom activated *>
<* Railcom pin:33 invpin:27 *>
<iDCC-EX V-5.4.10 / ESP32 / LABOXMAIN G-c389fe9>
<* EXRAIL 48b, fl=256, stash=0 *>
RailCom OK pin 33 et 27

<@ 0 0 "LaBox v2.11.0">
<@ 0 1 "Lic GPLv3">
E (2397) wifi_init_default: netstack cb reg failed with 12308
<* Wifi in AP mode *>
<@ 0 5 "Wifi: LaBox">
<@ 0 6 "PASS: ">
<@ 0 7 "IP: 192.168.0.150">
<* Server will be started on port 2560 *>
<* LaBox Main mode. *>
<* Pin 36 Max 2249mA (2823) *>
<* Channel 2 DCC signal for PROG start *>
<= B PROG>
<p0 B>
<p0>
<@ 0 2 "Power Off">
<* Railcom activated *>
<* Railcom pin:0 invpin:0 *>
<iDCC-EX V-5.4.10 / ESP32 / LABOXBASE G-c389fe9>
<* EXRAIL 48b, fl=256, stash=0 *>
RailCom no OK  pin 0 et 0 !!!

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #588 le: août 23, 2025, 05:00:17 pm »
Oui tu as raison.

L'astuce utilisée dans le mode 'BASE' est de ne déclarer QUE une voie de programmation, ce qui explique les messages de lancement. Mais sur cette voie j'utilise le mode 'Joined' de EX-CommandStation pour la faire passer en mode 'Main' la plupart du temps, ce qui permet le pilotage et j'espère le Railcom. Je ne retire le 'Join' que lorsque l'on passe en mode programmation via les commandes idoines du menu.
En tout cas la version jointe devrait corriger le tir.

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #589 le: août 23, 2025, 05:47:50 pm »
Il y a un mieux, les n° de pin sont corrects, mais le CutOut est déformé et aléatoire. Voir analyses logiques.

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #590 le: août 23, 2025, 06:17:24 pm »
Est  ce que ce ne serait pas lié au constructeur du RMT channel de programmation ?

  if (isMain) {
    ch = 0;
    plen = PREAMBLE_BITS_MAIN;
    static_assert (DATA_LEN(MAX_PACKET_SIZE+1) + PREAMBLE_BITS_MAIN + 2 <= RMT_CHAN_PER_DCC_CHAN * SOC_RMT_MEM_WORDS_PER_CHANNEL,
  "Number of DCC packet bits greater than ESP32 RMT memory available");
  } else {
    ch = RMT_CHAN_PER_DCC_CHAN; // number == offset
    plen = PREAMBLE_BITS_PROG;
    static_assert (DATA_LEN(MAX_PACKET_SIZE+1) + PREAMBLE_BITS_PROG + 2 <= RMT_CHAN_PER_DCC_CHAN * SOC_RMT_MEM_WORDS_PER_CHANNEL,
   "Number of DCC packet bits greater than ESP32 RMT memory available");
  }

avec une longueur de preamble plus importante ?

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #591 le: août 23, 2025, 06:34:08 pm »
Ce code est inclu dans la V2.10.0 et RailCom fonctionne bien.
Il faudrait avec un logiciel de comparaison de fichiers examiner les deux versions.

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #592 le: août 23, 2025, 06:37:07 pm »
Le problème comme je l'ai dit plus tôt, c'est que là on essaie de mettre du Railcom sur la voie de programmation, donc forcément ça change...

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #593 le: août 23, 2025, 07:26:03 pm »
Il ne faut pas de RailCom sur la voie de programmation.

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #594 le: août 23, 2025, 08:40:13 pm »
Ben si, parce que c'est aussi la voie de programmation qui est utilisée lorsque l'on est en pilotage normal.

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #595 le: août 23, 2025, 11:46:38 pm »
La structure  d'une trame de programmation se compose uniquement d'un préambule et d'un IDLE qui ne contient aucune information, pas de RailCom.
Une loco répond à une demande de valeur de CV en produisant des impulsions électriques, celles transmises pendant le CutOut seront perdues.

Avec cette modif. RailCom refonctionne.
void IRAM_ATTR interrupt(rmt_channel_t channel, void *t) {
#ifdef LABOX
#ifdef ENABLE_RAILCOM
  if(channel == 0)             // Modif.
    StarTimerCutOut(channel);
#endif
#endif
  RMTChannel *tt = channelHandle[channel];
  if (tt) tt->RMTinterrupt();
  if (channel == 0)
    DCCTimer::updateMinimumFreeMemoryISR(0);
}

Et avec cette modif. RailCom est désactivé en mode programmation.
#ifdef LABOX
#ifdef ENABLE_RAILCOM
 if (isMain){                    // Modif.
    setDCCBitCutOut(preamble);                               
    n = 1;
 }
#endif
#endif

En pièces jointes deux trames générées par LaBox.  V.2.11.0
La première en mode normal. (Datas et CutOut)
La deuxième en mode programmation.(Trame vide sans CutOut)

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 865
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #596 le: août 24, 2025, 02:14:38 pm »
Super ! Modification intégrées. J'attends quelques tests supplémentaires sur le fonctionnement normal et programmation avec ou sans Railcom avant de pousser cette version 2.11.0 .

lebelge2

  • Full Member
  • ***
  • Messages: 113
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #597 le: août 24, 2025, 09:35:53 pm »
Tests faits avec WebThrottle et SmartPhone (Engine Driver)

Conduite loco avec ou sans RailCom     OK.
Lecture/écriture des CV avec ou sans RailCom et les touches de LaBox:  OK

Lecture/écriture des CV avec ou sans RailCom et Smartphone ou WebThrottle:  OK à condition d'entrer en mode programmation manuellement.

La séquence de lecture des CV semble correcte (20 trames IDLE vides avec long préambule(23) puis trames de demande de CV.)

Il faudrait que LaBox passe en mode programmation (et interface graphique) automatiquement à la demande de lecture ou d'écriture par un périphérique (WebThrotlle, Smartphone, CAN, ExpressNet, Sprog) Cela ouvrirait de nouvelles possibilités.



trimarco232

  • Sr. Member
  • ****
  • Messages: 369
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #598 le: août 24, 2025, 10:31:54 pm »
Bonjour,
tiens , j'ai raté un truc , l'ESP32 sait générer les signaux pour le cutout ?

JeanMarc

  • Newbie
  • *
  • Messages: 44
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #599 le: août 24, 2025, 11:30:05 pm »
Bonsoir,

Félicitations à Thierry et Lebelge2 pour leur collaboration efficace !
Je confirme les dires de Lebelge2, avec mes deux applications Z21 noire et rouge, et Railcom actif.
Plus de boot en boucle après une programmation.
On se reconnecte même automatiquement en mode pilotage après une programmation, c'est transparent  :)
Cerise sur le gâteau: c'est génial d'avoir ajouté la possibilité de choisir l'adresse IP de LaBox.
Comme ça je n'aurai plus à penser de changer l'IP de mon appli Z21 quand je me connecte à la DR5000 du club.
C'est une évolution que j'avais en tête depuis longtemps, et que je n'ai jamais osé demander.
Merci Thierry !

J'ai aussi utilisé les touches de LaBox pour programmer le calibrage automatique du moteur d'une machine équipée d'un décodeur ESU Loksound 5: ça a marché du feu de dieu. Maintenant, elle roule sans aucun tressautement, super !!

Je n'ai pas encore fait le tour de toutes les nouveautés, j'ai encore à découvrir.

Encore merci à tous.

Bien cordialement,
Jean Marc