Création de votre propre fichier de définition d'un décodeur

Animateurs: XTof_vl, Rodolphe

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar Rodolphe
21 Oct 2009, 21:05

XTof_vl a écrit:C'est suffisant et ce n'est pas sorcier. C'est juste dommage que le paramétrage de ce décodeur est limité.


Je suis un peu étonné qu'ils ne permettent pas plus de réglages en effet. Ou qu'ils ne précisent pas dans le notice que c'est possible. Sur le site il y a une mention un peu bizarre comme quoi il n'est pas nécessaire de programmer, ou un truc du genre.

Rodolphe
Avatar de l’utilisateur
Rodolphe
Jardinier de salon
 
Messages: 23817
Âge: 51
Enregistré le: 11 Déc 2007, 13:26
Localisation: Auzeville-Tolosane, 31

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
21 Oct 2009, 21:33

Basic
Alors, comme premier onglet à décrire, nous allons choisir la page "basic". C'est une des plus simple.



Nous trouvons sur cette page:
- L'adresse courte
- L'adresse longue
- Le mode d'adressage
- La direction normale ou opposée
- Le nombre de pas de vitesse
- Le mode de fonctionnement en analogique
- Les deux identifiants utilisateurs
- L'identifiant d'ESU et du décodeur

Que trouvons-nous pour chacun de ces éléments dans le fichier de définition du décodeur?
Adresse courte
Code: Tout sélectionner
   <variable label="Primary Address" CV="1" comment="Short address" item="Short Address" default="03">
      <shortAddressVal/>
   </variable>

Cela signifie:
- Label à l'écran: "Primary Address"
- CV concerné = 1, de type shortAddressVal = adresse courte dont la valeur par défaut est 3!

Adresse longue
Code: Tout sélectionner
   <variable label="Extended Address" CV="17"  item="Long Address">
      <longAddressVal/>
   </variable>

Cela signifie:
- Label à l'écran: "Extended Address"
- CV concerné = 17, de type longAddressVal = adresse longue sans valeur par défaut.
DecoderPro va interpréter le type (adresse longue) et va automatiquement stocker l'adresse dans le CV 17 et le CV suivant (CV 18)

Mode d'adressage:
Code: Tout sélectionner
   <variable label="Addressing Mode" CV="29" mask="XXVXXXXX" item="Address Format">
      <enumVal>
         <enumChoice choice="2 digit addressing"/>
         <enumChoice choice="4 digit addressing"/>
      </enumVal>
   </variable>

Cela signifie:
- Label à l'écran = "Adressing Mode"
- Le CV qui sera modifié = CV 29
- Que dans le CV 29, c'est le 6ème bit en partant de la droite qui doit être modifié (voir la position du "V" dans le "mask")
- Que si "2 digit addressing" est sélectionné, le bit sera à zéro
- que si "4 digit addressing" est sélectionné, le bit sera à un

Direction normale ou opposée
Code: Tout sélectionner
   <variable label="Normal direction of motion" CV="29" mask="XXXXXXXV" item="Locomotive Direction">
      <enumVal>
         <enumChoice choice="Forward"/>
         <enumChoice choice="Reverse"/>
      </enumVal>
   </variable>

Cela signifie:
- Label à l'écran = "Normal Direction of Motion"
- Le CV qui sera modifié = CV 29
- Que dans le CV 29, c'est le premier bit en partant de la droite qui doit être modifié (voir la position du "V" dans le "mask")
- Que si "Forward" est sélectionné, le bit sera à zéro
- que si "Reverse" est sélectionné, le bit sera à un


pas de vitesse
Code: Tout sélectionner
   <variable label="Speed Steps" CV="29" mask="XXXXXXVX" item="Speed Step Mode" default="1">
      <enumVal>
         <enumChoice choice="14"/>
         <enumChoice choice="28/128 (recommended)"/>
      </enumVal>
   </variable>

Cela signifie:
- Label à l'écran = "Speed Steps"
- Le CV qui sera modifié = CV 29
- Que dans le CV 29, c'est le deuxième bit en partant de la droite qui doit être modifié (voir la position du "V" dans le "mask")
- Que si "14" est sélectionné, le bit sera à zéro
- que si "28/128 (recommended)" est sélectionné, le bit sera à un

mode de fonctionnement en analogique
Code: Tout sélectionner
   <variable label="Analog conversion mode" CV="29" mask="XXXXXVXX" default="1" item="Analog (DC) Operation">
      <enumVal>
         <enumChoice choice="Off"/>
         <enumChoice choice="On"/>
      </enumVal>
   </variable>

