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
- Retour à la page support d'Aide Principale Réseau CAN.