Skip to content

fransjacobs/model-railway

Repository files navigation

Java Central Station

Static Badge License

GitHub commit activity Java CI with Maven

GitHub Gist last commit GitHub issues GitHub Release


About the Project

JCS is a hobby project of me where I try to automate my Model Railway. Over the past years I have worked on and off on several aspects and modules of the software which are needed to drive automatically. A short summary of the topics which are needed and used to be able to drive trains automatically:

  • Connectivity to the Command Station hardware. (DCC-EX,HSI-S88, Marklin CS2/3)
  • Edit and display graphically a layout
  • With the layout be able to route all the possible drive ways
  • Show the routes and driveways in the layout screen
  • Graphically feedback events on track to the layout screen
  • Input dialogs to setup Accessories, Locomotives, Command stations, etc
  • Locomotive Drive Cap so tha you can manually run you locomotive
  • Virtual Command Station, to ease testing and simulate automatic driving
  • Monitor Sensor events

I created a short video demonstrating automatic running of locomotives. Also a video of pysical locomotives running on the Test Layout

Why?

There are already many "out of the box" working products. I wanted to create my own to learn and to have FUN!

As I am a great supporter of Open Source I have put the project on github with the purpose for others to use it, learn from it, or improve it.

So I hope you get inspired!

Frans

Guides

Screenshots

So here are a few screenshots of the Project:

Thottle / Driver Cab

The Locomotive- and function images are displayed. Images are automatically downloaded from the Central Station. Or can be manually added.

UI screenshot: JCS Throttle

Layout overview

The (schematic) layout is displayed. Locomotive can be Placed in a Block. When the AutoPilot is switched on Locomotive will drive from block to block. UI screenshot: JCS Main Screen

In Editmode you can draw a layout using pre defined Tiles. also the layout can be routed. (it the very first and early step for the preparation of automatic running). UI screenshot: JCS Edit Screen

Sensor Monitor

To debug or easly setup your feedback sensors UI screenshot: JCS Sensor Monitor

Keyboard Panel for switching accessories and viewing feedback sensor status

UI screenshot: JCS keyboard Screen

Import Locomotives from a CS-2 or CS-3

UI screenshot: JCS Preferences Locomotives

Releases

Supported Hardware

Current status

Currently the following feature are in development:

  • Documentation
  • Internationalization enable multiple languages
  • Add support for ESU ECOS
  • Show Signal aspects in automatic driving
  • Enhance GUI
  • Add more Unit tests
  • ...

License

LICENSE

Build JCS from source

BUILDING

Contributors

frans
Frans Jacobs
Buy Me A Coffee

Copyright 2019 - 2024 Frans Jacobs

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.