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

JeanMarc

  • Newbie
  • *
  • Messages: 18
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #60 le: février 20, 2024, 11:50:19 pm »
Bonsoir Laurent,

Merci pour votre réponse.
En effet, cette box fonctionne très bien en se limitant à l'utilisation de l'appli Z21 rouge et bleue sous Android.
C'est une étape importante qui a été réalisée.
C'est déjà beaucoup et merci encore à tous les collaborateurs.

Bien cordialement,
Jean Marc

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #61 le: février 21, 2024, 09:07:17 am »
Le projet Labox n'est pas mort, si c'est la question. C'est exactement comme un réseau : rien n'est jamais terminé, il y a toujours des choses à faire. Mais ça marche, ça fait le boulot. Les sujets d'évolution et de correction ne manquent pas, mais parfois c'est le temps à y consacrer qui manque, ou les solutions...
Pour reprendre les sujets qui fâchent ( ;)) un par un :

1- Supprimer le reboot pour passer du mode main au mode prog et inversement.
Dans la mesure où ça marche dans l'état, le sujet est un peu en retrait. A l'époque du développement de la solution actuelle, j'avais déjà essayé quantité de choses qui n'ont pas fonctionné et qui m'ont couté beaucoup de temps... Je ne m'y attaquerais que si je n'ai plus le choix.
2- Un fonctionnement de l'application Z21 noire aussi bon que la Z21 rouge et bleue qui elle fonctionne parfaitement. Surtout pour les possesseurs de smartphones récents ne permettant plus le téléchargement de l'appli Z21 rouge et bleue. Ceci est-il un problème insoluble ?
Pour le coup j'y travaille. Moi aussi ça me dérange de ne pas utiliser la dernière version. Pour une raison que j'ignore l'application semble cesser toute connexion dès que l'on rentre sur le panneau de conduite. J'ai d'ailleurs observé le même comportement dans la vieille appli si l'on rentre sur le panneau des aiguillages... Mais le fait que ça se décoince si on redémarre Labox prouve qu'il y a un moyen. Je ne désespère pas ! Et puis ça m'a permis hier d'ajouter à la prochaine 2.4.5 une déconnexion automatique de l'appli si aucun échange de données n'a lieu pendant 20 secondes. Temps que je monterai sans doute à 60 secondes dans la version définitive.
3- Une meilleure prise en compte du bouton Stop dans la version sous Ios.
La version iOs n'a effectivement pas le même comportement que la version Android. Qui suis je pour aller contre la volonté du développeur de cette version ? Et si aucune mise à jour n'est venue corriger cela, c'est sans doute que ça ne leur a pas semblé important ! Malgré tout et pour vous être agréable, la version 2.4.4 utilise une petite astuce expliquée dans mon message du 18 pour contourner le problème.

Tout ça pour dire que rien n'est figé, et que je continuerai de corriger les problèmes rencontrés. De même que Michel et Dominique continueront certainement d'améliorer le matériel si besoin.
A noter qu'aujourd'hui je suis le seul à proposer des améliorations sur le code. Il est pourtant gratuitement et entièrement disponible sur Github, et n'importe qui peut le prendre, le modifier, l'améliorer. Donc si toi au d'autres veulent aider, c'est tout à fait possible !

JeanMarc

  • Newbie
  • *
  • Messages: 18
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #62 le: février 21, 2024, 11:01:41 am »
Bonjour Thierry,

Merci pour votre réponse très rassurante.  :) et sachez que je suis loin d'être fâché !!
Bien au contraire, ce que vous avez réalisé est formidable.
Je crains d'avoir été trop pressant dans mes propos :( et j'en suis désolé.
Je comprends bien qu'il est complexe de résoudre certaines anomalies, je serai bien incapable de proposer une quelconque solution.
Ce code est bien trop complexe pour moi.

Nous attendrons les évolutions qui prendront le temps nécessaire. Le plus important est que LaBox continue d'évoluer.
Pour le moment, LaBox fait le boulot avec l'appli Z21 rouge et j'en suis ravi. C'est déjà beaucoup !
Les prochains utilisateurs potentiels devront s'adapter à ce périmètre pour le moment.

Bonne continuation et bon courage. Au plaisir de vous lire.
Bien cordialement,
Jean Marc

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 933
  • HO avec DCC++
    • Voir le profil
Re : Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #63 le: février 21, 2024, 12:25:36 pm »
A noter qu'aujourd'hui je suis le seul à proposer des améliorations sur le code. Il est pourtant gratuitement et entièrement disponible sur Github, et n'importe qui peut le prendre, le modifier, l'améliorer. Donc si toi au d'autres veulent aider, c'est tout à fait possible !