Cela signifie:
- Label à l'écran = "Analog conversion mode"
- Le CV qui sera modifié = CV 29
- Que dans le CV 29, c'est le troisième bit en partant de la droite qui doit être modifié (voir la position du "V" dans le "mask")
- Que si "Off" est sélectionné, le bit sera à zéro
- que si "On" est sélectionné, le bit sera à un

identifiants utilisateurs
Code: Tout sélectionner
   <variable label="User Id #1" CV="105" default="0">
      <decVal/>
   </variable>
   <variable label="User Id #2" CV="106" default="0">
      <decVal/>
   </variable>

Cela signifie
- Que le label à l'écran est "User Id #1" et User Id #2"
- Que les deux CVs concernés sont le CV 105 et le CV 106
- Qu'ils peuvent prendre n'importe quelle valeur décimale de 0 à 255, avec zéro comme valeur par défaut

identifiant d'ESU et décodeur
Code: Tout sélectionner
   <variable label="Decoder Version " CV="7" readOnly="no" item="Decoder Version">
      <decVal/>
   </variable>
   <variable label="Manufacturer ID" CV="8" readOnly="no" item="Manufacturer">
      <decVal/>
   </variable>

Cela signifie:
- Que dans le CV 7 on retrouve la version du décodeur et que dans le CV 8 on retrouve l'identifiant du fabricant.
- Que pour qu'un CV qui ne peut être modifié s'affiche, il faut impérativement qu'il soit accessible en lecture... A ne pas modifier toutefois...

Comme l'onglet "basic" est systématiquement présent, il est géré dans DecoderPro et ne doit pas avoir de configuration particulière dans le fichier de définition du décodeur. C'est donc DecoderPro qui ajoute automatiquement les "radio buttons" pour le choix de l'adressage et l'adresse active.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
23 Oct 2009, 10:26

Analog Controls

Voici un deuxième onglet qui précise le comportement des fonctions en cas d'alimentation analogique.



Comme l'onglet "Analog Controls" est systématiquement présent (pour tous les décodeurs), il est géré dans DecoderPro et ne doit pas avoir de configuration particulière dans le fichier de définition du décodeur.

Le code est le suivant:
Code: Tout sélectionner
   <variable label="Analog conversion mode" CV="29" mask="XXXXXVXX" default="1" item="Analog (DC) Operation">
      <enumVal>
         <enumChoice choice="Off"/>
         <enumChoice choice="On"/>
      </enumVal>
   </variable>


Ce code reprend les la sélection du mode analogique. A "Off", la loco ne réagira pas en alimentation analogique.

Code: Tout sélectionner
   <variable label="Analog Mode Function Status - F1" CV="13" mask="XXXXXXXV">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F2" CV="13" mask="XXXXXXVX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F3" CV="13" mask="XXXXXVXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F4" CV="13" mask="XXXXVXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F5" CV="13" mask="XXXVXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F6" CV="13" mask="XXVXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F7" CV="13" mask="XVXXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F8" CV="13" mask="VXXXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - FL(f)" CV="14" mask="XXXXXXXV" default="1">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - FL(r)" CV="14" mask="XXXXXXVX" default="1">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F9(f)" CV="14" mask="XXXXXVXX" item="Analog F9(f)">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F10(f)" CV="14" item="Analog F10(f)" mask="XXXXVXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F11" CV="14" item="Analog F11" mask="XXXVXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F12" CV="14" item="Analog F12" mask="XXVXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F9(r)" CV="14" item="Analog F9(r)" mask="XVXXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>
   <variable label="Analog Mode Function Status - F10(r)" CV="14" item="Analog F10(r)" mask="VXXXXXXX">
      <enumVal>
         <enumChoice choice="off"/>
         <enumChoice choice="on"/>
      </enumVal>
   </variable>


Ce code, relativement long, reprend le comportement des différentes fonctions du décodeur.

A l'écran, nous voyons que les feux seront allumés et que F1 sera à ON (F1 correspond au son).

Pour le contenu, c'est toujours la même chose: Le label à l'écran, le CV correspondant, le nom de la variable pour le fabricant, le masque d'entrée et les choix possible. Pour certains, une valeur par défaut est indiquée. Pour les autres, cette valeur par défaut est automatiquement nulle, et donc non indiquée.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
23 Oct 2009, 14:48

Basic Speed Control

Voilà encore un onglet standard. Ce qu'il contient est donc contenu dans le programme et n'est pas modifiable.



