Skip to content

Releases: DCC-EX/CommandStation-EX

EX-CommandStation 5.6.0 Production Release

01 May 20:28

Choose a tag to compare

Version 5.6.0 Release Notes


The DCC-EX Team is pleased to release CommandStation-EX v5.6.0 as a Production Release for the general public.

This is a Major new release, with bug fixes as well as major new features.

Read on below, and also please ensure you review our newly updated documentation at https://dcc-ex.com

EX-CommandStation features, fixes, and enhancements

  • Beta support for Nucleo-144 boards, specifically the Ethernet-equipped F429ZI and F439ZI

  • Discontinued support for UNO and Nano Arduino platforms, due to both RAM and FLASH limitations on these models. The version 5.4.x series is the last series that supports UNO and Nano Arduino platforms.

  • Add Booster mode support for the EX-CSB1, enabling DCC waveform replication out of up to 4 DCC outputs on an EX-CSB1

  • Add Sniffer mode support for the EX-CSB1, enabling merging of DCC commands from any legacy DCC command station, with the DCC packet queue on the EX-CSB1

  • Add further I2C device support, including: Adafruit NeoDriver board for driving NeoPixels and WS2811 compatible RGB LED strings up to 500 LEDs per device, DS1307 Real Time Clock, SC16IS752 single and dual UART driving DFPlayer modules

  • Add Momentum feature for the Command Station, that does not rely on CV values, and can operate on DCC or DC driven locos

  • Add Consist feature for the Command Station, that does not rely on CV values. All throttle commands to the nominated lead loco are sent to the remaining locos in the consist

  • RailCom cutout implemented on mega2560 with EX8874 motor shield, support for ESP32 and STM32 platforms is under development

  • DCC packet queue (DCC packet sending optimization and added 5ms gap due to new RCN requirement)

  • EXRAIL compile time checking of errors in EXRAIL code, looking for duplicate and missing IDs for automation, routes, sequences, calls, latches and reserves that are out of range, and speeds out of range

  • Dynamic allocation of loco table entries

  • ESP32 can turn wifi off, which may be useful when used in Booster mode, or when only managed via its USB port (JMRI etc.)

New DCCEX Protocol Messages:

  • R LOCOID and R CONSIST
  • @ for LCD
  • ^ for consist
  • k and K for block enter/exit
  • m for momentum
  • !P !R !Q (estop functions)
  • y sound controls
  • JM stash functions
  • A send extended accessory signal aspect packets
  • o NeoPixel/RGB LED control

Bugfixes:

  • ESP32 packet generation could miss packets
  • DFPlayer bugs fixed
  • STM32 DCC waveform gaps fixed
  • ESP32 WIFI AP mode was not always selected when requested
  • Number of active mobile decoders tuned dynamically according to available RAM

Known Issues

  • Installer v0.20 does not support some CSB1 specific config.h options: BOOSTER_INPUT, WIFI_LED
  • Installer v0.20 does not support some nucleo boards

EXRAIL enhancements

For details on these changes and new commands, refer to the documentation.

  • Add STASH command to save a loco
  • Add ROUTE_DISABLED macro
  • Add STEALTH macro to allow arbitrary C++ code to be embedded as a single step in an EXRAIL sequence. Serious engineers only.
  • Add STEALTH_GLOBAL macro to insert code such as static variables and functions that may be utilized by multiple STEALTH operations. ADVANCED C++ users only.
  • Add HAL_IGNORE_DEFAULTS macro to turn off the built-in default I2C device definitions
  • Add JMRI_SENSOR macro can now create an entire range of sensor IDs
  • Add CONFIGURE_SERVO macro as a more convenient means of configuring servos in myAutomation.h
  • Add ASPECT macro to set aspect on a DCC accessory signal
  • Add DCCX_SIGNAL macro for defining a signal
  • Add BLINK command to blink a vpin in a pattern defined by the milliseconds it will be on and off
  • Add FTOGGLE command to toggle a function on the current loco
  • Add XFTOGGLE command to toggle a function on the named loco
  • Add TOGGLE_TURNOUT toggles the named turnout
  • Add ONBUTTON macro to start a task once a button input passes the debounce criteria
  • Add ONSENSOR macro to start a task based on a sensor change
  • Add NEOPIXEL macro to control NeoPixels/RGB LEDs
  • Add NEOPIXEL_SIGNAL macro to control single NeoPixel/RGB LED signals

