Auteur Sujet: projet centrale "LaBox" wifi DCC++ Can  (Lu 511473 fois)

trimarco232

  • Sr. Member
  • ****
  • Messages: 321
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #390 le: janvier 29, 2021, 10:34:01 pm »
Bonjour,
(en espérant ne pas déranger)
quels sont le principes retenus pour la planification, en fonction de leur nature, de l'envoi des pakets dcc (priorité, redondance, cycle ...) ?

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #391 le: janvier 29, 2021, 11:17:47 pm »
Ce sera Thierry qui dira mais la réponse est certainement à rechercher chez Gregg E. Berman qui a conçu DCC++.

La question qui a déjà été évoquée est la répétition des commandes reçues, typiquement vitesse et sens, ainsi que l'éclairage pour éviter que la moindre perte de contact arrête ou éteigne une locomotive qui n'a pas de stay-alive.
« Modifié: janvier 29, 2021, 11:40:09 pm par msport »
Cordialement

trimarco232

  • Sr. Member
  • ****
  • Messages: 321
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #392 le: janvier 30, 2021, 05:11:22 am »
merci, je vais jeter un coup d'oeil (si je peux comprendre ce qu'il a voulu faire)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #393 le: janvier 30, 2021, 09:55:32 am »
Et aussi les normes NMRA que Gregg E. Berman a respecté au mieux.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3012
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #394 le: janvier 30, 2021, 10:40:21 am »
Bonjour,

C’est effectivement une question utile dont la réponse sera dans la future doc avec des conséquences sur les performances du bus DCC.

Les commandes DCC sont placées dans des registres d’où elles sont extraites et émises sous interruption.
Les commandes de vitesse et direction sont répétées automatiquement à partir d’un registre dédié à cet effet. Les autres commandes (fonctions des locos et accessoires) ne sont normalement pas répétées.

Mais une couche « locomotives » a été ajoutée dans LaBox et DCCpp pour ajouter des comportements spécifiques : les commandes des lumières sont maintenant répétées.
Pour les autres commandes c’est plus compliqué du fait que certaines se sont que fugitives et d’autres permanentes. Par exemple avec JMRI, c’est gèré dans JMRI. L’interface « locomotives » le permettrai aussi dans LaBox moyennant un peu de développement.

Thierry confirmera ces explications ou les corrigera si je me trompe  ???
Cordialement,
Dominique

trimarco232

  • Sr. Member
  • ****
  • Messages: 321
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #395 le: janvier 30, 2021, 01:23:58 pm »
ça se clarifie pour moi
les fonctions lumières, je n'y avais pas pensé - merci - ; pour les autres fonctions, je m'en tiendrai à laisser le job des répétitions si besoin, à la couche au-dessus (en dehors)
hs
limiter les messages à 11 trains permet une répétition en fréquence + que satisfaisante des pakets ; en fait, la centrale que je projette sera avec un esp32, donc je m'affranchirai totalement des contraintes liées à la compatibilité avec les avr ; de 11 je pourrais allègrement passer à 256, ce qui demanderait un planificateur + costaud ; mais d'une part, 11 trains en marche ça doit suffire pour + de 99% des réseaux ... et d'autre part, la modestie de ma centrale fait qu'un planificateur simple (mais efficace) conviendra très bien
hs\

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3012
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #396 le: février 06, 2021, 03:08:30 pm »
Parlons du CAN


J'avais testé le bus Can de l"ESP32 en me servant de la carte LaBox qui contient son intterface : un simple circuit SN65HVD230 de Texas que l'in trouve sur des petites cartes CJMCU-230 entre 5 et 6 €.

Le programme de test est joint ci-dessous : "Can-test-Jan-21"
Et la discussion initiale ici : https://forum.locoduino.org/index.php?topic=1140.msg12284#msg12284
Comme ciible de test j'avais utilisé une carte satellite V1 programmée avec son logiciel d'origine que l'on trouve sur le Git Locoduino, dans le dossier Locoduinodrome : https://github.com/Locoduino/Locoduinodrome

Le fil noir sert à exciter les entrées des détecteurs ponctuels.

