279 lines
12 KiB
Plaintext
279 lines
12 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<!-- Updated by Blorec Hervé le 2016-08-12-->
|
|
<head>
|
|
<title>JMRI: Ajouter un Nouveau Système</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI technical system add">
|
|
<!--#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>JMRI: Ajouter un Nouveau Système</h1>
|
|
|
|
<div class="para">
|
|
<p>Cette page décrit les étapes pour ajouter un nouveau type de données,
|
|
par exemple, Appareils Powerline (Coupleur Courant Porteur CPL), à JMRI.</p>
|
|
|
|
<p>Elle utilise comme exemple l'ajout du type
|
|
du "courant porteur en ligne" en Janvier 2008.</p>
|
|
</div>
|
|
|
|
<div class="list">
|
|
<p>Nous listons les fichiers qui sont modifiés et créés dans l'
|
|
ordre où ils ont été fait dans ce cas, les autres ordres peuvent aussi travailler,
|
|
et vous ne pourriez pas devoir à faire tout cela.</p>
|
|
<p>
|
|
Dans ce cas particulier, nous avons commencé par la copie d'une
|
|
réalisation d'un système existant (SECSI). Ceci affecte la façon
|
|
dont nous avons ordonné cela, et fait bouger le processus de base assez
|
|
rapidement.
|
|
|
|
<h3>Dupliquer un système existant</h3>
|
|
<dl>
|
|
<dt>Créer une double arborescence de fichiers</dt>
|
|
<dd>
|
|
<p>En utilisant tous les outils qui vous aident,
|
|
dupliquer l'arborecence src/jmri/jmrix correspondant
|
|
au système existant que vous souhaitez copier.</p>
|
|
</dd>
|
|
|
|
<dt>Modifiez les informations de nom du paquet</dt>
|
|
<dd>
|
|
<p>En utilisant votre éditeur favori, changez tous les noms des paquets
|
|
dans les nouveaux fichiers à leur nouveaux emplacements. Dans cet exemple
|
|
qui était un remplacement de "jmri.jmrix.secsi" par "jmri.jmrix.powerline".
|
|
</dd>
|
|
|
|
<dd>À ce point, soyez sûr de pouvoir compiler. Ce code
|
|
n'est pas encore compatible, Mais il devrait se compiler.</dd>
|
|
|
|
<dt>Vérifier les dates du copyright</dt>
|
|
<dd>
|
|
<p>Parce que vous avez copié un système qui pourraient ne pas
|
|
avoir été touché pendant un certain temps, ajoutez l'année
|
|
courante ( et si nécessaire, votre nom ) aux notes du copyright
|
|
dans tous les fichiers.</p>
|
|
</dd>
|
|
|
|
|
|
<dt>Création d'une structure SVN</dt>
|
|
<dd>
|
|
<p>Dans cette étape, nous avons la structure de base SVN en place.</p>
|
|
<ul>
|
|
<li>Ajouter tous les répertoires que vous avez créé dans SVN. Dans l'exemple,
|
|
c'était: <br>
|
|
<code>svn add powerline powerline serialdriver/serialmon/<br>
|
|
svn add powerline/configurexml powerline/serialdriver/configurexml</code>
|
|
<li>Ajouter tous les fichiers COPYING :<br>
|
|
<code>svn add powerline/COPYING powerline/*/COPYING powerline/*/*/COPYING</code>
|
|
<li>Enfin, remettre ces fichiers (mais seulement ces fichiers):<br>
|
|
<code>svn commit -m"usual file" powerline</code>
|
|
</ul>
|
|
</dd>
|
|
|
|
<dd>À ce stade, assurez-vous que vous pouvez compiler.</dd>
|
|
<!-- (The dl vs h3 structure is really messed up here and below) -->
|
|
</dl>
|
|
|
|
<h3>Faire une Migration Basique</h3>
|
|
<dl>
|
|
<dt>Migrer les noms</dt>
|
|
<dd>
|
|
<p>À l'aide de votre éditeur favori, changer toutes
|
|
les occurrences de l'ancien nom système par le nouveau.</p>
|
|
<p>Puis rechercher et remplacer, peut-être pas littéralement, toutes les
|
|
occurrences.</p>
|
|
</dd>
|
|
|
|
<dd>À ce stade, assurez-vous que vous pouvez compiler.</dd>
|
|
</dl>
|
|
|
|
<h3>Créer des Tests Basiques</h3>
|
|
<dl>
|
|
<dt> Dupliquer les répertoire</dt>
|
|
<dd>
|
|
<p>En suivant les étapes ci-dessus, Dupliquer
|
|
le répertoire pour les tests des systèmes précédents,
|
|
la création d'un nouveau répertoire dans le test/jmri/jmrix
|
|
pour contenir les tests.<br>
|
|
Changer le nom des paquets, vérifier les dates de copyright,
|
|
créer la structure de SVN, et migrer les noms.</p>
|
|
</dd>
|
|
<dd>
|
|
<p>A ce stade, assurez-vous que vous pouvez compiler
|
|
à la fois le code principal (qui n'a pas été modifié dans cette étape)
|
|
et les tests.</p>
|
|
|
|
<p>Vous devez également être en mesure d'exécuter avec succès le
|
|
tests dans votre nouveau système (même s'il a été créé
|
|
pour la fonctionnalité de l'ancien système):
|
|
tests ant <code> &&./runtest.csh jmri.jmrix.powerline.SerialTest</code></p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<h3>Connectez les Bases vers le reste du système</h3>
|
|
<dl>
|
|
<dt>Connectez-vous à la configuration des menus</dt>
|
|
<dd>
|
|
<p>Modifier les fichiers jmri/jmrix/ActiveSystemsMenu.java (deux places),
|
|
src/jmri/jmrix/JmrixConfigPane.java (une place) et
|
|
src/jmri/jmrix/SystemsMenu.java (une place) pour ajouter le nouveau
|
|
système.</p>
|
|
<p>Ne soumettez pas ce SVN encore!</p>
|
|
</dd>
|
|
|
|
<dd>À ce stade, assurez - vous que vous pouvez compiler et exécuter DecoderPro, et
|
|
que votre nouveau système apparaît dans le panneau des préférences.</dd>
|
|
|
|
<dt>Connectez - vous pour tester l'arbre</dt>
|
|
<dd>
|
|
<p>Modifier le fichier test/jmri/jmrix/JmrixTest.java
|
|
pour appeler vos tests du nouveau système.</p>
|
|
<p>Ne soumettez pas ce SVN encore!</p>
|
|
</dd>
|
|
|
|
<dd>À ce point, lorsque vous faites "ant alltest", votre nouveau système de test
|
|
doit être exécuté.</dd>
|
|
</dl>
|
|
|
|
<h3>Migrer vers des fonctionnalités de Base</h3>
|
|
<dl>
|
|
<dt>mise à jour des options de connexion</dt>
|
|
<dd>
|
|
Vitesses, etc, dans powerline/serialdriver/SerialDriverAdapter.java.
|
|
</dd>
|
|
|
|
<dt>Obtenez d'envoyer/recevoir des communications de travail</dt>
|
|
<dd>
|
|
La première étape est d'obtenir des communications de travail afin que
|
|
vous puissiez envoyer un message de la fenêtre "Envoyer la commande",
|
|
et la voir et voir la réponse dans la fenêtre "Moniteur".</dd>
|
|
</dl>
|
|
|
|
<h3>Le Rendre facile à utiliser</h3>
|
|
<dl>
|
|
<dt>Ajouter de Possibles Éléments de Démarrage</dt>
|
|
<dd>
|
|
<p>Modifier src/apps/ActionListBundle.properties pour ajouter des éléments appropriés.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<h3>Compléter la documentation</h3>
|
|
<dl>
|
|
<dt>Créer L'Arbre d'Aide</dt>
|
|
<dd>
|
|
<p>Commencez par dupliquer, puis modifiez, n'oubliez pas de
|
|
mettre à jour l'index.</p>
|
|
<p>Vous aurez également à modifier les emplacements sur
|
|
les différents cadres</p>
|
|
</dd>
|
|
|
|
<dt>ant javadoc</dt>
|
|
<dd>
|
|
<p>Créer les JavaDocs, et résoudre les éventuels nouveaux (ou anciens) problèmes.</p>
|
|
</dd>
|
|
|
|
<dt>Ajouter le système aux pages web "matériel"</dt>
|
|
<dd>
|
|
<p>Modifier help/fr/html/hardware/index.shtml.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2>Ajouter une connexion TCP/IP à un système existant</h2>
|
|
|
|
Ce sont des notes brutes de l'ajout d'une connexion TCP/IP du type RFID,
|
|
en copiant l'architecture du système C/MRI.
|
|
|
|
<ol>
|
|
<li>Créer un répertoire "networkdriver" en parallèle avec le répertoire "serialdriver".
|
|
<br>
|
|
<code>svn cp java/src/jmri/jmrix/cmri/serial/networkdriver/ java/src/jmri/jmrix/rfid/</code></li>
|
|
|
|
<li>Éditez le paquet et importez les états, tous les fichiers ".cmri.serial." à ".rfid.",
|
|
puis ".cmri." à ".rfid.".</li>
|
|
|
|
<li>changez le "setManufacturer" appelé dans NetworkDriverAdapter.</li>
|
|
|
|
<li>C/MRI pourrait ne pas avoir été le meilleur point de départ, mais c'est ce que nous avons.
|
|
Quelques modifications spécifiques nécessaire:
|
|
<ul>
|
|
<li>Changez CMRISystemConnectionMemo pour RfidSystemConnectionMemo
|
|
<li>Enlevez la référence à NodeConfigAction dans ConnectionConfig ( ou
|
|
utilisez ceci comme la base pour les configurations spéciales dont vous avez besoin;
|
|
c'était pour ajouter un bouton "Configure Nodes" )
|
|
<li>Changez le nom de SerialSensorManager
|
|
<li>Enlevez les références SerialTurnoutManager SerialLightManager ( Il n'y en a pas dans la RFID )
|
|
<li>Ajoutez RfidReporterManager
|
|
</ul>
|
|
</li>
|
|
<li>À besoin d'un pilote de réseau:
|
|
<code>svn cp java/src/jmri/jmrix/cmri/serial/SerialNetworkPortController.java java/src/jmri/jmrix/rfid/RfidNetworkPortController.java</code><br>
|
|
et modifiez le comme ci-dessus.</li>
|
|
|
|
<li>java/src/jmri/jmrix/rfid/networkdriver/configurexml/ConnectionConfigXml.java
|
|
contient du code mort pour configurer les nœuds C/MRI (encore une fois, peut-être pas
|
|
le bon système à copier). Laissez cela pour plus tard en commentant le corps
|
|
de extendElement (Element e) et décompressez Element (élément e).</li>
|
|
|
|
<li>Changez les références SerialTrafficController pour RfidTrafficController.</li>
|
|
|
|
<li>Un autre problème avec C/MRI comme prototype est qu'il a encore une
|
|
instance () appel dans NetworkDriverAdapter. Aller à RFID SerialDriverAdapter
|
|
et copiez la structure là.
|
|
<code>
|
|
// connect to the traffic controller
|
|
this.getSystemConnectionMemo().setRfidTrafficController(control);
|
|
control.setAdapterMemo(this.getSystemConnectionMemo());
|
|
control.connectPort(this);
|
|
control.sendInitString();
|
|
|
|
// declare up
|
|
jmri.jmrix.rfid.ActiveFlag.setActive();
|
|
</code>
|
|
( Il y a aussi un tas de choses avant cela dans la méthode configurée () qui doit
|
|
simplement être copié, parce que Les connexions RFID ont aussi besoin d'une configuration compliquée );
|
|
l'acteur a également besoin de certaines parties copiées.</li>
|
|
|
|
<li>Ajoutez jmri.jmrix.rfid.networkdriver.ConnectionConfig à
|
|
java/src/jmri/jmrix/rfid//RfidConnectionTypeList.java</li>
|
|
|
|
<li>Changez "RFID Device Connection" pour "Direct Serial Connection" dans ConnectionConfig.name()
|
|
La connexion réseau par défaut à "Network Connection".</li>
|
|
|
|
<li>Vérifiez que configure/save/restart ramène toutes les options de configuration.</li>
|
|
|
|
</ol>
|
|
|
|
<h2>Connexions avec une Configuration Compliquée</h2>
|
|
|
|
Certains types de connexion ont besoin de plus de configuration et/ou la configuration que vous pouvez
|
|
obtenir avec l'habituel mécanisme option1/option2/option3. Les outils disponibles sont:
|
|
|
|
<ul>
|
|
<li>loadDetails() dans ConnectionConfig. Cette fonction est appelée lors de
|
|
la mise en place de la fenêtre des préférences, et peut être utilisée pour ajouter
|
|
des commandes supplémentaires C/MRI l'utilise pour ajouter un bouton "Configure Nodes".
|
|
RFID l'utilise pour ajouter des écouteurs qui contrôlent quelles combinaisons d'options sont disponibles.</li>
|
|
|
|
<li>extendElement(Element e) et unpackElement(Element e) dans ConnectionConfigXml
|
|
peut être utilisé pour stocker des informations supplémentaires et les recharger, respectivement.
|
|
C/MRI l'ajoute pour stocker ses informations de nœuds</li>
|
|
|
|
</ul>
|
|
|
|
</div><!-- closes #list-->
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div><!-- closes #mainContent-->
|
|
</div> <!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|