Topics

Tams decoder version 23

Willie de Kort
 

Complete new to JMRI and build a DCC++ basic station, so hit me to hard.

My first attempt to use JMRI and specific DecoderPro and already a 'problem'.

At our club we have bought the Tams LD-G-32.2 as the first Serie. But DecoderPro is reading it as version 23, so doesn't recognize it in the database.
From another loco I have tried to read the decoder, but from that one even the brand isn't recognized. If I remember it wel,vit was '123'. I bought it complete with decoder, so I don't know the brand. Not opened yet.

Is someone responsible for the database with decoders?
Or how to solve this kind of issues?

--
Met vriendelijke groet,
With regards,
Mit freundlichen Gruß,

Willie de Kort

   

Ken Cameron
 

Willie,

It sounds like you might have version 4.10, it has an issue where you would
see 123 as all values from any decoder. This is due to an issue in the
settings in Edit->Preferences->Defaults, it will change to all 'Internal'
without notice. I suggest you would be better off with 4.11.6 as it has
fixes that prevents this happening without notice. You will have to go into
Edit->Preferences->Defaults, change all the radio buttons to your DCC++
instead of Internal.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org

Willie de Kort
 

Hi Ken,

I've downloaded JMRI yesterday, so I presume it is the latest (stable) version.
Maybe tonight I can check the version in my computer.

--
Met vriendelijke groet,
With regards,
Mit freundlichen Gruß,

Willie de Kort

   

Op zo 10 jun. 2018 14:29 schreef Ken Cameron <kcameron@...>:

Willie,

It sounds like you might have version 4.10, it has an issue where you would
see 123 as all values from any decoder. This is due to an issue in the
settings in Edit->Preferences->Defaults, it will change to all 'Internal'
without notice. I suggest you would be better off with 4.11.6 as it has
fixes that prevents this happening without notice. You will have to go into
Edit->Preferences->Defaults, change all the radio buttons to your DCC++
instead of Internal.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org






Ken Cameron
 

Willie,

4.10 would be the current 'production' version. 4.11.6 is the latest
'development' version, it is one of the steps of what we've been working on
that will evolve into 4.12 by July. We've found some issues with 4.10 and
many fixes and improvements have gone into the versions between them.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com
www.syracusemodelrr.org

Alain LM
 

Willie,

The answer to your question 'Is someone responsible for the database with decoders?' is nobody and anybody at the same time.
JMRI exists only because volunteers dedicate some of their time to it.
Anyone can contribute.
With regards to decoder definitions, a bit of knowledge of XML is required, but this is not very complex, given the amount of existing definitions that can be used as a starting point.
Yes the Tams definitions have not been updated for a while by lack of a volunteer being interested into it.
I have it on my to do list, but not in the highest position given that I don't own any and that there is not a strong demand for it.
Meanwhile you can select manually the existing definition and see how it works. I cannot tell you what difference there is between the existing definition and the current version, as this is not documented in Tams manuals.
You are very welcome to contribute if you want to work on the Tams definitions update by yourself.

Cheers,
--
Alain LM

Willie de Kort
 

Hi Alain,

Aan I'm new with JMRI, so I don't know how to find my way yet. Can you guide me to the correct XML-file for the LD-G-32, which is available in DecoderPro? Then I can try to create the file for the LG-G-32.2 
I will get in touch with Tams about the spec's for their decoders...

--
Met vriendelijke groet,
With regards,
Mit freundlichen Gruß,

Willie de Kort

   


Op zo 10 jun. 2018 19:38 schreef Alain LM <AlanUS.forum@...>:

Willie,

The answer to your question 'Is someone responsible for the database with decoders?' is nobody and anybody at the same time.
JMRI exists only because volunteers dedicate some of their time to it.
Anyone can contribute.
With regards to decoder definitions, a bit of knowledge of XML is required, but this is not very complex, given the amount of existing definitions that can be used as a starting point.
Yes the Tams definitions have not been updated for a while by lack of a volunteer being interested into it.
I have it on my to do list, but not in the highest position given that I don't own any and that there is not a strong demand for it.
Meanwhile you can select manually the existing definition and see how it works. I cannot tell you what difference there is between the existing definition and the current version, as this is not documented in Tams manuals.
You are very welcome to contribute if you want to work on the Tams definitions update by yourself.

Cheers,
--
Alain LM

Jan Boen
 

Hi all,


I  created a Tams decoder entry for JMRI and I have no problem updating it to a later version.

Not highest priority though.


Cheers,



Jan

On 10/06/2018 19:38, Alain LM wrote:
Willie,

