Auteur Sujet: Une interface XpressNet pour LaBox.  (Lu 24075 fois)

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #15 le: juillet 23, 2025, 10:28:24 pm »
Même pas !
Ces 5 PCB ne m'ont couté que 1€74 en plus pour les 10 PCB assemblés LaBox.

Je vais revoir ma copie et proposer directement votre nouvelle carte.
Je n'ai pas encore compilé cette nouvelle version.
Avec vos fichiers sur votre Github, pas ceux présent dans le zip de LaBox ?
Je vous tiens au courant dès que possible.

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Re : Une interface XpressNet pour LaBox.
« Réponse #16 le: juillet 31, 2025, 12:10:38 am »
Normalement, 5 cartes c'est 5€ chez JLCPCB
Ce n'est pas trop grave si c'est perdu!

Et avant tout achat, essayer de compiler CommandStatio-Ex-LaBox .ino avec l'ajout des nouveaux fichiers

Bonsoir Marc

Une personne a-t-elle déjà compilé cette nouvelle version avec les nouveaux fichiers ?
Je n'y suis pas parvenu, j'ai encore des erreurs et la compilation se termine avec "exit status 1"

J'ai eu plusieurs difficultés:
La première a été la découverte de caractères non visibles dans à la première ligne du fichier LocoNetESP.cpp
Est-ce provoqué par le Zip (rechargé 2 fois) ou est-ce natif dans votre Github ?
J'avais ceci:
exit status 1
Compilation error: stray '\357' in program

Résolue avec la correction dudit fichier

La deuxième difficulté a été l'absence de la librairie ArduinoJson
J'avais ceci:
d:\Mes documents\AARP\Arduino\commandstation-ex-labox\libraries\IoTT_LocoNetHybridESP32\src/IoTT_LocoNetHBESP32.h:33:10: fatal error: ArduinoJson.h: No such file or directory
#include <ArduinoJson.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1

Résolue avec l'installation la bibliothèque ArduinoJson 7.4.2
Est-ce un défaut d'installation de mon IDE Arduino en version 2.3.6 ?

Idem pour la troisième difficulté, absence de la librairie SoftwareSerial
J'avais ceci:
d:\Mes documents\AARP\Arduino\commandstation-ex-labox\libraries\XpressNetMaster\XpressNetMaster.cpp:37:10: fatal error: SoftwareSerial.h: No such file or directory
 #include <SoftwareSerial.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1

Pareil, résolue avec l'installation la bibliothèque EspSoftwareSerial 8.1.0, mais est-ce la bonne bibliothèque et la bonne version ?
Même question: Est-ce un défaut d'installation de mon IDE Arduino en version 2.3.6 ?

Je m'y perd un peu avec les multiples compilations (très longues), mais la seule qui va au bout est celle où je n'active que le retro S88.

Sinon, si j'active ExpressNet et LocoNet la compilation avorte et j'ai les messages inexploitables recopiés dans le fichier joint.

Et j'oubliai de préciser qu'il faut enlever les fichiers XpressNet.h et XpressNet.cpp, qui provoquent également des erreurs.
Ces fichiers que j'avais ajoutés pour tester votre première version XpressNet seul.
La bonne nouvelle est que cette première version se compile parfaitement et fonctionne.
J'ai pu piloter mes locos comme si de rien n'était avec l'appli Z21, mais comme je n'ai pas encore reçu les cartes ni les composants, je n'ai pas encore pu vérifier le fonctionnement de la MultiMaus.
Et ceci AVANT d'avoir installé les deux bibliothèques ArduinoJson et EspSoftwareSerial.

J'espère ne pas avoir été trop "brouillon"!

Qu'en pensez-vous ?
Bien cordialement,
Jean Marc



lebelge2

  • Full Member
  • ***
  • Messages: 103
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #17 le: juillet 31, 2025, 01:20:01 am »
Bonjour.

La compilation échoue car tu actives LocoNet et XpressNet ensemble.
Or dans cette première version de la carte, il faut choisir l’un ou l’autre avec un cavalier sur la carte et  un défine dans config.h

#define ENABLE_XPRESSNET   ou    #define ENABLE_LOCONET

Il y a des variables qui portent le même nom dans ces deux fichiers, d’où plantage.
Pour le reste, les fichiers rajoutés sont corrects.

