https://github.com/constantin-p/dcc-controller
A DCC controller application for macOS, Windows, and Linux.
https://github.com/constantin-p/dcc-controller
arduino dcc dcc-controller java-8
Last synced: 2 months ago
JSON representation
A DCC controller application for macOS, Windows, and Linux.
- Host: GitHub
- URL: https://github.com/constantin-p/dcc-controller
- Owner: constantin-p
- License: mit
- Created: 2018-05-08T14:00:08.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-14T20:50:52.000Z (about 8 years ago)
- Last Synced: 2025-06-26T10:50:29.422Z (about 1 year ago)
- Topics: arduino, dcc, dcc-controller, java-8
- Language: Java
- Homepage:
- Size: 457 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [DCC Controller](https://github.com/constantin-p/dcc-controller)
###### A DCC controller application for macOS, Windows, and Linux.
##### Table of Contents
* [Introduction](#introduction)
* [Installation (DCC Controller)](#installation-dcc-controller)
* [Usage](#usage)
* [Configurations](#configurations)
* [Screenshots](#screenshots)
* [License](#license)
### Introduction
DCC Controller allows users to operate model railway systems (which support the [DCC](https://www.nmra.org/dcc-rps-standards) protocol) through a desktop GUI application.
The described functionality is achieved by using a 2 part system:
- Java desktop application (DCC Controller)
- Arduino control code [arduino/sketch_dcc_controller_v1](arduino/sketch_dcc_controller_v1).
### Installation (DCC Controller)
[Download 1.0 Release (DCC_Controller.jar)](https://github.com/constantin-p/dcc-controller/releases/tag/v1.0.0)
### Usage
1. Install the device control code for Arduino ([arduino/sketch_dcc_controller_v1](arduino/sketch_dcc_controller_v1))
2. Open DCC Controller
3. Create a new device (`File` → `New Device` or use the `Add Device button`)
4. Open the device detail window (`Open` button from the device list)
5. Connect the arduino board to your computer and select the corresponding port from DCC Controller (`Tools` → `Port`).
###### You should now be able to control the speed and direction of the device. For more functionality use [configurations](#configurations).
### Configurations
You can extend the functionality of the application by using configuration files.
A configuration file is a comma-separated values (CSV) file with 2 columns: `command_display_name` & `command`.
In order to import your configuration files, go to `File` → `Import` configuration or use the `Add configuration` button (device detail window).
###### For an example configuration file check [configuration/default_train.csv](configuration/default_train.csv).
| Column | Description |
|-----------------------------|-------------------------------------------------------------|
| **`command_display_name`** | The string that will describe the command in the GUI. |
| **`command`** | The string that will be interpreted by the Arduino code. \* |
_**\* This will be the suffix of the command string. The command structure is the following:**_
DCC_CTRL:**`
`**:``
* **`
`**: (`number`) The device address (starts from 0, up to 127). This is set when you create the device.
For the _**REVERSE**_ & _**FORWARD**_ commands the following structure is used:
DCC_CTRL:`
`:``:**``**
* **``**: (`number`) The speed value (starts from 0, up to 15). This is set by the GUI slider.
###### Commands are ended by a newline character `\n`.
---
### Screenshots
1. Device List Overview
2. Create Device Screen
3. Default Device Screen
4. Configured Device
## License
This project is MIT licensed.
Please see the [LICENSE](LICENSE) file for more information.