The answer to your question 'Is someone responsible for the database with decoders?' is nobody and anybody at the same time.
JMRI exists only because volunteers dedicate some of their time to it.
Anyone can contribute.
With regards to decoder definitions, a bit of knowledge of XML is required, but this is not very complex, given the amount of existing definitions that can be used as a starting point.
Yes the Tams definitions have not been updated for a while by lack of a volunteer being interested into it.
I have it on my to do list, but not in the highest position given that I don't own any and that there is not a strong demand for it.
Meanwhile you can select manually the existing definition and see how it works. I cannot tell you what difference there is between the existing definition and the current version, as this is not documented in Tams manuals.
You are very welcome to contribute if you want to work on the Tams definitions update by yourself.

Cheers,
--
Alain LM


Virusvrij. www.avast.com

Alain LM
 

Dave Heap
 

If you see decoder manufacturer of 123, decoder version of 123, manufacturer of "Massoth Elektronic GMBH", all CVs return a value of 123 and loco address of 15227, It is almost certain that Preferences->Defaults have changed to Internal.

Reinstalling JMRI, downloading a new version will do absolutely nothing to fix this problem. You need to go to Preferences->Defaults and fix the problem there.

-- 
Dave in Australia

The New England Convention 2018

On 10 Jun 2018, at 6:29 PM, Willie de Kort <willie.de.kort@...> wrote:

At our club we have bought the Tams LD-G-32.2 as the first Serie. But DecoderPro is reading it as version 23, so doesn't recognize it in the database.
From another loco I have tried to read the decoder, but from that one even the brand isn't recognized. If I remember it wel,vit was '123'. I bought it complete with decoder, so I don't know the brand. Not opened yet.

Willie de Kort
 

I've send a mail to TAMS and they replied.
First they say they don't know JMRI, but after a follow-up question the answer was:
  • Torsten Kalbe, Tams Elektronik GmbH
    Die Decoder LD G 32 und LD G 32.2 unterscheiden sich NICHT in der Anzahl der CVs. Beide Decoder verfügen über die gleichen CVs.
    Einzig die CV 35 hat einen anderen Wert, da hier der zusätzliche Ausgang eingestellt ist.
  • Translated:
    The LD-G-32 and LD-G-32.2 have the same number of CV's and are all the same.
    Only CV35 is different, because there is an extra output available (3 instead of 2 function-outputs)
So, how difficult is it to add a new XML-file and change it for this extra output?
And how to get it into JMRI??

As said, I'm new to JMRI and to XML
Interested to learn, but I need help in this :-)

--
Met vriendelijke groet,
With regards,
Mit freundlichen Gruß,

Willie de Kort




Op zo 10 jun. 2018 om 21:50 schreef Alain LM <AlanUS.forum@...>:

Willie de Kort
 

I'm trying to assemble the file for the LD-G-32.2.
But I'm suprised for the reaction in JMRI. (Yes, still in 4.10)


