1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-23 08:06:13 +01:00
Go to file
2020-09-29 11:51:01 -04:00
.github/workflows the start of new feature the config.h template including fix for github build action 2020-09-22 14:57:11 -04:00
.vscode Add readme add back extensions and settings from Dave and fix gitignore 2020-07-01 09:06:03 -04:00
ATMEGA328 Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
ATMEGA2560 Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
ATMEGA4809 Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
ATSAMC21G Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
ATSAMD21G Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
examples Rename .ino to match folder name and make changes for WiFi 2020-09-18 19:40:18 -04:00
.gitattributes Initial commit 2020-05-25 01:43:34 -06:00
.gitignore the start of new feature the config.h template including fix for github build action 2020-09-22 14:57:11 -04:00
.travis.yml Initial commit 2020-05-25 01:43:34 -06:00
AnalogReadFast.h Motor drivers tested 2020-08-17 15:30:25 +01:00
ArduinoTimers.h Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
CommandStation-EX.ino Drop advanced feature samples from basic ino 2020-09-26 16:29:11 +01:00
config.example.h remove unused configs 2020-09-26 22:56:35 +02:00
DCC.cpp D PROGBOOST ON command 2020-09-27 13:03:46 +02:00
DCC.h add support for FireBox_Mk1, reduce heartbeat, separate eStop time (#43) 2020-09-29 11:51:01 -04:00
DCCEX.h Add EthernetInterface (UNTESTED, UNCALLED) 2020-09-26 12:01:00 +01:00
DCCEXParser.cpp turn PROGBOOST off at PROG off 2020-09-27 13:26:29 +02:00
DCCEXParser.h Decouple WifiInterface from Parser 2020-09-26 10:54:11 +01:00
DCCWaveform.cpp cap overcurrent off time to 10sec 2020-09-27 13:12:02 +02:00
DCCWaveform.h cap overcurrent off time to 10sec 2020-09-27 13:12:02 +02:00
defines.h add support for FireBox_Mk1, reduce heartbeat, separate eStop time (#43) 2020-09-29 11:51:01 -04:00
DIAG.h Cleaned DIAG interface 2020-09-06 20:23:26 +01:00
EEStore.cpp Copyrights etc 2020-07-03 17:35:02 +01:00
EEStore.h Copyrights etc 2020-07-03 17:35:02 +01:00
EthernetInterface.cpp Add EthernetInterface (UNTESTED, UNCALLED) 2020-09-26 12:01:00 +01:00
EthernetInterface.h Add EthernetInterface (UNTESTED, UNCALLED) 2020-09-26 12:01:00 +01:00
freeMemory.cpp rewrite freeMemory code 2020-09-22 23:10:52 +02:00
freeMemory.h rewrite freeMemory code 2020-09-22 23:10:52 +02:00
GITHUB_SHA.h V fixes, R command and github sha. 2020-09-20 00:59:07 +01:00
LICENSE Create LICENSE 2020-06-12 22:51:42 -06:00
MemStream.cpp Fixup MemStream warning messages 2020-07-16 14:04:59 +01:00
MemStream.h Minor fixes start Uno Wifi Rev 2 fixes 2020-09-25 13:51:08 -04:00
MotorDriver.cpp current trip values on PROG depending on state 2020-09-27 12:14:25 +02:00
MotorDriver.h current trip values on PROG depending on state 2020-09-27 12:14:25 +02:00
MotorDrivers.h current trip values on PROG depending on state 2020-09-27 12:14:25 +02:00
objdump.bat Add EthernetInterface (UNTESTED, UNCALLED) 2020-09-26 12:01:00 +01:00
objdump.sh fix objdump.sh 2020-09-26 22:28:29 +02:00
Outputs.cpp Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
Outputs.h Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
platformio.ini plaformio.ini with monitor flags 2020-09-27 11:03:05 +02:00
PWMServoDriver.cpp I2C diagnostics 2020-09-07 16:19:55 +01:00
PWMServoDriver.h Fix hanging turnouts 2020-07-23 12:48:38 +01:00
README.md better howto in README.md 2020-09-27 00:44:45 +02:00
Sensors.cpp Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
Sensors.h Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
StringFormatter.cpp Improved <D> commands 2020-09-10 13:09:32 +01:00
StringFormatter.h Improved <D> commands 2020-09-10 13:09:32 +01:00
Timer.cpp revert of timer.cpp 2020-09-28 15:13:48 -04:00
Turnouts.cpp Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
Turnouts.h Cleaning of Turnout/Output/Sensor 2020-09-06 12:44:19 +01:00
version.h Move version to its own .h file 2020-09-23 21:53:33 -04:00
VirtualTimer.h Embed ArduinoTimers library 2020-08-23 14:14:04 +01:00
WifiInterface.cpp Decouple WifiInterface from Parser 2020-09-26 10:54:11 +01:00
WifiInterface.h UNTESTED Reduce #ifdef hell on wifi 2020-09-26 09:40:49 +01:00
WiThrottle.cpp add support for FireBox_Mk1, reduce heartbeat, separate eStop time (#43) 2020-09-29 11:51:01 -04:00
WiThrottle.h add support for FireBox_Mk1, reduce heartbeat, separate eStop time (#43) 2020-09-29 11:51:01 -04:00

What's DCC++ EX


DCC++ EX is an open-source hardware and software system for the operation of DCC-equipped model railroads. It expands on the work of Gregg E. Berman's original DCC++ (which can be found here in the BaseStation-Classic repository)

The system consists of two parts, the DCC++ EX Command Station and one of many front end controllers. These controllers can be hardware controllers (called CABs or Throttles), software applications like JMRI, phone apps like Engine Driver, or our exWebThrottle that is a simple application you run in a browser like a web page and control your model trains.

The DCC++ EX Command Station consists of an Arduino micro controller fitted with an Arduino Motor Shield (or other supported motor controllers) that can be connected directly to the tracks of a model railroad.

Whats in this Repository


This repository, CommandStation-EX, contains a complete DCC++ EX Commmand Station sketch designed for compiling and uploading into an Arduino Uno, Mega, or Nano. All sketch files are in the folder named CommandStation-EX and its subforlders. More information about the sketch can be found in the included PDF file.

To utilize this sketch, you can use the following methods:

  • our automated installer
  • download a zip file from this repository (green Code button above) and unzip it
  • use git clone on this repository

With the manual methods you unzip or git clone to the Arduino IDE projects folder and then open the file "CommandStation-EX.ino" in the Arduino IDE. Please do not rename the folder containing the sketch code, nor add any files in that folder. The Arduino IDE relies on the structure and name of the folder to properly display and compile the code. If you do not run the installer, you have to copy config.example.h to config.h. If you do not have the standard config you edit config.h according to the help texts in config.h.

The latest production release of the Master branch is 3.0.1:

  • Supports the Arduino Uno, Arduino Mega, and Arduino Nano
  • Built-in configuration for both the original Arduino Motor Shield, Pololu MC33926 Motor Shield, LMD18200, and BTS7960B
  • Built-in configuration and support of Ethernet Shields and the ESP82266 WiFi module (networking for use with Mega only).

For more information on the overall DCC++ EX system, please follow the links in the PDF file.

Detailed diagrams showing pin mappings and required jumpers for the Motor Shields can be found in the Documentation Repository

The Master branch contains all of the Command Station functionality showed in the DCC-EX YouTube channel.

How to find more information


DCC++ EX WEB Page

The DCC++ EX Discord and live support

TrainBoard DCC++ Forum

-May 2020 !!