82 lines
2.7 KiB
Plaintext
82 lines
2.7 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<!-- Translated by Blorec Hervé le 2017-01-20 -->
|
|
<title>JMRI Matériel - CAN - Scripts</title>
|
|
<!--#include virtual="/help/fr/parts/Style.shtml" -->
|
|
</head>
|
|
|
|
<body>
|
|
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
|
|
<div id="mBody">
|
|
<!--#include virtual="Sidebar.shtml" -->
|
|
<div id="mainContent">
|
|
<!-- Page Body -->
|
|
|
|
<h1>Prise en charge Matériel: CAN - Scripts</h1>
|
|
|
|
<p>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
|
|
|
|
<p>
|
|
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'<a href="../../tools/scripting/index.shtml">Aide Script</a>.
|
|
|
|
<p>
|
|
Il y a un exemple basique de script dans le répertoire jython
|
|
<a href="../../../../../jython/CanExample.py"> CanExample.py</a>.
|
|
|
|
<h2>Exemples de Script Code</h2>
|
|
|
|
<h3>Envoi des Trames CAN</h3>
|
|
|
|
<h2>Envoi des Trames CAN</h2>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.
|
|
<pre style="font-family: monospace;">
|
|
|
|
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)
|
|
</pre>
|
|
|
|
<h3>Réception de Trames CAN</h3>
|
|
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.
|
|
|
|
<code>
|
|
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())
|
|
</code>
|
|
|
|
<a name="documentation"></a><h2>Documentation</h2>
|
|
<h3>Aide JMRI</h3>
|
|
<ul>
|
|
<li>Retour à la page <a href="index.shtml">support d'Aide Principale Réseau CAN</a>.
|
|
</ul>
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div><!-- closes #mainContent-->
|
|
</div> <!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|