See also: https://github.com/DCC-EX/CommandStation-EX/blob/v5.6.0-Prod/version.h

We recommend to use our installer v0.20 now or v0.21 when available to install or upgrade to this release for the EX-CSB1 and Mega platforms

We have an EX-Installer update coming (v0.21) to handle the additional Nucleo options. In the meantime, we recommend Visual Studio Code with PlatformIO for those, and most other DIY options.

Other methods are shown below for your reference.

You can get the source code from GitHub with GitHub Desktop:

  • Install GitHub Desktop using this URL: https://desktop.github.com/download/
  • Select Clone Repository from the File menu
  • Click on the URL tab
  • Paste in the DCC-EX EX-CommandStation URL: https://github.com/DCC-EX/CommandStation-EX.git
  • Select a folder for the Local Path into which the repository will be cloned, use a final folder name of CommandStation-EX if you intend to use the Arduino IDE, or anything you like if using Visual Studio Code and PlatformIO
  • Click Clone
  • Once downloaded, choose v5.6.0-Prod in the Current Branch drop-down

You may then open the Arduino IDE and point it at the CommandStation-EX folder, or Visual studio code (GitHub Desktop can launch VSC for you.)

You can also get the source code from GitHub with git from command line like this:

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.6.0-Prod

If you already have git in use, a git pull command is needed to update your local files, and then the last command above to checkout the tag (or branch) you want to use.

Or from the archive files below (choose one of the two first files, zip or tar.gz, NOT the two at the end which are autogenerated by github and contain the wrong directory name)

Be sure to unpack into a new folder, not over the top of an old install.

EX-CommandStation v5.4.19 Production Release

25 Feb 15:14

Choose a tag to compare

This is a bugfix release. Fixes are:

  • PCA9685 driver did not handle mux I2C addresses for writing registers
  • EXRAIL failed TURNTABLE create commands (I2C off) can crash CS
  • EXRAIL deref nullptr failure
  • Replace the SC power status with something better
  • Update SensorCAM from version 305 to 308

See as well https://github.com/DCC-EX/CommandStation-EX/blob/v5.4.19-Prod/version.h

We recommend to use our installer to install or upgrade to this release

Other ways are shown below.

You can get the source code from github with git from command line like this:

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.4.19-Prod

If you already have git in use, only the last command is needed to update your local files.

or from the archive files below (choose one of the two first, zip or tar.gz, not the two at the end which are autogenerated by github and contain the wrong directory name)
Be sure to unpack at a new place, not over an old install.

EX-CommandStation v5.4.15 Production Release

25 Aug 11:36

Choose a tag to compare

This is a bugfix release. Major fixes are:

  • Fix overflow when all speedtable entries were used up
  • Keep power status of track when doing join/unjoin, new keep power option for setTrackMode()
  • Bug fix for SSD1309 OLED controllers
  • Negative route ids managed correct now
  • Compile optimization: RailcomTimer not started on Uno
  • Make sniffer more robust against loop() not keeping up.
  • Do not hardcode SNIFFER_LED pin

The full list of changes can be found in the https://github.com/DCC-EX/CommandStation-EX/blob/v5.4.15-Prod/version.h file.

We recommend to use our installer to install or upgrade to this release

Other ways are shown below.

You can get the source code from github with git from command line like this:

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.4.15-Prod

or from the archive files below (choose one of the two first, zip or tar.gz, the two at the end are autogenerated by github)

EX-CommandStation v5.4.10 Production Release

29 Apr 14:09

Choose a tag to compare

This is a bugfix release

Bugfixes:

  • Due to an internal timing error, on AVR (Mega, Uno) sometimes DCC-idle instead of DCC-mobile decoder refresh packets were sent. (Bug introduced in 5.2.13)

  • Handle error cases of <W CONSIST longaddr>

  • Remind all function groups in same way

  • EXRAIL: Fix typo in CLEAR_ALL_STASH command

