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.
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)
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())