What is Railroad Automation?
Railroad Automation started out in 2002 as a project I gave myself to quickly get up to speed on what was, at the time, Microsoft’s new .NET platform.
Combine that with my love for DCC (Digital Command Control) model railroads and the application grew to become a full featured toy box for model railroads
based on Digitrax’s
Loconet network. Over the years as the .NET feature set has evolved, I have
been able to add many interesting features to the application both as a learning tool and because it made the application that much more fun to operate.
My goal was to create a powerfull, yet user friendly command and control solution, while providing a great deal of flexibility for third party
developers and tinkerers. The latter was achieved by componentising the application into distinct layers
so consumers can choose the level of usability vs. flexibility.
| Element |
File |
Namespace |
Description |
| Railroad Automation App. |
RRAuto.exe |
not exposed |
WPF application that consumes both libraries below, wrapping them with a user friendly UI. Both libraries are exposed
through the application's scripting interface. |
| Automation API |
RRAutoLib.dll |
RRAutoLib.CTC |
.NET library which consumes the Loconet library. This is the engine for Centralized Traffic Control and deals with high
level objects such as: blocks, routes, sensors, switches, engines, etc. |
| Loconet API |
RRAutoLib.dll |
RRAutoLib.Loconet |
Lower level .NET library providing basic packet communication to/from Loconet. |
|
|
|