Ensuite j'ai réalisé un programme de test en combinant la version LaBox-078 et un jeu de test consistant à envoyer des commandes de signaux toutes les 2 secondes et à recevoir les messages Can venant du satellite, à savoir : la détection de présence et les 2 détections ponctuelles.
Ce programme est bien évidemment donné ci-dessous : "LaBox-078-TEST_CAN_SATELLITE"
Avec son ID_SAT =  5, ce satellite reçoit sur ID 25 et émet sur ID 15.
Ce programme permet de faire fonctionner simultanément des trains à partir des Withrottle, EngineDriver, Z21 et la petite télécommande radio de msport qui est décrite dans l'article ici : (demain).
Il envoit aussi une suite de commande pour deux signaux : un sémaphore (3 leds); un carré avec rappel de ralentissement (5 leds) et un servo d'aiguillage :
Les 3 octets des messages Can envoyés toutes les 2 secondes sont :
byte jeuTestsSignaux[7][3] = {
  0x20, 0x20, 0x00, //VL1 + VL2
  0x02, 0x20, 0x00, //A1 + VL2
  0x08, 0x80, 0x82, //S1 + RR2 + Devie
  0x02, 0x20, 0x00, //A1 + VL2
  0x20, 0x02, 0x00, //A1 + A2
  0x02, 0x40, 0x01, //A1 + RRc2
  0x08, 0x08, 0x80  //S1 + C2 + devie
};

LaBox est reliée à un port USB pour afficher les messages dans le moniteur de l'IDE.
Le satellite est relié à un autre port USB et j'utilise un émulateur de terminal pour visualiser ce qui en sort.

Jusque là, vous me suivez ?

Bon, les résultats :


J'ai 4 cartes LaBox équipées et 5 cartes CJMCU-230 qui, je le rappelle, ne contiennent que l'ampli de ligne en 3,3V : SN65HVD230.

Mes 4 cartes Labox fonctionnent avec ce test mais avec UNE SEULE des cartes CJMCU-230 !
Avec les 4 autres cartes le bus CAN ne transmet rien (le satellite ne reçoit rien) et le fonctionnement de LaBox est perturbé (possibilité de connecter un Throttle Wifi, mais impossible de sélectionner une adresse DCC donc pas de commandes DCC)

Ca ne va pas plus loin que :
4 From Throttle : NiPhoneDB
4 From Throttle : HUBDE241D3-07EA-4A60-BD6B-EE19
4 From Throttle : MT+S18<;>S18
4 From Throttle : MT-S18<;>r
4 From Throttle : MT+S18<;>S18
4 From Throttle : MT-S18<;>r
4 From Throttle : MT+S18<;>S18

au lieu de :
4 From Throttle : NiPhoneDB
Throttle 4 NiPhoneDB
4 -> *10
4 From Throttle : HUBDE241D3-07EA-4A60-BD6B-EE19
Throttle 4 HUBDE241D3-07EA-4A60-BD6B-EE19
4 From Throttle : *+
Throttle 4 *+
envoi 0 0x20 0x20 0x0
recu de 21 : 0x0
envoi 1 0x2 0x20 0x0
recu de 21 : 0x0
4 From Throttle : MT+S18<;>S18
Throttle 4 MT+S18<;>S18
4 -> MT+S18<;>
4 -> MTAS18<;>F00
4 -> MTAS18<;>F01
4 -> MTAS18<;>F02
4 -> MTAS18<;>F03
4 -> MTAS18<;>F04
4 -> MTAS18<;>F05
4 -> MTAS18<;>F06
4 -> MTAS18<;>F07
4 -> MTAS18<;>F08
4 -> MTAS18<;>F09
4 -> MTAS18<;>F010
4 -> MTAS18<;>F011
4 -> MTAS18<;>F012
4 -> MTAS18<;>F013
4 -> MTAS18<;>F014
4 -> MTAS18<;>F015
4 -> MTAS18<;>F016
4 From Throttle : *
4 -> MTAS18<;>F017
4 -> MTAS18<;>F018
4 -> MTAS18<;>F019
4 -> MTAS18<;>F020
4 -> MTAS18<;>F021
4 -> MTAS18<;>F022
4 -> MTAS18<;>F023
4 -> MTAS18<;>F024
4 -> MTAS18<;>F025
4 -> MTAS18<;>F026
4 -> MTAS18<;>F027
4 -> MTAS18<;>F028
4 -> MT+S18<;>V0
4 -> MT+S18<;>R1
4 -> MT+S18<;>s1
Locomotives ------------------
0 : Loco reg:1 id:18 max:128      +/-speed:0      functions:
Throttle 4 *
4 -> *10
envoi 2 0x8 0x80 0x82
recu de 21 : 0x0
envoi 3 0x2 0x20 0x0
recu de 21 : 0x0
4 From Throttle : *
Throttle 4 *
4 -> *10
envoi 4 0x20 0x2 0x0
recu de 21 : 0x0
envoi 5 0x2 0x40 0x1
recu de 21 : 0x0
4 From Throttle : *
Throttle 4 *
4 -> *10
envoi 0 0x20 0x20 0x0
recu de 21 : 0x0
envoi 1 0x2 0x20 0x0
recu de 21 : 0x0
où l'on voit la connexion de Withrottle et les messages émis et reçus