Mais je viens de réaliser une nouvelle carte sans cavalier de sélection,  maintenant XpressNet et LocoNet fonctionnent ensemble, testé avec des manettes dédiées.
Pour les fichiers, simplement mis certaines variables en locales.

Après quelques tests, ce sera publié (+/- dix jours)

Bien à vous.

NB :  Avec la première version de la carte, il est quand même possible  d’utiliser XpressNet et LocoNet ensemble en rajoutant un fil (pontage) vers la PIN 16 ou 17 (Rx2/Tx2) de LaBox et comme dit ; mettre les variables en locales. (Informations supplémentaires sur demande)

« Modifié: juillet 31, 2025, 09:06:51 am par lebelge2 »

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #18 le: juillet 31, 2025, 09:43:08 am »
Bonjour,

Merci pour ta réponse plus que rapide...Ca pouvait attendre un peu.

Maintenant, c'est parfait ! Avec XpressNet seul.
Ca compile sans erreurs, c'est une alternative que je n'avais manifestement pas testée.
Je n'avais pas compris qu'il faudrait jouer de pair sur le cavalier ET les ENABLE !

Je vais patienter pour attendre ta version plus complète. Il n'y a pas urgence.
D'ailleurs, je me limiterai pour l'instant à la version XpressNet seule, puisque j'ai commandé tout le nécessaire, cartes et composants.
En effet, les collègues sont plus intéressés par cette version, car ils regrettent de ne plus pouvoir utiliser leur MultiMaus.

Bien cordialement,
Jean Marc

lebelge2

  • Full Member
  • ***
  • Messages: 103
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #19 le: juillet 31, 2025, 12:22:42 pm »
Attention avec les fichiers pour éviter toutes confusions.

-   La carte utilisée dans ce post :
https://forum.locoduino.org/index.php?topic=1776.0
      Fonctionne avec deux fichiers : XpressNet.cpp  et XpressNet.h

-   La carte utilisée dans ce post :
https://forum.locoduino.org/index.php?topic=1957.0
Fonctionne entre autres avec la librairie XpressNetMaster écrite par Philipp Gahtow, gage de qualité et  deux fichiers : XpressNetESP.cpp  et XpressNetESP.h

La différence hardware des cartes est que pour la première,  l’interface série de LaBox fonctionne en Full Duplex et pour la seconde en Half Duplex ce qui permet d’économiser une Pin

Noter, qu’en principe la carte du topic 1776 devrait fonctionner avec la librairie et les fichiers du topic 1957 en joignant les Pin Tx et Rx ensemble.


Note aux admins.
Si on pouvait déplacer ces quatre derniers post dans :
https://forum.locoduino.org/index.php?topic=1957.0

Bien à vous.


JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Re : Une interface XpressNet pour LaBox.
« Réponse #20 le: août 13, 2025, 05:56:43 pm »
-   La carte utilisée dans ce post :
https://forum.locoduino.org/index.php?topic=1776.0
      Fonctionne avec deux fichiers : XpressNet.cpp  et XpressNet.h

Bonsoir Marc,

Je m'apprête à câbler la carte de ce post.
J'ai lu dans ta doc que les résistances R1 de 120 ohms et R2, R3 de 10K sont facultatives.
Quel est l'impact si je les monte ou si je ne les monte pas ?
S'il est préférable de les monter, est-ce que je peux monter une R1 de 100 ou 150 ohms ? Je n'ai pas de 120 ohms dans mes boîtes...
J'ai des 10K.
Merci de ta réponse.

Bien cordialement,
Jean Marc

lebelge2

  • Full Member
  • ***
  • Messages: 103
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #21 le: août 13, 2025, 06:49:54 pm »
Bonjour, 150 Ohms, ça vas, c'est ce que j'ai mis.
Et 10k pour les deux autres.

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #22 le: août 13, 2025, 09:00:34 pm »
Merci beaucoup pour ta réponse rapide.
Je câble ce soir ou demain.
Tests prévus ce samedi si je peux me procurer une Multi Maus.

Bien cordialement,
Jean Marc

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #23 le: août 17, 2025, 03:36:58 pm »
Bonjour Marc,

Test négatif hier.
Au branchement de la mini maus rouge elle m'indique le code C2 et après un court instant E7.
Apparemment elle recherche une maus master ?
J'ai inversé TX et RX, et rien ne change sinon pire, elle indique seulement L2 et aucun bouton ne réagit...
N'y a-t-il pas un #define à indiquer quelque part ?