Enhancements:

  • Handle address read of decoders that do report invalid values of
    CV20. CV20 is eiter NMRA reserved or has to RCN a max value of 120.

  • Insert idle packet once per reminder loop for decoders that rely
    on receiving such packets to do their own housekeeping.

The list of changes can as well be found in the https://github.com/DCC-EX/CommandStation-EX/blob/v5.4.10-Prod/version.h file.

You can get the source code from github with git

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.4.10-Prod

or from the archive files below (choose one of the two first, zip or tar.gz)

EX-CommandStation v5.4.6 Production Release

25 Feb 08:21

Choose a tag to compare

This is a bugfix release

Fixed:

  • DCCEX Parser should not drop further commands when they are sent in same packet (read from TCP stream in the same read)

Other enhancements:

  • Handle power better for joined tracks
  • Report power status "joined" last if there is a joined track (makes parsing easier for throttles)

A full list of changes can be found in the version.h file.

You can get the source code from github with git

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.4.6-Prod

or from the archive files below

EX-CommandStation v5.4.4 Production Release

18 Feb 12:45

Choose a tag to compare

This release is NOT recommended. Please use a newer one

Version 5.4.4 Release Notes


This is a Major new release, including all changes of the v5.2 devel series and major new features.

This release supports the following hardware:

  • Arduino Uno, Arduino Nano, Arduino Mega 2560
  • ESP32 boards EX-CSB1 and ESPduino32
  • STM32 boards F411RE and F446RE

This release has the following major new features:

  • Autoreverser mode for all platforms
  • Various HAL drivers for TCA8418, I2C DFPlayer, Adafruit NeoDriver NeoPixel board, TM1638, EX-FastClock, EX-SensorCAM
  • EXRAIL extensions
  • JMRI specific enhancements

A full list of changes can be found in the version.h file.

You can get the source code from github with git

git clone https://github.com/DCC-EX/CommandStation-EX.git
cd CommandStation-EX
git checkout v5.4.4-Prod

or from the archive files below

EX-CommandStation v5.0.7 Production Release

01 Jan 05:19

Choose a tag to compare

The DCC-EX Team is pleased to release CommandStation-EX v5.0.7 as a Production Release for the general public.

This release is a Bugfix release to fix various issues.

EX-CommandStation features, fixes, and enhancements

  • Execute 30ms off time prior to re-JOIN of PROG to MAIN on ESP32 hosts
  • Check WiFi AT firmware revisions, specifically looking for v2.2.0.0-dev as this is non-functional
  • Correct command missing default roster
  • Correct lost TURNOUTL description
  • Correct myHal.cpp_example.txt to include PCA9555 header, and correct the HALDisplay create call
  • Correct issue with command parsing
  • Add list of OPCODEs for DCCEXParser.cpp

Full Changelog: v5.0.0-Prod...v5.0.7-Prod

EX-CommandStation v5.0.0 Production Release

07 Aug 21:12

Choose a tag to compare

Version 5.0.0 Release Notes


The DCC-EX Team is pleased to release CommandStation-EX v5.0.0 as a Production Release for the general public.

This is a Major new release, including some breaking changes as well as major new features.

Read on below, and also please ensure you revise our newly updated documentation at https://dcc-ex.com

NEW EX-Installer

NEW Please try our newly re-created EX-Installer!

We'll still provide the source archives with this release, but our newly created EX-Installer is all you should need to get up and running with EX-CommandStation, and it will also let you install some of our other new products such as EX-IOExpander and EX-Turntable.

