I wanted to have automated running of trains on the layout I am designing. The two premier layout control and automation software programs are Train Controller and JMRI. Train Controller is a commercial application and JMRI is an open source application. Both can control and automate TMCC engines but not DCS engines. I chose to use Train Controller. The TMCC signal/command protocol between the remote and base station is open source. The DCS signal/command protocol between the remote and the TIU is proprietary and not implemented by Train Controller or JMRI. Professor Chaos’s post “Legacy - DCS bridge running MTH trains with the legacy remote proof of concept” showed it might be possible to convert Train Controller's TMCC commands into DCS signals. https://ogrforum.com/...ote-proof-of-concept Mark DiVecchio has done a fantastic/superhuman job of reverse engineering the DCS commands and protocol. http://www.silogic.com/trains/OOK_Radio_Support.html I built Professor Chaos’s DCS bridge and with his help successfully demonstrated it controlling a DCS engine. After learning rudimentary C++ I read Professor Chaos’s and Mark DiVecchio’s Arduino IDE sketch. Train Controller issues TMCC1 commands not Legacy commands. The section of the program parsing Legacy commands was converted to TMCC1 commands. More DCS instructions were added to the sketch. A subset of DCS commands used for Train Controller automation and programed into the DCS bridge are the following: speed, forward, reverse, toggle direction, start up, shut down, smoke on, smoke off, horn/whistle on, horn/whistle off, bell on, bell off, front coupler and rear coupler. There will probably be modifications to the list and commands when real automation is implemented. The test setup consisted of a Legacy base station and DCS TIU connected to a small oval with a MTH engine. A PDI interface was connected to the Legacy base station. The PDI bus connected a LCS WiFi node, a LCS SER2 node and a DCS bridge as shown in the picture.
An USB to Serial cable connected a PC running Train Controller to the LCS SER2 node. The MTH engine’s ID # was entered into a Train Controller TMCC engine property file along with some command editing. The MTH engine successfully demonstrated all the Train Controller issued commands that were programmed into the DCS bridge. The hardware design of the DCS bridge is in Professor Chaos’s post. Attached is the Train Controller to DCS bridge sketch. A large majority of the work on the Train Controller TMCC to DCS bridge was done by Mark DiVechhio and Professor Chaos. I just added a few edits.
The mapping of TMCC to DCS is shown in the table.
Link to description - https://ogrforum.com/...train-controller-app