JMRI: Guide Utilisateur DecoderPro
Comment DecoderPro Identifie Les Décodeurs
Afin de bien programmer un décodeur, DecoderPro doit être en mesure de trouver une "définition" pour le décodeur. Ces définitions précises des CVs sont comprises par le décodeur, ce qu'elles signifient, quelles valeurs sont valides, etc.
DecoderPro permet à un utilisateur de choisir quel décodeur modèle il a installé, Dans ce cas, il peut automatiquement trouver la bonne définition. Mais il peut également fournir une fonction "Ident", qui tente de localiser la bonne définition sur la base des informations qu'il lit sur le décodeur.
Ident commence par lire le code du fabricant depuis le CV8. La NMRA a défini un ensemble de valeurs uniques pour ce CV. Depuis (presque) tous les décodeurs fournissent bien cette information, vous pouvez utiliser DecoderPro pour affiner le bas de la liste des définitions possibles pour seulement ceux d'un fabricant particulier.
Ensuite, DecoderPro lit la valeur du CV 7. La NMRA l'a défini comme le numéro de "version" . Malheureusement, tous les fabricants n'utilisent pas ce numéro d'une manière qu'il puisse fournir les informations nécessaires. Il y a deux cas où cela peut mal fonctionner:
- Trop de décodeurs avec le même numéro de version.
Si de nombreux types de décodeurs ont le même numéro de version, et si les versions diffèrent assez peu, le numéro de version ne fournit pas assez d'informations pour choisir une définition spécifique.
Par exemple, si le numéro de version 3 peut être trouvés dans deux décodeur, un à faible coût avec quelques CVs , et un décodeur haut de gamme avec beaucoup de CVs, rechercher un 3 en CV 7 ne fourni pas suffisamment d'informations.
Ce problème se produit plus souvent quand un modèle particulier peut avoir une gamme de numéros de version en CV 7, et ceux d'une plage qui se chevauchent d'un modèle à l'autre.
- Pas assez d'informations disponibles sur ce qu'un numéro de version signifie:
Ceci est particulièrement un problème lorsque le numéro de version change, car de nouvelles fonctionnalités ont été ajoutées, mais le numéro de modèle du décodeur reste le même. Par exemple, considérez la confusion qui est causée par un fabricant qui ajoute la BEMF* à leur XYZ123 sans l'appeler comme un nouveau modèle. Maintenant, nous constatons que certains décodeurs XYZ123 ont la BEMF, et d'autres pas. En outre, nous constatons qu'il y a deux numéros de version: 23 et 51, et n'avons aucune information officielle sur ce que sont les différences. Il est très difficile de démêler tout cela, et les clients sont très frustrés.
En plus d'utiliser le numéro de version dans CV 7, DecoderPro peut chercher des valeurs dans d'autres CV spécifiques au fabricant pour identifier le décodeur. Cela peut être très puissant, car les fabricants peuvent utiliser leurs CVs pour donner autant d'informations disponibles au choix.
Malheureusement, les même fabricants qui utilisent des CVs supplémentaires pour les informations d'identification donnent rarement le sens des valeurs dans les CV accessibles au public. Nous devons ensuite déduire ce que signifie 103 dans un CV particulier, et nous pouvons souvent nous tromper.
Il est important de noter qu'il y a des bonnes raisons commerciales pour que les fabricants aient fait cela avec les informations d'identification à ce jour. Par exemple:
- Les fabricants utilisent souvent le même processeur et le même logiciel dans les modèles de
décodeur multiples, il serait trop coûteux de changer la puce pour avoir un code d'identification unique pour
chaque modèle spécifique.
Mais nous n'avons pas besoin d'une étiquette unique pour chaque modèle. Nous avons seulement besoin d'identifier les CVs qui sont présents et ce qu'ils veulent dire; deux décodeurs qui exécutent le même logiciel auront les mêmes CV présents. (Nous considérons comme un cas particulier le nombre de sorties qui sont physiquement disponibles, etc).
- Les fabricants sont concernés par le fait que les utilisateurs et les revendeurs puissent utiliser les
informations d'identification afin d'identifier les versions "obsolète", et d'insister sur les mises à jour
gratuites pour la version la plus récente. Ce serait un énorme fardeau économique pour le fabricant, en
particulier étant donné que la plupart des demandes peuvent être motivées par un désir d'avoir
les "plus récentes" plutôt que de la nécessité de voir un bug spécifique résolu.
Il est important de noter, cependant, que nous n'avons pas besoin d'être en mesure d'identifier la version spécifique du firmware en soi, nous voulons seulement identifier les CVs programmables nécessaires. Des changements internes ne doivent pas avoir pour effet de modifier l'information d'identification.
Recommendations
Que doit faire un fabricant responsable?En règle générale:
- Avoir un plan sur la façon d'identifier l'ensemble des fonctionnalités et des CV d'un décodeur, et de communiquer ce plan aux utilisateurs. Il serait peut-être quelque chose de la forme "vous pouvez regarder dans CV 7 et CV 150 pour identifier les caractéristiques d'un décodeur". Pour faire face à l'histoire des décodeurs passé, etc, il faudra peut-être plus être plus compliqué: " CV 7, CV 150 et CV 188 correspondent à des valeurs possibles sur cette page web". Nous allons trouver un moyen de faire face à tout ce qui peut être décrit en termes de valeurs de CV.
- Comme de nouveaux types de décodeurs sont produits, assurez - vous de publier les informations spécifiques nécessaires pour identifier le décodeur. Cela pourrait être aussi simple que de mettre les valeurs d'identification sur une page web pour le décodeur. (Puisque les valeurs peuvent changer, les mettre dans un manuel d'utilisation est limitée)
- le plus pour le client viendrait qu'un modèle spécifique pourrait être identifié. Un CV supplémentaire pour ce faire serait idéal, mais toute autre méthode consistant à réduire un décodeur à un modèle 2XYZ123AB serait idéal.
- Si vous envisagez de séparer la "mise à jour logiciel" des "fonctionnalités", pensez à utiliser des CVs distincts pour cela, et peut-être même de ne pas rendre l'information de la "mise à jour logiciel" disponible aux utilisateurs.
- Un moyen facile de gérer les vieux décodeurs lors du passage à une nouvelle version est d'identifier une valeur spécifique de CV 7 qui n'a pas été utilisée, et la définir comme un drapeau indiquant que d'autres CVs devraient être consultés pour plus d'informations.
- Lorsque de nouvelles fonctions sont ajoutées à un décodeur, envisager de l'appeler un nouveau modèle. Ayant de nombreuses versions différentes du décodeur XYZ123, certaines avec la BEMF, avec ou sans certaines options d'éclairages, spéciaux, parfois sans, etc, ou avec, perd le client et les gens qui essaient d'aider les clients avec un logiciel comme DecoderPro. Et pourquoi ne pas accorder de crédit pour les nouvelles fonctionnalités aux personnes qui vous les aurons demander pour le nouveau modèle?
*BEMF: compensation de charge