Is the file decoderindex.xml created by the release of the version of JMRI?
Or should the new TAMS be added manually (as I've to do now, while not existing)


Beacause the new LD-G-32.2 decoder-file is not in de decoderondex.xml I have to add it manually:
With the new LD-G-32.2 in the file decoderindex.xml like:
      </family>
      <family name="Multiprotocol Decoder" mfg="Tams Elektronik GmbH" lowVersionID="23" highVersionID="23" file="TAMS_LD-G-32.2.xml">
        <model model="LD-G-32.2" numOuts="6" numFns="10">
        </model>
      </family>
The decoder is recognised, but there are texts in for example functions-tab, which I didn't write down in the decoderindex nor tams-files.
Why should the definition of the outputs be delared in the decoderindex.xml file?
Even if it is already in the decoder-file I've created.
Where are the texts coming from?
For instance at function 4 I get the Dutch text "violet/bruin". Search for "violet" get's me to some files in 41 files, search for "bruin" there are no hits.

With the new LD-G-32.2 in the file decoderindex.xml like:
      <family name="Multiprotocol Decoder" mfg="Tams Elektronik GmbH" lowVersionID="23" highVersionID="23" file="TAMS_LD-G-32.2.xml">
        <model model="LD-G-32.2" numOuts="6" numFns="10">
          <output name="1" label="AUX 1 (X2) White" />
          <output name="2" label="AUX 2" />
          <output name="3" label="AUX 3" />
          <output name="4" label="Acceleration Delay" />
  <output name="5" label="Shunting gear"/>
  <output name="6" label="Shunting light"/>
        </model>
Then I see the text in the tab for the functions. Why should it be written HERE and not in the decoder-file itself?


For the outputs with pads/wires I see only till function 3 the tags to be selected. For the outputs 4 till 6, these are without pads/wires, I see selectables till function 8 (total of 10)
==>> Found that reason in <http://jmri.org/help/en/html/apps/DecoderPro/FnMapping.shtml> at "numFns - this is a legacy attribute that limits the total number of function mapping lines displayed. It is no longer required as the JMRI code now automatically suppresses unused lines."
But I think it is strange, because now I can't select for instance function 6 for switching on output 1 which is in our case the light of the loco.


Where are the texts in the mouse-over (tool-tip) movements written? Because I see 'extra' information like the number of the CV which is under control for that line.
The texts in the mouse-over seems to be translated, but the text in top of the table are not. Even when the translation is in the decoder-file.

The texts for the outputs in the decoder-file itself like my LD-G-32.2.xml are not used at all.


Where can I find clear documentation for the configuration of the decoder-file?
What should be written where and how. I've read some information for now and followed the instructions, but still this strange behaviour.

Where Can I find documentation for which CV is at which tab in the decoderPro-layout?
I've tried to view the decoderPro-layout for every NMRA-file and it showed me a lot. It gave me a document of 92 pages (screenshots and part of the text in the xml-files) Even a few which are 'double'.


Till now I've only used the "xi:include" files out of the NMRA-directory.
I have to find out the best way to implement the other CV's, special for TAMS.

Yes, I know to upgrade to 4.11.8, but in my humble opinion it can't behave that different it will function over there. espcially because i've used an excisting decoder file (digitrax) as a guidline.

--
with regards,
Willie

Peter Ulvestad
 

Since a decoder definition already exists for an LD-G-32, why would you not simply modify that definition for your new decoder instead of using a completely unrelated decoder definition?

How are you manually adding your definition to the decoder index? The correct way is use the 'Recreate Decoder Index' feature of JMRI.

http://jmri.org/help/en/html/apps/DecoderPro/CreateDecoder.shtml

--
Peter Ulvestad

JMRI Users Group Moderator - http://www.jmri.org ( http://www.jmri.org )
Tam Valley Group Moderator - http://tamvalleydepot.com/ ( http://tamvalleydepot.com/ )
Sprog-DCC Group Moderator - http://www.sprog-dcc.co.uk/ ( http://www.sprog-dcc.co.uk/ )
Edmonton Model Railroad Association - http://www.emra.club/

Bob Jacobsen
 

On Jul 8, 2018, at 11:49 AM, Willie de Kort <@wideko> wrote:

Is the file decoderindex.xml created by the release of the version of JMRI?
Or should the new TAMS be added manually (as I've to do now, while not existing)
The “RecreateDecoder Index” menu item will recreate it for you.

(We run that as part of the release process while building the files, but there’s no need to wait for that)

It’s mentioned at the bottom of http://jmri.sourceforge.net/help/en/html/apps/DecoderPro/CreateDecoder.shtml but it seems to have the wrong name there. I’ll fix that.

Bob

--
Bob Jacobsen
rgj1927@...

Dave Heap
 

See below:
On 9 Jul 2018, at 4:49 AM, Willie de Kort <@wideko> wrote:

I'm trying to assemble the file for the LD-G-32.2.
But I'm suprised for the reaction in JMRI. (Yes, still in 4.10)
If you want to develop and submit code or decoder definitions, you
need to do it against the current master of JMRI at GitHub, or at
least against the latest JMRI test release.

Otherwise you risk conflicts when we try to merge your work.


Is the file decoderindex.xml created by the release of the version of JMRI?
Or should the new TAMS be added manually (as I've to do now, while not existing)
As others have said, the decoderIndex.xml file is created by JMRI
(either by you manually or as part of our build and release
procedures. It should never be edited manually.

It is simply a cache of information read from the files in the
amalgamation of the JMRI xml/decoders folder and anything you place in
a "decoders" folder in your User Files Location.


Beacause the new LD-G-32.2 decoder-file is not in de decoderondex.xml I have to add it manually:
With the new LD-G-32.2 in the file decoderindex.xml like:
</family>
<family name="Multiprotocol Decoder" mfg="Tams Elektronik GmbH" lowVersionID="23" highVersionID="23" file="TAMS_LD-G-32.2.xml">
<model model="LD-G-32.2" numOuts="6" numFns="10">
</model>
</family>
You should not be editing it manually. You ask JMRI to recreate it.

The decoder is recognised, but there are texts in for example functions-tab, which I didn't write down in the decoderindex nor tams-files.
See below.


Why should the definition of the outputs be delared in the decoderindex.xml file?
Even if it is already in the decoder-file I've created.
You should not be editing it manually. You ask JMRI to recreate it.

Where are the texts coming from?
For instance at function 4 I get the Dutch text "violet/bruin". Search for "violet" get's me to some files in 41 files, search for "bruin" there are no hits.
In the absence of defined labels for outputs 1-4 in your decoder
definition, the Java code in
"java/src/jmri/jmrit/symbolicprog/FnMapPanel.java" supplies default
names for these (no doubt historical reasons). The the default names
are specified in
"java/src/jmri/jmrit/symbolicprog/SymbolicProgBundle.properties" and
its language-specific variants, e.g.
"java/src/jmri/jmrit/symbolicprog/SymbolicProgBundle_nl.properties".

Language-specific additions/corrections to properties files are
welcome, but in order to do this properly you need to be working on
the current head of JMRI master at GitHub. You can't do it with
distributed versions as you don't have the source code


With the new LD-G-32.2 in the file decoderindex.xml like:
<family name="Multiprotocol Decoder" mfg="Tams Elektronik GmbH" lowVersionID="23" highVersionID="23" file="TAMS_LD-G-32.2.xml">
<model model="LD-G-32.2" numOuts="6" numFns="10">
<output name="1" label="AUX 1 (X2) White" />
<output name="2" label="AUX 2" />
<output name="3" label="AUX 3" />
<output name="4" label="Acceleration Delay" />
<output name="5" label="Shunting gear"/>
<output name="6" label="Shunting light"/>
</model>
Then I see the text in the tab for the functions. Why should it be written HERE and not in the decoder-file itself?
You should not be editing it manually. You ask JMRI to recreate it.



For the outputs with pads/wires I see only till function 3 the tags to be selected. For the outputs 4 till 6, these are without pads/wires, I see selectables till function 8 (total of 10)
==>> Found that reason in <http://jmri.org/help/en/html/apps/DecoderPro/FnMapping.shtml> at "numFns - this is a legacy attribute that limits the total number of function mapping lines displayed. It is no longer required as the JMRI code now automatically suppresses unused lines."
Correct.

But I think it is strange, because now I can't select for instance function 6 for switching on output 1 which is in our case the light of the loco.
I can't see your problem. If you define a variable "" in your decoder
file as per <>, you can.



Where are the texts in the mouse-over (tool-tip) movements written? Because I see 'extra' information like the number of the CV which is under control for that line.
JMRI adds that CV information if you enable
The texts in the mouse-over seems to be translated,
Provided you add the translation in your variable definition.

but the text in top of the table are not. Even when the translation is in the decoder-file.
That's probably because you are manually fiddling with
decoderIndex.xml and not doing a Recreate Decoder Index.

The texts for the outputs in the decoder-file itself like my LD-G-32.2.xml are not used at all.
As above, Recreate Decoder Index.


Where can I find clear documentation for the configuration of the decoder-file?
What should be written where and how. I've read some information for now and followed the instructions, but still this strange behaviour.
I'm sure I've already given you the best available documentation we
currently have, but here it is again.
<http://jmri.org/help/en/html/apps/DecoderPro/CreateDecoder.shtml>
<http://jmri.org/help/en/html/apps/DecoderPro/FnMapping.shtml>
<http://jmri.org/help/en/html/apps/DecoderPro/CreateDecoderAdvanced.shtml>
<http://jmri.org/help/en/html/apps/DecoderPro/Programmer.shtml>

For Undocumented stuff, I'm afraid the final reference points are
schema files in "xml/programmers/schema". Understanding those is a
whole different ballgame and I suggest you ask the developers on the
appropriate list (the jmriusers list is targeted ended-users).

Where Can I find documentation for which CV is at which tab in the decoderPro-layout?
I don't understand that question. CVs are where you specify them in
which variable. Which tab these CVs/variables are displayed on (with
the default panes) can be seen.

By examining "xml/programmers/Advanced.xml" and then viewing the
referenced files in "xml/programmers/parts"

I've tried to view the decoderPro-layout for every NMRA-file and it showed me a lot. It gave me a document of 92 pages (screenshots and part of the text in the xml-files) Even a few which are 'double'.
The NMRA decoder files are generally the oldest and not necessarily
current best-practice. The NMRA include files are generally kept
current and should be used as a first choice when appropriate.


Till now I've only used the "xi:include" files out of the NMRA-directory.
That is what you should be doing as a first choice. Only create your
own when these are not adequate.

I have to find out the best way to implement the other CV's, special for TAMS.
You have a lot to learn, but we are willing to help.

But please use what is available where possible (don't reinvent the
wheel) and that should include (as others have suggested) starting
with the existing TAMS file and modifying it. That will save you a lot
of first-principles work and make it more likely to pass schema
validation.

You also need to use "Validate XML File". Its not averrable on the
DecoderPro menu (it is in PanelPro) but I suggest you add it as a
Button on Main Window in Startup Items.


Yes, I know to upgrade to 4.11.8, but in my humble opinion it can't behave that different it will function over there. espcially because i've used an excisting decoder file (digitrax) as a guidline.
Your "humble opinion" doesn't help us when we have to manually resolve
conflicts caused by using an outdated code base.


Dave in Australia

Alain LM
 

In complement to the already quite exhaustive response of Dave Heap.
Where are the texts in the mouse-over (tool-tip) movements written?
The tooltips are defined for each CV - and some other elements - with tag <tooltip>. The tooltips can be localized. There are many examples in already existing definitions.
For example, in https://github.com/JMRI/JMRI/blob/master/xml/decoders/trix/mLD_mSD_standardCVs.xml :
<tooltip>Value must be lower than Vhigh, CV 5.</tooltip>
<tooltip xml:lang="de">Wert muss kleiner sein als Vmax, CV 5.</tooltip>
<tooltip xml:lang="fr">Doit être plus petit que Vmax, CV 5.</tooltip>

Till now I've only used the "xi:include" files out of the NMRA-directory.
The convention is to create a sub-folder with the manufacturer's name (lower case) in the 'decoder' folder:
https://github.com/JMRI/JMRI/tree/master/xml/decoders
So you could create a 'tams' sub-folder, and put your tams specific fragment files in there.
In the xi:include statement, just provide the full path, e.g.
<xi:include href="http://jmri.org/xml/decoders/trix/mLD_mSD_motorPane.xml"/>

For the outputs with pads/wires ...
You can declare physical and well as logic outputs, e.g.
https://github.com/JMRI/JMRI/blob/master/xml/decoders/Trix_mLD.xml
In this example 'RG' (Rangiergang / switching) is a logic function.
The output names can be localized as well.
You can see, using the same example, how to create the function map based on the names given to the outputs:
https://github.com/JMRI/JMRI/blob/master/xml/decoders/trix/mLD_mSD_functionmap.xml


To figure out what values are acceptable for the various attributes, you'll need to read the decoder schema:
https://github.com/JMRI/JMRI/blob/master/xml/schema/decoder.xsd

Hope this helps,
--
Alain LM

Bob Jacobsen
 

In complement to Alain’s reply:

On Jul 9, 2018, at 1:15 AM, Alain LM <@AlanUS> wrote:

To figure out what values are acceptable for the various attributes, you'll need to read the decoder schema:
https://github.com/JMRI/JMRI/blob/master/xml/schema/decoder.xsd
There’s also a version of the schema that’s been automatically processed to be a bit more human readable at:

http://jmri.org/xml/schema/decoder.xsd

It’s still quite terse, though.

Bob
--
Bob Jacobsen
rgj1927@...

Willie de Kort
 

I started over with a clean file and want to configure it like the method in the Digitrax.
The layout and the use of standard include-files was for me the trigger.

--
with regards,
Willie

Willie de Kort
 

Dave,

Thanks, learned a lot (again).

Didn't know that JMRI have to generate the decoderindex.xml file.
Validation of mine decoder-file is OK for as far as I'm done the configuration now. Next step is recreate the decoderindex. Validate an xml-file is available in decoderPro, but you have to click through the directories for finding the decoder-file.
I started with a blank file for the LD-G-32.2 because I liked the layout in the Digitrax and the use of all the standard include-files from NMRA. And yes, I have to add some configurations manually. Probably I will create them in a seperate TAMS-dir as include-files (like NMRA)

--
with regards,
Willie

Dave Heap
 

Recreating your local copy of decoderIndex.xml is a one-click operation in DecoderPro. It's under the Actions menu and is called "Recreate Decoder Index". It will create a decoderIndex.xml in your User Files Location and it will override the distributed one.

-- 
Dave in Australia


The New England Convention 2018

On 10 Jul 2018, at 7:15 AM, Willie de Kort <willie.de.kort@...> wrote:

Didn't know that JMRI have to generate the decoderindex.xml file.
Validation of mine decoder-file is OK for as far as I'm done the configuration now. Next step is recreate the decoderindex. Validate an xml-file is available in decoderPro, but you have to click through the directories for finding the decoder-file.