Bonjour Thierry,

Je profite de ce que tu abordes le sujet pour rappeler que j'avais proposé il y a quelque temps du code pour l'intégration du CAN dans la box. Je pense que toutes les commandes y étaient, commande de traction, de fonction, de power on/off et même le e-stop. La dernière version de ce travail date du 11/12/23 mais depuis je n'ai pas eu de nouvelles !!!

Visible sur lune branche créée ad hoc sur le GitHub de Locoduino : https://github.com/Locoduino/CommandStation-EX-LaBox/blob/CAN-messaging/CanMsg.cpp

J'avais aussi réalisé un fichier de test qui permettait de tester toutes ces fonctions et je l'avais fait sur mon réseau avec succès : https://github.com/Locoduino/Test_CommCan_LaBox

Sans réponse, je n'ai pas continué les mises à jour ce qu'il faudrait faire aujourd'hui.

Bien amicalement

Christophe

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #64 le: février 21, 2024, 01:19:21 pm »
Tu as tout à fait raison. La prochaine version sera donc une 2.5.0 eu égard à l'importance stratégique de l'ajout !

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 933
  • HO avec DCC++
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #65 le: février 21, 2024, 02:58:43 pm »
Tu as tout à fait raison. La prochaine version sera donc une 2.5.0 eu égard à l'importance stratégique de l'ajout !

Je suppose que ce message m'était destiné vu qu'il venait chronologiquement après mon message. Il faudrait tout de même que l'on en discute pour définir certaines choses (filtre CAN ou pas), les fonctions (DCC) sont elles suffisantes, en ai-je oublié ? La structure des messages CAN que j'ai retenue vous convient-elle ? (29 bits etc...) ?

