Hornby Elite Classic/Standard Mode

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 06.02.2012, 14:26

Hi Rob
Just to let you know its all working fine again thanks to you :D - and also Besra for suggesting a work around - for info Open was greyed out so I swapped default plan in File/Rocrail Properties, then opened the Moni plan to work the fix.

Rob - What about my suggestion for a radio button to switch between Elite Standard (points switch OK using PADA addressing) and Classic (points >4 switch using PADA addressing but with a -3 location error). Does this need a feature request or would it be a 'local' adjustment. :?:
Thanks again,
Rob

rjversluis
Site Admin
Posts: 40972
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Post by rjversluis » 06.02.2012, 14:47

Hi Rob,

Code: Select all

  /* when sending to elite we have to correct for elite (version 1.3) addressing fault
     address 1, port 1 does not exist in elite, address 1 port 2 becomes decoder 1 port 1,
     address 1 port 3 becomes decoder 1 port 2, address 2 port 1 becomes decoder 1 port 4
   */
I'm not sure what you want: Remove the fix?

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 06.02.2012, 14:55

I said all was working fine - that is except for the switches in Standard mode. Classic mode works OK with -3 offset.
The server pane reports power OFF when a switch is selected either way, but I can cycle power ON & OFF from Rocview GUI amd the track responds - i.e. loc lights cycle and buffer stop lamps powered from track also cycle.
The only way to power down the track from the Elite side is to pull the plug - no ON/OFF switch for power. Elite is not echoing any power state from Rocrail - but then Expressnet and Elite are not good friends.
This is intermittent as it was working when I 1st set up PADA addressing but now it won't.
Any one got any ideas where tolook or what to try.
If you need traces I will clean up and re-run.
Rob

rjversluis
Site Admin
Posts: 40972
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Post by rjversluis » 06.02.2012, 15:11

What is the point using standard mode instead of classic?

http://en.wikibooks.org/wiki/Working_Ro ... ting_Elite

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 06.02.2012, 16:24

Hi Rob

Standard mode is the Elite default operating mode.

Classic mode was introduced to by Hornby at rev 1.2 to internally correct the points addressing offset when using the Select as a Walkabout to the Elite. This was (I think) discovered necessary when they were working with the Train-Controller software guys.

This was a (bad) legacy feature of the Select that had to be taken account of when Hornby decided to allow the Select to be cabled in as a walkabout.

When first using the Elite with Rocrail it was found that Classic mode was the only way to get points to fire, which is why you applied the fix and I wrote it into the Wikibook, but now we know that isn't the case, which is why I re-wrote the Wikibook again.

Rob

rjversluis
Site Admin
Posts: 40972
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Post by rjversluis » 06.02.2012, 17:00

Only select "Elite" for Classic mode. Use LI101 for standard mode.

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 06.02.2012, 18:23

Hi Rob

Its not going too well.

I listed 2 controllers in Rocrail Properties:
One called Elite Standard using LI101F radio button selection.
One called Elite Classic using Elite radio button.

I saved the planfile and restarted Rocrail.

With Elite set to Standard mode I selected Rocrail Elite Standard controller and saved file again. Hit power off/on button but points won't switch.

Selected Rocrail Elite Classic controller with Elite still in Standard mode and tried again with no points responding.

With Elite set to Classic mode I did it all again using both Rocrail Elite controller selections in turn. The points >4 fire with -3 offset i.e. select T4 and T1 fires, etc.

The Rocrview server pane is echoing Elite Standard and Elite Classic labels OK in the command listings, so it knows which controller is in use, but Rocrail doesn't seem to be switching the offset in/out that I can detect.

One thing to note is that switching power on/off (light bulb button) from Rocrail is echoed at the Elite. Power off gives an Error screen on the Elite (as if loco had made a short cut). Power on resets this - the same as the Elite ESC button.

I think the problem is the Elite doesn't know what Rocrail is doing via xpressnet so it doesn't react. Also when setting the Elite to one mode or the other Rocrail doesn't know which mode the Elite is in.

The ideal scenario would be with the Elite set to any mode Rocrail applies the offset or not according to the controller selected in Rocrail properties and tells the Elite to swap modes to suit, but this isn't possible as the Elite is not reactive to these types of Rocrail commands.

Also the Elite is doing the 0 or +3 correction between modes and Rocrail is applying the -3 when requested by controller setting. So we could have Elite in Standard mode (0) and Rocrail applying -3 or not, or we could have Elite in Classic mode (+3) and Rocrail applying -3 or not.

I need to clear both my head and the trace files and start again tomorrow with a more structured approach, then report back to you with some data.

Rob

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 08.02.2012, 12:06

Hi
I have started again with a more structured approach and clean trace files (attached).

First I reset the Elite CS to ensure it was stable. I then checked the CS operated locos and points directly - Ok.

