Files
JIMRI/help/fr/html/hardware/can/scripting.shtml
T
2026-06-17 14:00:51 +02:00

82 lines
2.7 KiB
Plaintext

<!DOCTYPE html>
<html lang="fr">
<head>
<!-- Translated by Blorec Herv&#233; le 2017-01-20 -->
<title>JMRI Mat&#233;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&#233;riel: CAN - Scripts</h1>
<p>Script JMRI peut &#234;tre utilis&#233; pour
envoyer et recevoir des trames CAN.
Vous pouvez l'utiliser pour cr&#233;er des routines de test pour
des cartes en cours de d&#233;veloppement, etc
<p>
Cette page d&#233;crit les extensions CAN pour les scripts JMRI.
Pour plus d'informations sur le script JMRI lui-m&#234;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&#233;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&eacute;&eacute;s comme des objets, puis mis en file
d'attente pour transmission. L'en-t&ecirc;te (ID) et les
donn&eacute;es sont trait&eacute;es s&eacute;par&eacute;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&#233;ception de Trames CAN</h3>
Un script peut &#233;couter les trames CAN comme elles sont re&#231;ues
du bus, et s&#233;par&#233;ment pour les trames CAN qui sont
transmises sur le bus par JMRI.
L'interface CanListener fournit ceux-ci s&#233;par&#233;ment
via des proc&#233;dures "reply"et "message", respectivement.
<code>
class MyCanListener (jmri.jmrix.can.CanListener) :
def message(self, msg) :
# g&egrave;re la transmission des trames CAN en ignorant leurs retours
def reply(self, msg) :
# g&egrave;re la r&eacute;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 &#224; la page <a href="index.shtml">support d'Aide Principale R&#233;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>