Bien cordialement,
Jean Marc

lebelge2

  • Full Member
  • ***
  • Messages: 103
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #24 le: août 17, 2025, 07:31:16 pm »
Bonjour, il faut vérifier les points suivants:

Le fichier XpressNet.cpp daté du 01-05-25
Interface câblée comme sur les photos du premier post
Dans config.h  Vérifier Enable et les Pin comme suit:

// Use EXComm XPressNet protocol via Serial2
#define ENABLE_XPRESSNET

#ifdef ENABLE_XPRESSNET
#define XPRESSNETCOMM    new XPressNet(12, 13, 15)   // Carte interfaces config.
#else
#define XPRESSNETCOMM NULL
#endif

Por le test, désactiver:
//#define ENABLE_RAILCOM
//#define ENABLE_CANMARKLIN
//#define ENABLE_SPROG
Bien comprendre qu'il n'y a que deux interfaces (séries) qui peuvent fonctionner ensemble.

Dans XpressNet.h  activer le Debugger:

//const bool DIAG_XPNET = false;
const bool DIAG_XPNET = true;

Quand on branche une manette XpressNet les codes ci-dessous doivent s'afficher dans le moniteur Arduino.

21 21 00
21 24 05

Enfin, si cela ne vas toujours pas, on peut utiliser la librairie de Philipp Gahtow qui est beaucoup mieux écrite et complète.
On en reparlera car il y a une toute petite modification de la carte (réunir TX et Rx) car cette librairie est en HalfDuplex.

Tu peux aussi m'envoyer ton programme CommandStation_LaBox Zippé (enlever les dossiers inutiles pour moi) à
lebelge2@yahoo.fr

Je te le renverrai fonctionnel.

Bien à vous



« Modifié: août 17, 2025, 07:55:37 pm par lebelge2 »

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #25 le: août 17, 2025, 09:52:48 pm »
Super, et merci pour ta réponse.
Je vais vérifier tout ça !

Cordialement,
Jean Marc

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #26 le: août 17, 2025, 11:18:10 pm »
Bonsoir Marc,

Ca coince dès le départ...Je n'ai pas la bonne version du fichier XpressNet.cpp a priori.
La date indiquée dans l'entête du fichier est 01-09-24. La même que le fichier présent dans ton Github !

Ensuite:
Interface câblée comme sur les photos, c'est OK

#define ENABLE_XPRESSNET, c'est OK
Les ports du define new XPressNet(12,13,15), sont OK

Pour le test, j'ai bien désactivé RAILCOM, CANMARKLIN, SPROG
Débugger activé "true"

J'ai quand même tenté le test final : rien ne s'affiche dans le moniteur Arduino.

STP, envoie-moi ta dernière version de XpressNet.cpp à jeanmarc.obre@free.fr
Ou bien tu me le mets en téléchargement dans ta réponse.
Merci.

Cordialement,
Jean Marc


lebelge2

  • Full Member
  • ***
  • Messages: 103
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #27 le: août 18, 2025, 12:25:45 am »
Il faut utiliser au moins la version 2.6.3 ou supérieur.

// 2.6.3  - Add ReadCV and WriteCV menu options
//        - Add XPressNet interface in EXComm format and config.Labox.h. Not tested. Thanks lebelge.
//     - Move SPROG interface from Serial2 to Serial1 to allow XPressnet existing with SPROG.
//     - Fix SPROG for rx/tx pin values and broadcasting CV values.
//     - CAN Speed in console should be correct.
//     - Added class LaboxModes to centralize EEPROM and ESP restart behaviours.

Version avec XpressNet optimalisé et amélioré par Thierry.
Mais je vais t'envoyer ce lundi 18, ma version (2.9.1) fonctionnel avec la nouvelle librairie.

JeanMarc

  • Newbie
  • *
  • Messages: 43
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : Une interface XpressNet pour LaBox.
« Réponse #28 le: août 18, 2025, 08:52:56 am »
Merci pour ta réponse Marc

Je suis absolument d'accord avec toi !
Je l'avais vu dans le fichier version_labox.h d'où tu as copié ces lignes.
D'ailleurs je suis en version 2.10.0

Il y a mal donne car sur le Github de LaBox, le fichier XpressNet.cpp est daté du 01.09.24
De ce fait, je n'ai effectivement pas la bonne version.

Cordialement,
Jean Marc