I started Rocrail and noted the configuration of the controller.
I checked that the Rocrail GUI power button cycled track power off/on.

Then ran these tests:
1. With the Elite CS in Standard mode and the controller in Rocrail configured as a Hornby Elite (elite sub library).
Pwr button OK
Checked points 1 to 4 - no response. Locos Ok.
Cycled pwr button and rechecked point 7 - just the same. Locos still Ok.

2. Reconfigured controller in Rocrail to Lenz LI101F, saved, shut down and restarted Rocrail.
With the Elite CS in Standard mode and the controller in Rocrail configured as a Lenz (LI101F) Elite (lenz library).
Pwr on - ok, but then time out error comes up.
Tried to cycle pwr off/on and tried locos and points. No response just a continuous time out error. Shut down Rocrail.

3. Switched Elite CS to Classic mode. Checked locos and points respond direct from CS - Ok.
With the Elite CS in Classic mode and the controller in Rocrail configured as a Lenz (LI101F) Elite.
Rocrail started and controller checked that it is still configured as Lenz.
Pwr off gives E.Stop on CS. Pwr on clears it.
Locos respond - Ok.
Points 1 to 4 - no response. Point 5 fires point 1, point 6 fires point 2, etc.

4. Controller in Rocrail reconfigured as Hornby Elite, saved, shut down and restarted Rocrail.
With the Elite CS in Classic mode and the controller in Rocrail configured as a Hornby Elite.
Pwr off gives E.Stop on CS. Pwr on clears it.
Locos respond - Ok.
Points 1 to 3 - no response. Point 4 fires point 1, point 5 fires point 2 , etc.
Closed it all down.

Please see zipped trace ini and plan files for full details.

The files in the zip with names that I have amended to ...prog.ini and ...prog.trc are from the Program Files\Rocrail area, and the others are all from the User\...\Rocrail area that has my Rocrail_Workspace.
I don't know why these duplicates occur in different areas, but they seem to have the same date/time/group stamp.

I hope this helps,
Rob
Attachments
Roczip1.zip
(74.32 KiB) Downloaded 448 times

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 11.02.2012, 14:34

Here are my test results.
Conditions:
Rocrail build 3244
Elite firmware version 1.3
OS: WIndows XP (sorry Rob)
Command station settings: see screenshot

Because the code recalculates all addressing possibilites for accessory decoders back to NMRA (address/port) before sending any accessory command, the addressing used is irrelevant. Nevertheless I tested all, NMRA, PADA and FADA and found indeed, es expected, no difference in behaviour.

Power on/off test.

Elite in standard mode.
Changing the power state in Rocrail turns the Elite on/off. When pressing the power/stop button on the Elite, the Elite turns on/off, but the state is not reflected in Rocrail.
Byte trace: when pressing power button on Elite nothing is received
Elite in classic mode.
Changing power state in Rocrail turns Elite on/off. When pressing the power button on Elite, the power state is reflected in Rocrail.
Byte trace: Turning power off on Elite sends 81 00 81, turning power on sends 61 01 60.

Accessory decoder test.
Elite in standard mode.
Operating the switch with address 1, port 4 in Rocrail, the correct output is triggered. When operating the switch from the Elite the changed position is not reflected in Rocrail.
Regardsless which position of the switch is set on the Elite, the same message is send to Rocrail. The content of the message depends on the address of the accessory decoder operated on the Elite. For acccessory decoder with address 1, port 1 to 4, the Elite sends 42 00 00 42. For accessory decoder with address 2, port 1 to 4, the Elite sends 42 01 00 43. For accessory decoder with address 3, port 1-4, the Elite sends 42 02 00 40. Apparently, the Elite sends the address of the accessory decoder operated, but not the port. This makes it impossible to reflect the state in Rocrail when operating an accessory on the Elite.
Elite in classic mode.
Operating the switch with address 1, port 4 fires the actual accessory decoder address 1, port 1. Operating the switch with address 2, port 1 fires the actual accessory decoder address 1, port 2.
For accessories with address 1, port 1 to 4, 41 01 00 43 is send by the Elite. For accessories with address 2, port 1 to 4, 42 02 00 40 is send. For accessories with address 3, port 1 to 4, 42 03 00 41 is send.
Apparently, the difference between classic mode and standard mode is that in standard mode Hornby made the fault of having a 1 offset in the port, whereas in classic mode there is a 1 offset in the address (the 1 offset in the port is corrected by Rocrail in the code, hence the difference of 3 ports in classic mode and not 1 address).

My recommandation is to operate the Elite in standard mode only. I think it is slightly over the top to have two Elite sublibraries, an Elite standard with 1 port offset correction and an Elite classis with a 1 address offset correction. But Rob, I do not know if it is a very easy thing to implement, I let you judge this one.
Attachments
elite settings.png
elite settings.png (16.33 KiB) Viewed 3891 times

