The TCS of the HST where I'm working on operates both with the national TCS SCMT-RSC as well with the European one ETCS L2. Switching occurs automatically at TCS border points. I implemented such switching within the TCS script, and started implemented a very, very stripped down appearance of ETCS L2 DMI with the features available as of now.
However there is at least one display section of the DMI that can't be implemented satisfactorily with what is available today, and this is the Planning area (a sort of TrackMonitor).
Some years ago Peter (gpz) did a very good job, that I'm using, by generating a DriverMachineInterface.cs C# file, that is part of the OR solution, and that includes the management of the ETCS tachograph present in the ETCS DMI. Already seeing the name of the file, I expect that Peter was considering a possible extension of the file to further features of the ETCS DMI.
So the questions are:
1) is it correct to add to such file also the management of the Planning area of the DMI?
2) César has written here in the forum that he has done - as I interpret it - considerable work in implementing ETCS for OR. Could it be possible for him to pass to DriverMachineInterface.cs the part of code that implements the Planning area (and maybe parts of code that implement other parts of ETCS)?
3) if not, is someone (e.g. Peter) willing to work on such functionality? (I found a very old discussion about that here in the forum)
4) if not, as a pure hypothesis I might consider to try to develop something to be added to DriverMachineInterface.cs, but that's not the solution I prefer, as I'm sure the two people above would do the job much better than me.
Planning area of the ETCS DMI
#2
Posted 17 November 2020 - 08:58 AM
I have an ETCS with both DMI and EVC in an advanced stage of development. However, it is written in C++, as the DMI was intended to run in a standalone Raspberry Pi (or something similar). Many years ago I tried to use the standard OR scripting interface for the EVC, but as only one source file is allowed I started getting monster files, and I was too young to provide a solution for that. Porting everything to C# would require a lot of work, but rewriting the most important DMI parts is achievable. Having an in-cab ETCS is really cool, and I really like the idea. I have some knowledge of ETCS requirements and specifications, and I can use my C++ code as reference too, so I can implement at least the planning area (and maybe text area) without too much effort.
#4
Posted 17 November 2020 - 11:25 AM
This is an idea of what is available today:
DMI under national system, just before switch to ETCS L2, radio link already established
Under ETCS L2, braking needed
The trainset is the four-current ETR400, which, if Covid allows that, should circulate in next years also in France and Spain and accepts also the 15kV used in the German-speaking countries.
DMI under national system, just before switch to ETCS L2, radio link already established
Under ETCS L2, braking needed
The trainset is the four-current ETR400, which, if Covid allows that, should circulate in next years also in France and Spain and accepts also the 15kV used in the German-speaking countries.
#5
Posted 17 November 2020 - 12:51 PM
I attach a demonstration of ETCS operation in OR with the external DMI: https://youtu.be/UjgDJ5q1BNU
Something similar will be achieved by drawing the DMI in the cabview, but in a much cleaner and user-friendly way. I'll start learning the basics of Monogame and I hope I can show some results soon.
Something similar will be achieved by drawing the DMI in the cabview, but in a much cleaner and user-friendly way. I'll start learning the basics of Monogame and I hope I can show some results soon.
#6
Posted 17 November 2020 - 01:43 PM
That looks good! Of course the definition of the in-cab display, as can be seen in my pictures, is a bit scarce and requires a decent monitor resolution (I have a 1600 x 900 monitor); 2048 horizontal pixels would be better, however I think that the result is sufficient. I also slightly widened the dimension of the DMI display to improve resolution. available.
What is missing in what I have done is also the braking distance square, which would be possible with conventional MSTS-like design only using many frames with squares of different measures. Here too a coded solution can simply provide a better result.
What is missing in what I have done is also the braking distance square, which would be possible with conventional MSTS-like design only using many frames with squares of different measures. Here too a coded solution can simply provide a better result.
#7
Posted 18 November 2020 - 12:03 AM
For those of us barely catching up with the present day is there any difference between ETCS and ERTMS?
#8
Posted 18 November 2020 - 01:17 AM
As far as I know ETCS (European train control system) is a subset of ERTMS (European rail traffic management system). As I read in a book by Lars Schnieder "An introduction to ETCS", "The main components of ERTMS are the train control system (ETCS) and digital mobile ommunication system (GSM-R)." I believe this is a bit rough, but it gives an idea.
#9
Posted 18 November 2020 - 06:42 AM
I've already made some progress. The conversion from C++ is being quite simple, with the exception of font drawing.
In my 1366x768 laptop the digits are hardly seen, as Carlo said. I'm not an expert in graphics, but it would be awesome to have some kind of zooming function to see the DMI console.
In my 1366x768 laptop the digits are hardly seen, as Carlo said. I'm not an expert in graphics, but it would be awesome to have some kind of zooming function to see the DMI console.
#10
Posted 18 November 2020 - 07:49 AM
I have one question for developers experienced with OR graphics: what should I do to add ETCS symbols to the Content folder and load them from there?
Edit: I'm using SharedTextureManager.Get() like for TrackMonitor, but I have to copy the symbols to the Content folder by hand.
Edit: I'm using SharedTextureManager.Get() like for TrackMonitor, but I have to copy the symbols to the Content folder by hand.