Voyons les valeurs qui sont déclarées:
Code: Tout sélectionner
   <variable label="Vstart" CV="2" default="3">
      <decVal max="75"/>
   </variable>
   <variable label="Vhigh" CV="5" default="64">
      <decVal max="64"/>
   </variable>
   <variable label="Vmid" CV="6" default="22">
      <decVal max="64"/>
   </variable>
....
   <variable label="Forward Trim" CV="66" default="0" comment="Range 0-255">
      <decVal/>
   </variable>
   <variable label="Reverse Trim" CV="95" default="0" comment="Range 0-255">
      <decVal/>
   </variable>



Nous avons déjà parlé du CV 29 qui reprend le type de courbe de vitesse (table, ou tension de départ, moyenne et maximum). Il est repris automatiquement sur cet écran.

Pour Vstart, Vmid et Vhigh, nous avons le label, le CV et la valeur par défaut (important pour la vitesse). La valeur maximum de la variable est de 75 pour Vstart (tension de démarrage) et de 64 pour les autres tensions.

Pour Forward et Reverse Trim (report de la tension en marche avant et en marche arrière), la valeur par défaut est nulle et la variable peut prendre les valeurs de 0 à 255.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
30 Oct 2009, 16:23

CVs


Voilà un onglet où il e faut pas faire grand chose. Il tient automatiquement compte des CVs définis dans les autres parties du fichier XML de définition du décodeur pour construire sa liste.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
30 Oct 2009, 16:26

Function Labels



A nouveau un écran très simple à programmer: Il va reprendre les données définies par "Functionlabels" (label des fonctions) et les présenter automatiquement à l'écran.

A noter que cet écran n'influence en rien le décodeur mais simplement la commande de locomotive par DecoderPro.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
30 Oct 2009, 16:29

Roster Entry



Encore un écran qui n'einfluence pas la configuration du décodeur mais qui permet de mieux gérer ses configurations avec Decoder Pro.

Aucune entrée n'est à définir, ici tout est automatisé. "ID" permet de retrouver le fichier de configuration de la locomotive, et le reste est composé de champs libres à disposition de l'heureux utilisateur de DecoderPro.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
30 Oct 2009, 16:42

SpeedTable

Plus intéressant, et pourtant très facile, très élémentaire, les variables gérant la table des vitesses!

Le code de la variable est élémentaire, pour le cas qui nous concerne, mais peut être étoffé le cas échéant:
Code: Tout sélectionner
   <variable label="Speed Table" CV="67">
      <speedTableVal/>
   </variable>


Nous trouvons ici simplement que le label est "Speed table" et que la table commence au CV 67... Le reste est défini par des valeurs par défauts, qui peuvent être éventuellement différentes.

En effet, l'élément SpeedTableVal peyt contenir l'élément "SpeedTableEntry" et avoir les attributs suivants:
- entries, qui contient le nombre de CV dans la table des vitesses. Par défaut cette valeur est de 28, valeur très commune pour les décodeurs avec pas de vitesse
- comment: commentaire éventuel
- min: valeur la plus petite possible, par défaut 0
- max, valeur maximum possible, valeur par défaut 255

Pour notre décodeur, nos avons donc une table qui commence au CV 67, qui occupe 28 CVs qui peuvent prendre une valeur de 0 à 255.

L'élément SpeedTableEntry permet de définir chaque pas de vitesse (chaque CV de la table de vitesse en détail, avec comme attribut le numéro du pas, sa valeur et éventuellement un commentaire.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
05 Jan 2010, 11:55

On va un peu s'y remettre...

Voici l'écran de la table des vitesses, qui manquait au poste précédent:

L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Création de votre propre fichier de définition d'un décodeur

Messagepar XTof_vl
05 Jan 2010, 12:37

Motor



Dans cet onglet, nous retrouvons le taux d'accélération et de décélération ainsi que la fréquence à appliquer au moteur:
Code: Tout sélectionner
   <variable label="Acceleration" CV="3" default="8" item="Accel" >
      <decVal max="64"/>
   </variable>
   <variable label="Deceleration" CV="4" default="6" item="Decel">
      <decVal max="64"/>
   </variable>
...
   <variable label="Total PWM Period" CV="49" mask="XXXXXXVX" default="1">
      <enumVal>
         <enumChoice choice="15kHz"/>
         <enumChoice choice="30 kHz"/>
      </enumVal>
   </variable>


Pour l'accélération, nous avons une valeur par défaut de 8 avec une valeur maximum de 64.
Pour la décélération, nous avons une valeur de 6 avec une valeur maximum de 64
La fréquence peut prendre deux valeurs, 15 et 30 KHz.
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

PrécédenteSuivante

Retourner vers SPROG : informations, support

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités