Standing cars trigger LevelCr signals bug
#11
Posted 18 January 2017 - 03:33 PM
Edward K.
#12
Posted 18 January 2017 - 04:22 PM
If a railroad leaves loose cars on a crossing, the crossing will not be activated if a locomotive is not nearby. Not to mention the fact that it's illegal...
The crossing detectors on the railroads detect two things: A locomotive, and its reverser status. If a locomotive is stopped at a signal just before a crossing, with the brakes set, the engineer can place the reverser in neutral and clear the crossing for traffic to cross. The ONLY time a crossing detects cars is if a locomotive passes over it first, it will "hold" activation until the rear of the train clears. (Some crossings show weird behavior if there is a locomotive on the rear of the train because of this, activating again and clearing for the rear power.
If a car/train is left on a crossing, and the locomotive clears the detection zone, it will clear the signal.
Most of these installations are decades old and use old fashioned relays, not solid state electronics. I newer modern installation may work differently, depending on its programming...
However, I haven't seen anybody drive their car through a tanker...
Robert
#13
Posted 18 January 2017 - 05:02 PM
rdamurphy, on 18 January 2017 - 04:22 PM, said:
It depends on the type of detection equipment.
rdamurphy, on 18 January 2017 - 04:22 PM, said:
Yes they will. Especially older crossings with an island circuit.
rdamurphy, on 18 January 2017 - 04:22 PM, said:
I am not aware that the Reverser setting breaks continuity of metal across the wheels. That is what track circuits and frequency detectors sense.
rdamurphy, on 18 January 2017 - 04:22 PM, said:
Now, Robert, I'm really surprised here. With your involvement in Operation Lifesaver you should know just how many people actually drive into the side of trains!
http://www.elvastower.com/forums/public/style_emoticons/default/spiteful.gif
#14
Posted 19 January 2017 - 01:40 PM
edwardk, on 17 January 2017 - 08:30 AM, said:
I think that MSTS treats each and every crossing object independently and uses line-of-sight proximity to activate them. Obviously, in OR, we don't do that - we use the track the train is on. If you are activating all crossings that share a road, I would suggest only including those which are within a short distance (50m? Maybe less) of the one the train is on, using line-of-sight distances.
#15
Posted 19 January 2017 - 02:25 PM
James Ross, on 19 January 2017 - 01:40 PM, said:
James,
Since you are the original author, I may need your assistance. I am not activating all crossings on purpose. This is happening on its own when a static car is sitting on the crossing versus the player train or even AI train. I have been following the current structure. As it is now, the crossing that passes the train test is the crossing that is used and for the most part there is no problem. If there is a method to limit this, then some hints would be great. What about the static train? I realize there are differences since I have been looking at the code, but evidently there is some information missing that is allowing this to take place. So to fix this, we can either fix it on the track/crossing side or the car side.
Edward K.
#16
Posted 19 January 2017 - 06:39 PM
James Ross, on 19 January 2017 - 01:40 PM, said:
Yes it does do that, but it's a bit more complicated than that. Each LevelCr object is "inert" until a train is pathed across it. Inert objects will not activate by distance. Once the object has been made ready, it will activate based on distance, but seemingly also some simple (flawed) trigonometry to incorporate the predictive early activation features with curves involved. OR's method is definitely much better! And much more consistent...crossing signals can be setup to activate in sequence correctly in OR.
#17
Posted 20 January 2017 - 03:32 PM
edwardk, on 19 January 2017 - 02:25 PM, said:
I am not really understanding the problem here; and while I wrote the original code, it has been heavily modified by others since.
To me, it should be a really simple calculation: if either end of the train is within the minimum activation distance (along the track), or will reach the minimum activation distance in less than the warning time at the current speed (also along the track), or the two ends are on opposite sides of the crossing, activate it. Otherwise, deactivate it.
There's some tuning that could be added to that simple calculation, e.g. so that a crossing never changes activation state more than once per second or something, but the current code is - to me - over-complicated and I am not likely to enjoy reading any changes which make it more complicated. :(
#18
Posted 21 January 2017 - 12:55 PM
Edward K.
#19
Posted 31 January 2017 - 02:32 PM
Don't worry Joseph. Since my last test fix that I sent you, everything is good.
This fix was just submitted.
Edward K.
#20
Posted 01 February 2017 - 05:38 PM