JMRI® connects to...
Controller Area Networks (CAN)
Matériel Supporté
Applications
Par la communauté JMRI.org:
Outils
JMRI fournit des outils puissants pour travailler avec réseau:
Automatisation du Réseau
JMRI peut être utilisé pour automatiser des parties de votre réseau, depuis un simple contrôle d'un croisement à la commande des trains en toîle de fond.

Système d'Aide JMRI

Table des Matières Index
Glossaire FAQ *)
Des pages marqué *) sont en Anglais.

Donner à JMRI Faites un don à JMRI.org

Prise en charge Matériel: CAN - Scripts

Script JMRI peut être utilisé pour envoyer et recevoir des trames CAN. Vous pouvez l'utiliser pour créer des routines de test pour des cartes en cours de développement, etc

Cette page décrit les extensions CAN pour les scripts JMRI. Pour plus d'informations sur le script JMRI lui-même, voir les pages d'Aide Script.

Il y a un exemple basique de script dans le répertoire jython CanExample.py.

Exemples de Script Code

Envoi des Trames CAN

Envoi des Trames CAN

Les Trames CAN sont créés comme des objets, puis mis en file d'attente pour transmission. L'en-tête (ID) et les données sont traitées séparément.

frame = jmri.jmrix.can.CanMessage(2)  # charge 2 bytes
frame.setId(0x123)
frame.setElement(0, 0x45)
frame.setElement(1, 0x67)
jmri.jmrix.can.TrafficController.instance().sendCanMessage(frame, None)

Réception de Trames CAN

Un script peut écouter les trames CAN comme elles sont reçues du bus, et séparément pour les trames CAN qui sont transmises sur le bus par JMRI. L'interface CanListener fournit ceux-ci séparément via des procédures "reply"et "message", respectivement. class MyCanListener (jmri.jmrix.can.CanListener) : def message(self, msg) : # gère la transmission des trames CAN en ignorant leurs retours def reply(self, msg) : # gère la réception des trames CAN en imprimant leur contenu print "received Frame" print "ID: 0x"+java.lang.Integer.toHexString(msg.getId()) print "content: ", msg.toString() return jmri.jmrix.can.TrafficController.instance().addCanListener(MyCanListener())

Documentation

Aide JMRI