1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-23 08:06:13 +01:00
Go to file
2024-06-07 13:19:37 +02:00
.github Update FUNDING.yml 2022-03-29 11:59:40 -04:00
images update read.me 2023-10-23 19:21:03 +02:00
Release - Architecture Doc Update version.h 2023-02-22 21:28:16 +00:00
Release_Notes EXRAIL ONBUTTON 2024-04-13 09:14:55 +01:00
.gitattributes do not touch CR or CRLF of svg files 2020-11-26 15:55:52 +01:00
.gitignore merge with upstream/master 2024-06-07 13:19:37 +02:00
.travis.yml Initial commit 2020-05-25 01:43:34 -06:00
CommandDistributor.cpp merge with upstream/Devel 2024-06-07 12:50:14 +02:00
CommandDistributor.h EXRAIL MESSAGE() 2024-03-08 20:33:11 +00:00
CommandStation-EX.ino compile time check WIFI_PASSWORD length for reasonable value 2024-03-04 15:07:03 +01:00
config.example.h merge with upstream/Devel 2024-06-07 12:50:14 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2020-12-08 07:34:59 -05:00
DCC.cpp Consist version. 2024-04-06 23:49:26 +01:00
DCC.h <W CONSIST cmd 2024-04-06 23:41:25 +01:00
DCCACK.cpp Extended consist <R> and <W> 2024-04-06 13:19:56 +01:00
DCCACK.h Extended consist <R> and <W> 2024-04-06 13:19:56 +01:00
DCCEX.h _hk in myAutomation 2024-01-10 12:11:14 +00:00
DCCEXParser.cpp Comments only 2024-05-02 09:48:18 +01:00
DCCEXParser.h <W CONSIST cmd 2024-04-06 23:41:25 +01:00
DCCRMT.cpp ESP32: Use SOC_RMT_MEM_WORDS_PER_CHANNEL to determine if the RMT hardware can handle DCC 2024-01-07 22:22:38 +01:00
DCCRMT.h Send inverted signal (DCC and DC mode) on ESP32 if signalPin2 defined in MotorDriver 2022-08-13 09:12:53 +02:00
DCCTimer.h Fix F446ZE ADCee support and add STM32 ports G and H 2024-04-26 19:04:20 +08:00
DCCTimerAVR.cpp make WDT time longer to work around bootloader bug 2024-05-11 08:46:25 +02:00
DCCTimerESP.cpp merge with upstream/master 2024-06-07 13:19:37 +02:00
DCCTimerMEGAAVR.cpp Merge devel-freq 2024-02-20 15:06:07 +01:00
DCCTimerSAMD.cpp Merge devel-freq 2024-02-20 15:06:07 +01:00
DCCTimerSTM32.cpp STM32 updates for serial ports etc. 2024-05-22 07:16:25 +08:00
DCCTimerTEENSY.cpp Merge devel-freq 2024-02-20 15:06:07 +01:00
DCCWaveform.cpp ESP32 Bugfix: Uninitialized stack variable. Will bite you with infinite loop if no tracks are defined 2024-04-02 00:03:51 +02:00
DCCWaveform.h fill in debug and unsupported drivers 2024-02-07 21:24:48 +00:00
defines.h DISABLE_DIAG by default for Uno and Nano 2024-04-07 09:26:32 +02:00
DIAG.h Rename LCDDisplay class to Display; renameEXRAIL LCD2 macro to SCREEN 2023-02-11 23:37:09 +00:00
Display_Implementation.h Fix @ reporting on startup 2023-11-23 09:00:49 +00:00
Display.cpp exchange pin number to track letter part 2 2023-03-20 21:22:48 +01:00
Display.h Define scroll rows in config 2023-11-15 19:29:24 +00:00
DisplayInterface.cpp Revert "Update DisplayInterface.cpp" 2023-02-24 09:39:00 +00:00
DisplayInterface.h Update DisplayInterface.h 2023-02-23 10:36:42 +00:00
EEStore.cpp (c) and version tag 2022-07-30 23:08:42 +02:00
EEStore.h SAMD Support Initial Patches 2022-05-17 18:06:08 +08:00
EthernetInterface.cpp Bugfix: Ethernet fixed IP start 2024-01-10 15:09:22 +01:00
EthernetInterface.h Make EthernetInterface code more robust 2022-11-07 11:53:56 +01:00
EX-CommandStation-installer.exe Rename installer exe 2023-04-11 11:48:35 +10:00
EXRAIL.h Rename RMFT files and references to EXRAIL (#201) 2022-01-30 12:31:26 -05:00
EXRAIL2.cpp Bugfix: Opcode AFTEROVERLOAD does not have an argument that is a pin and needs to be initialized 2024-05-23 22:39:43 +02:00
EXRAIL2.h EXRAIL move isSignal to public for STEALTH 2024-05-07 15:12:37 +08:00
EXRAIL2MacroReset.h Squashed commit of the following: 2024-04-13 08:12:35 +01:00
EXRAIL2Parser.cpp Distinguish between sighandle and sigid 2024-04-21 19:03:24 +02:00
EXRAILMacros.h ALIAS(named pins) 2024-05-21 20:04:11 +01:00
EXRAILSensor.cpp ONBUTTON/ONSENSOR use latch 2024-04-13 10:16:26 +01:00
EXRAILSensor.h Squashed commit of the following: 2024-04-13 08:12:35 +01:00
FSH.h EXRAIL ling segment 2023-11-21 21:14:54 +00:00
GITHUB_SHA.h tag with date 2024-06-02 21:45:43 +02:00
I2CManager_AVR.h Remove redundant commented out code. 2023-02-23 20:16:29 +00:00
I2CManager_Mega4809.h I2CManager: Update native drivers for MUX support from the common code. 2023-02-10 15:47:44 +00:00
I2CManager_NonBlocking.h Fixes to timeout handling (due to STM32 micros() difference). 2023-03-28 18:07:52 +01:00
I2CManager_SAMD.h Update I2CManager_SAMD.h 2023-02-10 18:21:06 +00:00
I2CManager_STM32.h eliminate warning 2024-01-20 23:35:30 +01:00
I2CManager_Wire.h Update I2CManager_Wire.h 2023-02-25 11:43:36 +00:00
I2CManager.cpp merge with upstream/Devel 2024-06-07 12:50:14 +02:00
I2CManager.h Fixes to timeout handling (due to STM32 micros() difference). 2023-03-28 18:07:52 +01:00
install_via_powershell.cmd Add exe version 2023-04-11 10:26:15 +10:00
installer.json Frightrisk ver4 (#205) 2022-02-16 12:02:11 -05:00
installer.ps1 Add exe version 2023-04-11 10:26:15 +10:00
installer.sh Do not invoke graphical install on Raspbian 2023-07-06 16:58:36 +02:00
IO_AnalogueInputs.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_DCCAccessory.cpp Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_DFPlayer.h Update IO_DFPlayer.h 2023-03-31 17:58:30 +01:00
IO_duinoNodes.h 4.2.41 Hal setup and DNOU8 fix 2023-04-05 23:19:43 +01:00
IO_ExampleSerial.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_EXFastclock.h merge with upstream/Devel 2024-06-07 12:50:14 +02:00
IO_EXIOExpander.h merge with upstream/master 2024-06-07 13:19:37 +02:00
IO_EXTurntable.cpp surpress warnings 2024-02-24 17:24:55 +01:00
IO_GPIOBase.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_HALDisplay.h HALDisplay bug fix 2024-04-12 17:25:00 +08:00
IO_HCSR04.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_I2CDFPlayer.h Prepend I2CDFPlayer with DF_ to solve Nucleo RESET directive 2024-02-04 18:57:30 +00:00
IO_MCP23008.h Prepare HAL device drivers to support Extended I2C Addresses 2023-02-07 14:55:14 +00:00
IO_MCP23017.h Prepare HAL device drivers to support Extended I2C Addresses 2023-02-07 14:55:14 +00:00
IO_PCA9555.h Update IO_PCA9555.h 2023-09-23 16:10:16 +01:00
IO_PCA9685.cpp Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_PCA9685pwm.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_PCF8574.h Prepare HAL device drivers to support Extended I2C Addresses 2023-02-07 14:55:14 +00:00
IO_PCF8575.h Prepare HAL device drivers to support Extended I2C Addresses 2023-02-07 14:55:14 +00:00
IO_RotaryEncoder.h Rotary Encoder address 0x67 2024-03-23 13:31:34 +10:00
IO_Servo.cpp Servo driver - split PCA9685 into a filter + PWM driver. 2023-02-07 17:24:05 +00:00
IO_Servo.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_TouchKeypad.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IO_trainbrains.h Trainbrains block occupancy 2023-11-26 12:31:41 +00:00
IO_VL53L0X.h Correct display of high VPIN numbers in diagnostic output. 2023-03-27 13:08:14 +01:00
IODevice.cpp merge with upstream/Devel 2024-06-07 12:50:14 +02:00
IODevice.h HAL defaults control 2024-01-14 20:20:22 +00:00
KeywordHasher.h Fix asserts for Teensy 2024-01-10 16:08:11 +00:00
LCN.cpp LCN bugfix 2023-02-12 20:38:03 +01:00
LCN.h update copyright notes 2022-01-07 02:28:35 +01:00
LICENSE Create LICENSE 2020-06-12 22:51:42 -06:00
LiquidCrystal_I2C.cpp Update LiquidCrystal_I2C.cpp 2023-02-22 21:06:39 +00:00
LiquidCrystal_I2C.h Update LCD driver to make it more reliable 2023-02-21 11:00:27 +00:00
MotorDriver.cpp Remove inrush throttle after half good time so that we go to mode overload if problem persists 2024-05-23 22:41:50 +02:00
MotorDriver.h Fix F446ZE ADCee support and add STM32 ports G and H 2024-04-26 19:04:20 +08:00
MotorDrivers.h Allow no shield 2024-03-18 21:17:51 +01:00
myAutomation.example.h Update myAutomation.example.h 2023-03-18 18:53:48 +00:00
myEX-Turntable.example.h Add myEX-Turntable.example.h 2022-08-14 07:11:38 +10:00
myHal.cpp_example.txt Rotary Encoder address 0x67 2024-03-23 13:31:34 +10:00
myHal.cpp.txt Add FLAGS device for EX-RAIL state communications. Improve VPIN display in messages. 2023-03-27 12:39:11 +01:00
objdump.bat smaller random 2022-06-18 13:58:46 +01:00
objdump.sh fix objdump.sh 2020-09-26 22:28:29 +02:00
Outputs.cpp update copyright notes 2022-01-07 02:28:35 +01:00
Outputs.h update copyright notes 2022-01-07 02:28:35 +01:00
platformio.ini ESP32: More version locking 2024-06-02 21:44:25 +02:00
README.md merge with upstream/master 2024-06-07 13:19:37 +02:00
README.pdf merge with upstream/master 2024-06-07 13:19:37 +02:00
release_notes.md Update release_notes.md 2022-02-17 15:00:59 -05:00
RingStream.cpp Ensure correct functions are called for strcpy_P, strncmp_P, strlen_P etc. on non-AVR targets.. 2023-01-23 22:28:43 +00:00
RingStream.h HIGHMEM + WITHROTTLE 2022-12-16 13:14:48 +00:00
Sensors.cpp JMRI_SENSOR exrail 2024-02-07 22:11:27 +00:00
Sensors.h JMRI_SENSOR exrail 2024-02-07 22:11:27 +00:00
SerialManager.cpp Bugfix: Catch stange input to parser 2023-11-16 00:27:23 +01:00
SerialManager.h Command Distributor 2022-06-10 12:22:28 +01:00
SSD1306Ascii.cpp Update SSD1306Ascii.cpp 2023-02-25 11:42:43 +00:00
SSD1306Ascii.h Support for multiple displays 2023-02-16 16:41:13 +00:00
StringBuffer.cpp Command Distributor 2022-06-10 12:22:28 +01:00
StringBuffer.h HIGHMEM + WITHROTTLE 2022-12-16 13:14:48 +00:00
StringFormatter.cpp Save progmem with DISABLE_VDPY on Uno 2023-11-23 22:14:24 +01:00
StringFormatter.h Virtual LCD phase 1 2023-11-14 19:41:05 +00:00
TrackManager.cpp apply mode by binart bit match and not by equality 2024-05-09 17:06:33 +02:00
TrackManager.h Allow no shield 2024-03-18 21:17:51 +01:00
Turnouts.cpp remove forgotten #define DIAG_IO 2024-04-22 08:12:08 +02:00
Turnouts.h save another 2 bytes in turnouts if eeprom is disabled 2023-05-09 14:17:30 +02:00
Turntables.cpp fix warning and indent proper 2024-02-20 15:13:22 +01:00
Turntables.h Missed one i 2023-10-12 13:42:14 +10:00
version.h version 5.2.60 2024-05-23 22:46:47 +02:00
WifiESP32.cpp ESP32: Can all Wifi channels. Only write Wifi password to display if it is a well known one 2024-01-21 21:09:55 +01:00
WifiESP32.h copyright, version and compile warnings fix 2023-07-08 08:58:00 +02:00
WifiInboundHandler.cpp HIGHMEM + WITHROTTLE 2022-12-16 13:14:48 +00:00
WifiInboundHandler.h HIGHMEM + WITHROTTLE 2022-12-16 13:14:48 +00:00
WifiInterface.cpp merge with upstream/Devel 2024-06-07 12:50:14 +02:00
WifiInterface.h copyright, version and compile warnings fix 2023-07-08 08:58:00 +02:00
WiThrottle.cpp Functions for DC frequency: Use func up to F31 part 2 2024-03-12 11:45:28 +01:00
WiThrottle.h HIGHMEM + WITHROTTLE 2022-12-16 13:14:48 +00:00

My (FranziHH) DCC++ Ex Hardware

What is DCC-EX?

DCC-EX is a team of dedicated enthusiasts producing open source DCC & DC solutions for you to run your complete model railroad layout. Our easy to use, do-it-yourself, and free open source products run on off-the-shelf Arduino technology and are supported by numerous third party hardware and apps like JMRI, Engine Driver, wiThrottle, Rocrail and more.

Currently, our products include the following:

Details of these projects can be found on our web site.

Whats in this Repository?

This repository, CommandStation-EX, contains a complete DCC-EX EX-CommmandStation sketch designed for compiling and uploading into an Arduino Uno, Mega, or Nano.

To utilize this sketch, you can use the following:

  1. (recommended for all levels of user) our automated installer
  2. (intermediate) download the latest version from the releases page
  3. (advanced) use git clone on this repository

Refer to our web site for the hardware required for this project.

We seriously recommend using the EX-Installer, however if you choose not to use the installer...

  • Open the file CommandStation-EX.ino in the Arduino IDE or Visual Studio Code (VSC). 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.
  • Rename or copy config.example.h to config.h.
  • You must edit config.h according to the help texts in config.h.

More information

You can learn more at the DCC-EX website