Diagnostic :

Ce sont les cartes CJMCU-230 qui posent problème : une seule fait que l'ensemble fonctionne bien et les 4 autres perturbent l'ESP32.

J'aimerai savoir si, parmi ceux qui ont monté LaBox, vous avez pu tester la connexion Can. Attention, pour ne pas mettre le circuit à l'envers, le SN65HVD230 doit se trouver du coté de la carte LaBox.
Je ne m'attends pas à beaucoup de réponses mais vous avez tout ce qu'il faut maintenant pour le faire et je vous en remercie d'avance.
Je vais donc commander d'autres  CJMCU-230 auprès d'autres fournisseurs.

Autre anomalie :


J'ai constaté qu'à la mise en route du couple LaBox + Satellite (avec la bonne carte CJMCU-230) , les messages Can envoyés ne sont pas ceux du jeu de test, par exemple, vu coté satellite :
Rid: 25 0x0 0x20 0x0 nor
Rid: 25 0x0 0x2 0x0 nor
Rid: 25 0x0 0x20 0x0 nor
Rid: 25 0x0 0x2 0x0 nor
Rid: 25 0x0 0x20 0x0 nor
Rid: 25 0x0 0x2 0x0 nor
Mais dès qu'un Throttle est correctement connecté, le test Can redevient normal. Cela vient peut-être du logiciel LaBox.
Mais le lendemain, tout fonctionne bien : je ne sais pas ce qu'il s'est passé : espoir !
« Modifié: février 08, 2021, 05:40:54 pm par Dominique »
Cordialement,
Dominique

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #397 le: février 06, 2021, 04:47:15 pm »
Bonjour Dominique (c'est presque un message privé...)

Cette semaine, je cherchai un transceiver CAN pour interfacer non un ESP32 mais un TEENSY, ce qui ne change rien sur le fond.
Le souci que tu rencontres avec les CJMCU-230 n'est pas isolé, il y a des cas sur d'autres forum (mais tout de même, 1/5 c'est pas banal !)
(D'après ce que j'ai lu, le problème serait fonction du débit : https://esp32.com/viewtopic.php?t=380&start=170 )

Parce que j'étais impatient et avec le sentiment probablement illusoire d'un risque moindre, j'en ai trouvé UN (le dernier !) chez un vendeur France, relativement pas cher, toujours très rapide : commandé jeudi reçu ce midi : https://www.ebay.fr/itm/CJMCU-230-module-communication-%C3%A9metteur-r%C3%A9cepteur-bus-CAN-SN65HVD230-1345Z/293132899616?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2648

Pas de DCC ni donc de LaBox dans mon cas, je ne pourrai donc pas apporter de réponse à ta question.
Mais c'est moi qui en ai une ! Je ne peux pas utiliser ton code pour tester mon module. Mais y aurait-il un test tout simple, un test "de paillasse", qui distingue celui qui marche des 4 autres ? Car il serait trop beau que l'adaptation du code ne réserve pas aussi des surprises et alors comment savoir !
Si tu as une idée, merci d'avance !


Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 800
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #398 le: février 06, 2021, 05:25:43 pm »
Concernant ces petites cartes CJMCU-230, je me souviens avoir lu quelque part que la sérigraphie était inversée entre deux pins... Se pourrait-il que ce marquage soit quelquefois vrai, selon le fournisseur ?

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1713
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #399 le: février 06, 2021, 07:20:44 pm »
Utilisez un MCP2562. Il est moins cher que ce module et il fonctionne  :)
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3012
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #400 le: février 06, 2021, 08:17:06 pm »
Merci pour la réponse : il est moins cher et son brochage est proche de celui du SN65HVD230. Je peux en trouver en France rapidement et me faire une mini carte sur plaque de pastille pour tester. Heureusement il y a assez de place sur LaBox, au dessus du régulateur 5V.
« Modifié: février 06, 2021, 08:40:25 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3012
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #401 le: février 06, 2021, 08:20:25 pm »
Concernant ces petites cartes CJMCU-230, je me souviens avoir lu quelque part que la sérigraphie était inversée entre deux pins... Se pourrait-il que ce marquage soit quelquefois vrai, selon le fournisseur ?

Vu à la loupe des deux cotés : pas de différence.
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3012
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #402 le: février 06, 2021, 08:38:47 pm »
Bonjour Dominique (c'est presque un message privé...)
Mais y aurait-il un test tout simple, un test "de paillasse", qui distingue celui qui marche des 4 autres ? Car il serait trop beau que l'adaptation du code ne réserve pas aussi des surprises et alors comment savoir !
Si tu as une idée, merci d'avance !

Tu sais, en général je pars des exemples fournis avec la bibliothèque et je les bricole pour faire un test rapidement. Le plus simple (selon moi) est de commencer par faire un récepteur-emetteur (qui réémet tout ce qu'il reçoit, voire en modifiant au passage)  avec un Nano et une carte comme expliqué dans l'article sur ACAN de Jean-Luc. Il faut toujours avoir ce truc dans un tiroir. Moi j'ai un Nano avec une écran LCD et une carte Locoduino. Malheureusement en CAN tu ne peux pas relier CANH et CANL, ça ne marche pas.
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #403 le: février 06, 2021, 09:05:17 pm »
Concernant ces petites cartes CJMCU-230, je me souviens avoir lu quelque part que la sérigraphie était inversée entre deux pins... Se pourrait-il que ce marquage soit quelquefois vrai, selon le fournisseur ?

Vu à la loupe des deux cotés : pas de différence.

Et on trouve bien une 120ohms entre CANH et CANL sur les quatre cartes que j'ai.
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #404 le: février 06, 2021, 09:16:25 pm »
A priori aucune de mes quatre cartes ne fonctionne :
coté satellite :
controleurCAN configuration OK
versionSW 0.1 17 Janvier 2021message envoyé
message envoyé
message envoyé
message envoyé
message envoyé
echec de l'envoi 
echec de l'envoi 
echec de l'envoi
etc.

coté LaBox :
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
LaBox 0.7.9
Server IP address: 192.168.4.1 (Locoduino LaBox) connected ! connectWifi achieved.
Ino executing on core 1
Throttles command receivers executing on core 0
begin achieved
Signal started for Main track on pin 33
Main track DCC ESP32 started.
beginMain achivied with pin 33
ESP32 CAN - LaBox + Satellite V1
*** LaBox LIBRARY : 0.7.9
VERSION DCC++     : 2.0.0
COMPILED          : Feb  6 2021 17:17:16
   ENABLE(PWM): 32
   CURRENT: 36
Throttles ------------------
0 : Serial
1 : ThrottleWifi: Z21 - 1  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
2 : ThrottleWifi: Z21 - 2  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
3 : ThrottleWifi: Z21 - 3  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
4 : ThrottleWifi: WiThrottle - 1  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
5 : ThrottleWifi: WiThrottle - 2  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
6 : ThrottleWifi: WiThrottle - 3  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
envoi 0 0x20 0x20 0x0
envoi 1 0x2 0x20 0x0
envoi 2 0x8 0x80 0x82 0 From Throttle : 1
0 From Throttle : 1
0 From Throttle : t1 8 0 0
0 Message From Throttle :
0 Message From Throttle :


Cordialement