Parlons Arduino > JMRI et Arduino

Protocole de pilotage

<< < (2/4) > >>

Jean-Luc:

--- Citation de: fcot2002 le mai 31, 2019, 10:27:22 am ---
--- Citation de: Jean-Luc le mai 30, 2019, 06:55:06 pm ---Enfin, ici, JMRI n'a pas à avoir connaissance de l'existence du CAN et je ne vois donc pas l'intérêt de C/MRI  :)

--- Fin de citation ---

 :o :o :o :o CAN & C/MRI étant des bus respectifs, pourquoi le C/MRI n'a-t-il pas d'intérêt ? Chacun sa paroisse. De toutes manières les deux sont reconnus par JMRI.

--- Fin de citation ---

Il me semblait avoir été clair par l'utilisation de ici. Il n'a pas d'intérêt ici car C/MRI marche avec un bus RS485 + un paquet de soft pour assurer tout ce qui est au dessus de la couche physique. Il n'a pas d'intérêt pour Olc95 qui est forcément en CAN.

Par ailleurs, ça pourrait être sympa de pouvoir discuter sans se voir accuser d'être de partie pris  ::)

Jean-Luc:

--- Citation de: fcot2002 le mai 31, 2019, 01:55:06 pm ---
--- Citation de: nopxor le mai 31, 2019, 12:04:57 pm ---Le bus CAN de Locoduino n'est pas reconnu par JMRI.
Actuellement seul les bus CAN OpenLCB et CBUS MERG sont compatibles.
http://jmri.org/help/fr/html/hardware/can/index.shtml

--- Fin de citation ---
Wow dommage ! Ne serait-ce un peu se tirer une balle dans le pieds que de ne pas être compatible ? Ou quelles sont les contraintes imposant cette incompatibilité ?

--- Fin de citation ---

Les contraintes sont de rajouter du logiciel dans JMRI. Si ça te tente, il suffit de faire un
--- Code: ---git clone https://github.com/JMRI/JMRI.git
--- Fin du code ---
, je suis sûr que toute contribution sera favorablement accueillie  ;)

Je ne sais pas si c'est se tirer une balle dans le pied (comme précisé maintes fois, Locoduino n'a pas de but lucratif et donc pas de pied). De toutes façon une simple passerelle série/CAN fait l'affaire et est beaucoup moins complexe à implémenter.

Enfin, même remarque que ci-dessus : serait-il possible de discuter sereinement sans se faire attaquer avec des « Wow dommage », des histoires de « chapelle » et des « balles dans le pied » ?

msport:
Bien d'accord que pour réaliser quelque chose qui marche, il faut déjà avoir les idées claires sur l'architecture qu'on veut mettre en œuvre en évitant de choisir des briques sympathiques au demeurant mais nécessitant des interfaces délicates à développer.

Peut-être (re)lire : Comment réussir son projet Arduino
http://locoduino.org/spip.php?article233

olc95:
Bonjour,

Je n'ai en effet pas retenu la piste consistant à implémenter le protocole du bus CAN des Satellites directement au niveau de JMRI. Je ne suis pas persuadé que le projet Satellite soit suffisamment populaire à ce jour pour que l'équipe de développement de JMRI accepte de merge-request un nouveau module. C'est pourquoi j'ai préféré rester dans l'idée d'un SAM qui s’interface au logiciel pour lui donner accès aux satellites de façon simple.

Bref, mon idée est plutôt de m'appuyer sur un protocole existant et supporté par JMRI. Faire ainsi présente l'énorme avantage de rendre le projet Satellite immédiatement utilisable avec tous les logiciels supportant le protocole retenu (très probablement C/MRI dans mon cas).

Peut-être que je fais fausse route et je veux bien en discuter. Je fais cela pour m'amuser, il n'y a pas d'enjeu derrière. Au pire j'aurai appris comment fonctionne un bus CAN et progressé dans la compréhension de JMRI ... ce qui sera déjà pas si mal ! :)

--
Olivier

Jean-Luc:
En résumé si j'ai bien compris (j'ai survolé les docs) :

Le standard C/MRI couvre à la fois du matériel (transmission via RS485 le long d'une chaine de nœuds, chaque nœud assurant la transmission eu nœud suivant si le message n'est pas pour lui) et du logiciel : format de trame.

JMRI supporte un système de configuration des capteurs (et des actionneurs) pour un certains nombre de cartes compatibles C/MRI : USIC, SUSIC ou Smini. La SUSIC par exemple est une carte supportant jusqu'à 64 cartes filles, chacune avec 24 ou 32 lignes. Donc 64 x 32 = 2048 E/S

L'avantage est que JMRI permet de configurer ceci de manière plus conviviale via une interface graphique.

L'idée est donc de faire une carte qui, par exemple, se fait passer pour une SUSIC (enfin un peu moins, 2048 E/S c'est 158 Satellites mais on peut imaginer d'avoir des passerelles CAN-CAN de manière à monter au dessus de 100 nœuds). Elle reçoit des trames de JMRI via la ligne série. Ces trames sont telles que décrites dans un manuel payant mais que j'ai trouvé sur le NMRA : https://www.nmra.org/sites/default/files/standards/sandrp/pdf/S-9.10%20CMRInet%20DRAFT.pdf d'une part. D'autre part, elle transcode ces messages à destination de cartes Satellite V1 (ou V2). À l'inverse elle reçoit les messages des Satellites et les transcodes pour se faire passer pour une SUSIC.

C'est l'idée ?

Navigation

[0] Index des messages

[#] Page suivante

[*] Page précédente

Utiliser la version classique