EX-CommandStation features, fixes, and enhancements

  • NEW TrackManager - Run both DC and DCC trains from the same controller and switch your tracks between DC and DCC modes live
  • Beta support for new, 32 bit microcontrollers including ESP32 WROOM and some STMicroelectronics Nucleo boards
  • Extensive optimisation of HIGHMEM useage to free up PROGMEM below the 64kb and increase the useful life of the AVR Mega2560 platform
  • Add option to disable programming to allow limited platforms such as the Arduino Uno to run limited EXRAIL scripts
  • Add support for our new fast clock EX-FastClock
  • Add support for our new I/O expander EX-IOExpander
  • Add support for our new turntable controller EX-Turntable
  • Add support for duinoNodes
  • Add support for a rotary encoder
  • Add support for PCF8575 and PCA/TCA9555 GPIO devices
  • Enhanced overcurrent detection, including enhancing the behaviour to deal with inrush current issues
  • Moved startup of the HAL earlier in the boot sequence
  • Improved performance for ADC (analogue to digital) reads
  • Enhancements to I2C bus retries and timeouts
  • Support for I2C multiplexers to help with devices with static or limited address ranges
  • Support for multiple I2C displays
  • Improved handling of conflicting I2C addresses and Vpin allocations
  • Enhanced DFPlayer error handling
  • Add <JG> and <JI> for multi-track gauges to support TrackManager
  • Improved stability for the VL53L0X ToF sensor
  • Bugfix for signals being inverted (active high was actually active low and vice versa)
  • Bugfix for Ethernet allowing a static IP address to be set

Known Issues

  • We have one known issue in version 5 where DFPlayer doesn't work correctly in some circumstances, which we are investigating and will fix soon

EXRAIL enhancements

For details on these changes and new commands, refer to the documentation.

  • BREAKING CHANGE Removed implicit AUTOSTART from myAutomation.h, simply add AUTOSTART to the beginning of the file to restore this
  • Enhance SPEED command to respond to external direction changes
  • Add DCC_SIGNAL command to control DCC Accessory based signals
  • Add VIRTUAL_SIGNAL command to enable user-defined signal sequences
  • Add ONGREEN, ONAMBER, and ONRED signal event handlers to respond to signal changes
  • Add TURNOUTL command to enable using a linear DCC address for DCC Accessory turnouts
  • Add MOVETT command to enable controlling an EX-Turntable
  • Add IFRE command to test the position of a rotary encoder
  • Add ONCHANGE event handler to respond to a position change of a rotary encoder
  • Add ONCLOCKTIME and ONCLOCKMINS event handlers to respond to EX-FastClock times
  • Add IFLOCO command to test if the provided loco ID is used in the sequence
  • Add FORGET command to drop the provided loco ID from reminder tables
  • Add SET_TRACK command to configure TrackManager in sequences
  • Add SERIAL4, SERIAL5, and SERIAL6 to support newer microcontrollers with more/different interfaces
  • Add SCREEN command to display messages on multiple displays
  • Add POWERON and POWEROFF commands to control track power

Answer to the frequently asked question

We've been asked a lot about the new Arduino Uno R4 and Arduino Giga. These aren't just a "new revision" of existing platforms and are significantly different, meaning we have no immediate plans to support these.

Read our news article No support planned for the Uno R4 or Giga

Version 4.2.54 Devel release

03 Jun 20:10

Choose a tag to compare

Pre-release

Download Links:

CommandStation-EX.zip

CommandStation-EX.tar.gz

Changes since last tagged devel version:

  • EX8874 shield in config.example.h
  • Fix: Better warnings for pin number errors
  • Fix: Default roster list possible in Withrottle and
  • Fix: Pin handling supports pins up to 254
  • Fix: Fault pin handling made more straight forward
  • Experimental support for sabertooth motor controller on ESP32
  • Add DISABLE_PROG to disable programming to save RAM/Flash
  • Fixes: estop all, turnout eeprom, cab ID check
  • Exrail SPEED take notice of external direction change
  • BROADCAST/WITHROTTLE Exrail macros
  • Correct response to <JA 0>
  • Support boards with inverted fault pin

Version 4.1.6 release note

03 Jun 19:41

Choose a tag to compare

The DCC-EX Team is pleased to release CommandStation-EX v4.1.6 as a Production Release for the general public.

  • Contains motor shield definition for the DRV8874 based EX8874 motor shield.
  • Bugfix for WiThrottle turnout command.