Il faut aussi que je mette à jour le Github de Locoduino (ce que je peux faire d'ici 3 ou 4 jours) et que je teste à nouveau ce que je ne peux pas faire avant mon retour le 6 mars.

Christophe

becbunsen

  • Newbie
  • *
  • Messages: 37
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #66 le: février 21, 2024, 08:05:57 pm »
Bonjour à tous,

A mes heures perdues (trop peu nombreuses...) je tente de controler Labox via le CAN, J'avais dans un premier temps élaboré un protocole de messagerie. J'ai ensuite déchiffré le tien avec les commandes dans l'ID sur 29 bits. j'ai d'ailleurs fait un beau tableau Excell. Mes messages semblent avoir le bon format sur mon sniffer CAN mais je n'ai pas encore testé sur Labox (je ne peux y consacrer beaucoup de temps et j'ai plusieurs petits projets en même temps...)

Je me pemet de donner mon avis sur 2-3 points :
- Je pense qu'il est nécessaire d'établir un protocole CAN défini, même si il l'est uniquement à l'échelle de locoduino. Cela permet à chacun de pouvoir apporter sa petite pierre à l'édifice à coté des développeurs chevronnés qui sévissent ici et de s'assurer de la compatibilité du code dans le temps.  (une petite manette CAN, un TCO, un accessoire,....)

- Le protocole doit rester abordable: le gros avantage de DCCex était quand même d'être controlé par des instructions simplissimes <1 xx xxx ....> Un débutant sait très vite envoyer une instruction sur un port série. Son principal inconvénient était de ne communiquer que dans un sens.
La nécessité initiale du CAN était d'apporter cette communication bidirectionnelle au gestionaire.
J'ai étudié les liens que Christophe m'a indiqué sur le CAN avec les possibilités de filtre. Rien n'est insurmontable ..... mais a t'on besoin d'apporter de la complexité supplémentaire?

(Concernant les satellites autonomes, c'est un concept tellement différent que les besoins en communication peuvent être différents également.)

Je ne veux surtout pas froisser les développeurs qui font un travail monstre, qui ont conçu Labox plein d'autres choses, mais en tant qu'amateur, on se sens vite largué quand on voit l'évolution impressionnante des projets, et de ce fait on se dit qu'on ne peut pas apporter grand chose... Je pense qu'il ne faut pas perdre l'aspect pédagogique et abordable pour l'amateur.

En tous cas, encore félicitations pour tout le travail accompli et aussi pour votre réactivité sur les forums quand on pose des questions. On ne reste jamais bloqué très longtemps.




 

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 933
  • HO avec DCC++
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #67 le: février 22, 2024, 01:35:07 am »
A mes heures perdues (trop peu nombreuses...) je tente de controler Labox via le CAN,

C'est mieux que d'aller au bistrot !

- Je pense qu'il est nécessaire d'établir un protocole CAN défini, même si il l'est uniquement à l'échelle de locoduino. Cela permet à chacun de pouvoir apporter sa petite pierre à l'édifice à coté des développeurs chevronnés qui sévissent ici et de s'assurer de la compatibilité du code dans le temps.  (une petite manette CAN, un TCO, un accessoire,....)

C'est ce que nous sommes en train de réaliser. Cela fait un petit moment que nous échangeons après avoir étudier de nombreux autres protocoles dont celui de Marklin qui m'a le plus inspiré. En fait, l'implantation du CAN dans la Box avec la structure de messages que je propose doit valider (ou non) cette proposition, ce pourquoi j'ai profité de la perche tendue par Thierry pour relancer le sujet.

- Le protocole doit rester abordable: le gros avantage de DCCex était quand même d'être controlé par des instructions simplissimes <1 xx xxx ....> Un débutant sait très vite envoyer une instruction sur un port série. Son principal inconvénient était de ne communiquer que dans un sens.
La nécessité initiale du CAN était d'apporter cette communication bidirectionnelle au gestionaire.

Non le protocole sous forme <1 xx xxx ....> ne communique pas que dans un sens. Pour les commandes CAN de la Box, j'ai également programmé les confirmations de réception de commandes avec le CAN mais je me suis limité à celle qui sont d'origine dans DCC++ /DCC Ex ! On pourra élargir si le besoin est exprimé.

J'ai étudié les liens que Christophe m'a indiqué sur le CAN avec les possibilités de filtre. Rien n'est insurmontable ..... mais a t'on besoin d'apporter de la complexité supplémentaire?
(Concernant les satellites autonomes, c'est un concept tellement différent que les besoins en communication peuvent être différents également.)

Je ne crois pas apporter de la complexité, même en CAN, tu pourrais toujours communiquer "à l'ancienne <1 xx xxx ....>". Le propre d'un protocole c'est justement de pouvoir répondre à TOUS les besoins avec la même structure. La structure pour les satellites est la même. Comme le petit programme pour le TCO que j'ai mis en ligne ce matin. C'est le propre d'un protocole, sa raison d'être que ce soit la même chose pour tout le monde.

Je ne veux surtout pas froisser les développeurs qui font un travail monstre, qui ont conçu Labox plein d'autres choses, mais en tant qu'amateur, on se sens vite largué quand on voit l'évolution impressionnante des projets, et de ce fait on se dit qu'on ne peut pas apporter grand chose... Je pense qu'il ne faut pas perdre l'aspect pédagogique et abordable pour l'amateur.
En tous cas, encore félicitations pour tout le travail accompli et aussi pour votre réactivité sur les forums quand on pose des questions. On ne reste jamais bloqué très longtemps.

Merci pour les appréciations.

Malheureusement, nous sommes actuellement essentiellement sur des projets complexes. Il n'existe pas vraiment de programmes simples pour les projets complexes. Par contre, nous faisons en sorte, Thierry en particulier, moi aussi, de faire que cela soit très simple côté utilisateur.

Pour finir, je prendrais le cas des commandes pour la Box. Les seules commandes que l'utilisateur ait besoin de connaitre sont dans le fichier à partir de la ligne 54, tu avoueras que ce n'est tout de même pas très compliqué : https://github.com/BOBILLEChristophe/Test_CommCan_LaBox/blob/main/src/Test_CommCan_LaBox.cpp

Et en plus j'ai mis des commentaires explicites.

Quand nous serons d'accord sur la structure des identifiants CAN et accessoirement des datas il faudra rédiger effectivement toute la correspondance des fonction, ce ne sera pas de la tarte.

Pour vous donner une idée, je vous joins la doc du protocole CAN de Marklin, ça va vous donner une idée du boulot à venir. Et encore, je n'ai traduit que la moitié environ ! Le lien vers le document original est au début de la traduction, il comporte 68 pages.

Christophe

PS : Peut être les responsables de ce fil préfèreront-ils ouvir un nouveau sujet pour le CAN qui n'est d'ailleurs pas spécifique à la Box ?
« Modifié: février 24, 2024, 09:22:08 pm par bobyAndCo »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #68 le: février 22, 2024, 09:45:16 am »
Je donne deux exemples d’interface Can :

1) Activer les fonctions d’une locomotive d’adresse DCC donnée à partir d’un message Can  :
- marche avant, arrière, stop, vitesse, direction
- et fonctions du décodeur, etc..
C’est simple ici le décodage du message Can s’interface avec les fonctions prévues dans Dcc-ex.

Mais il y d’autres façons de commander cette machine avec LaBox (port serie-usb, wifi, tcp…HMI) et j’ai besoin pour mon gestionnaire de recevoir un message qui décrit le changement de régime de cette machine (mais pas les fonctions lumière-sons) a chaque changement, par exemple lorsque l'utilisateur commande la loco avec son smartphone.

Est-ce qu’on dispose des interfaces pour faire cela ?

Peut-être faudra-t-il aussi envoyer un message à la lecture de l’adresse d’une machine. Je n'en vois pas la nécessité.

2) les fonctions Can dans LaBox vont occuper du temps CPU (setup et loop) qui ne doit être activé que si on s’en sert. Heureusement un « USECAN » peut être utilisé si besoin.

Donc il faudra permettre des mises en œuvre conditionnelles selon les besoins de chacun .

A suivre
Dominique
« Modifié: février 23, 2024, 08:57:04 pm par Dominique »
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #69 le: février 25, 2024, 02:57:58 pm »
Nouvelle version 2.4.5

En attendant la version intégrant le CAN, voici une version qui corrige quelques bricoles :

- Une constante Z21_TIMEOUT fixée à 20 secondes déconnecte complètement une app Z21 qui ne répond plus.
- L'application Z21 noire fonctionne enfin ! J'ai découvert un 'petit' envoi de 1000 octets de valeur 0 lorsque l'on passe à l'écran de conduite. Bien sûr rien n'était dimensionné pour ça, ni apte à décoder rapidement une telle quantité de données.
- Dans la même veine, l'entrée sur l'écran des aiguillages envoyait d'un bloc plusieurs messages Z21. Labox les traitait, mais à une vitesse insupportable !
- Du coup, le pilotage d'aiguillage fonctionne maintenant.

Cette version a été testée sur iOS avec WiThrottle Lite, Z21, Roco Z21, DigiTrainsPro en mode Z21, Train Driver en mode Z21.
Testée aussi sur Android avec Engine Driver, Z21, Roco Z21, Locotouch en mode WiThrottle, Cab Engineer.

Voili, voilou.

PS : Content de voir que le calme est revenu.

JeanMarc

  • Newbie
  • *
  • Messages: 18
  • HO Arduino C++ Assembleur Microchip
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #70 le: février 25, 2024, 04:22:51 pm »
Bonjour Thierry et merci beaucoup,
Je m'empresse de faire une mise à jour  :) :) :)
Jean Marc

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #71 le: février 26, 2024, 05:58:26 pm »
Nouvelle version 2.4.5

Je viens de tester le 2.4.5 et je confirme le retour du DCC sur les rails après appui sur le bouton STOP de la Z21 Mobile (pas la noire).
C'est un peu curieux : il me semble qu'il faut appuyer à nouveau sur le bouton STOP pour voir le curseur de vitesse s'afficher sur l'HMI mais il faut attendre environ 30 secondes (je vais chronométrer) pour que les leds DCC s'allument et que la voie soit alimentée.

Je n'ai pas encore installé la Z21 noire, qui semble en allemand seulement sur iPhone.

Les tests CAN vont suivre.

Cordialement,
Dominique

gbo95

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #72 le: mars 08, 2024, 10:28:04 am »
Bonjour à tous
Je viens de m'inscrire pour partager sur LaBox (cf ma présentation)
Sur l'appli Z21 noire, le bouton stop en haut à droite doit être mis à jour par le message "LAN_X_STATUS_CHANGED". J'ai donc créé ce message.
D'autre part, lorsque plusieurs applis clientes sont connectées, il faut diffuser à toutes pour mette à jour.  J'ai profité de la mise à jour des infos de conduite pour ajouter ce nouveau message.
=> ça marche ! L'appli noire est 100% fonctionnelle pour la conduite et  l'état de la puissance sur la voie est mise à jour sur plusieurs applis.

Dans le fichier Z21Throttle.cpp joint mes modifs sont repérées par un commentaire contenant "gilles"

Merci à tous pour ce fantastique travail sur LaBox

nb : je n'ai pas encore regardé la gestion du bouton stop en mode programmation

gbo95

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #73 le: mars 08, 2024, 10:29:41 am »
Le fichier ccp n'est pas passé.      Je re-tente

gbo95

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #74 le: mars 08, 2024, 10:50:03 am »
J'ajoute qu'on pourra aussi supprimer la tempo et le réarmement que Thierry avait mis pour contourner le problème du bouton stop.