rjversluis
Site Admin
Posts: 40972
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Post by rjversluis » 11.02.2012, 15:38

Hi Ronald,

thanks for testing.
I agree with your recommendations to support only one Elite mode.
But at the other hand: The current implementation was tested and did work as expected. Why changing anything?

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 11.02.2012, 15:56

Well. live is making choiches. In classic mode, the Rocrail code would have to increase the address of an accessory command with 1, but then the Elite sends power on/power off messages to Rocrail.
The current implementation for standard mode includes the addition of 1 to the port that is needed in standard mode. Unfortunately, in standard mode, when turning power on/off, the Elite sends nothing and Rocrail is not able to show the correct opwer state.

Maybe the actual users can express their preference, with the most votes counting?

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 11.02.2012, 17:33

@Ron
Many thanks for doing the extensive testing. I don't suppose XP and Win7 alter things much if at all with regard to Rocrail.
You have confirmed there is a difference between the modes.
@Rob & Ron
I know Hornby address acc decoders by address block rather than port.
For me a correction for Standard mode would be best as this mode is mainly used by other applications, it is closer to NMRA spec and it would avoid having to reset the CS, which is only a simple menu selection choice. It is easier to tell people how to address in this mode rather than the Classic mode offset. Then there is the ON/OFF feedback to think about. As you say - put it to the vote.

What I am not sure about is why in my test initially it did work OK, then it didn't work in Standard mode - I just got the power OFF message, but it worked OK in Ron's test. I see Ron used 9600 baud whereas I used 19200. I will run the Standard mode test again with less baud rate and maybe adjust the buffering.

In testing the Elite with JMRI this was observed by another guy regarding turnouts:
3.2 Handling of “off” command
Turnout ON and OFF commands both result in the command station sending an ON command to the accessory decoder. The sending of the OFF command has been disabled as it caused a duplicate ON operation at the turnout.
Note this solution relies on the accessory decoder automatically turning OFF the turnout after a suitable period of time.


Could this be why I get the power OFF notification if Rocrail sends it the same way as I often hear my relays double clicking when I select points and they work. Could it be sending an ON, then another ON which actually turns it OFF as seen in the server frame in Roc GUI.
Thanks again for the testing.
Rob

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 11.02.2012, 18:01

Rob,

After a hint from Rob V I am working on something that will cater for both classic and standard mode with respect to accessory decoder addressing. In the case of xpressnet, when changing a switch, a command is send to the command station to activate (turn on) either red or green gate of port x, address y. Nowadays, accessory decoders are intelligent enough to turn off power of that gate after a short period to prevent coils catching fire. Some command stations have the possibility to send a "power off gate"command also, but not in case of xpressnet. Please also note that this is something completely different then power on/off of the command station.

RAFHAAA96
Posts: 223
Joined: 25.02.2008, 09:18
Location: Dereham, UK
Contact:

Post by RAFHAAA96 » 11.02.2012, 18:46

You are my hero Ron
:thumb_up:
Does this help for the final addressing fix:
The programming process re Hornby Point Decoders (PDs) and Point and Accessory Decoders (PADs) is based on “group numbers” as laid down by the NMRA. The ELITE or SELECT will transmit the appropriate “group number” based on the number inputted during the programme procedure. The PAD or PD will assign to each port the appropriate addresses designated by the group number… e.g…
Enter any number between 1 and 4..
The 4 ports or channels (1 through to 4) of the unit will be assigned consecutive addresses.. 1 to 4.. Group number 1 was transmitted.
Enter any number between 5 and 8..
The 4 ports or channels (1 through to 4) of the unit will be assigned consecutive addresses.. 5 to 8.. Group number 2 was transmitted.
Enter any number between 61 and 65..
The 4 ports or channels (1 through to 4) of the unit will be assigned consecutive addresses.. 61 to 65.. Group number 16 was transmitted.
Enter any number between 133 and 138..
The 4 ports or channels (1 through to 4) of the unit will be assigned consecutive addresses.. 133 to 136.. Group number 34 was transmitted.

Rob

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 11.02.2012, 22:22

Hi Rob,

The problem with the Elite is that Hornby has trouble reading the xpressnet specification. When sending the correct xpre4ssnet message, the Elite firmware translates this into a wrong adress/port. How wrong it is depends on the Elite mode setting. Same thing is true when operating a switch on the Elite. The Elite then transmits a xpressnet message, but Hornby forgot to put the required information on which port is switched to which state into data byte 2, the firmware always leaves data byte 2 at 0. When their mechanical qualities were of the same quality as their firmware qualities I fear they would have gone bankrupt decades ago.

Post Reply

Return to “Hornby Elite”