Repository navigation
Releases: RB211/DCC_Ex_Driver
Release list
DCC-EX Native Throttle v0.2.0
What's new
- F0–F28: the Functions panel now exposes all 29 broadcast-synced functions, laid out in decade rows (F0–F9 / F10–F19 / F20–F28).
- Per-button momentary/toggle modes: right-click any function button to flip it between momentary (on while held) and toggle (one edge per press — right for lights and single-toot sounds). Toggle-mode buttons show underlined text. Choices persist to
~/.config/dccex-throttle.json; F3 defaults to toggle. - Live function state indicators: each button gains a green border while its function is on, driven by the station's
<l>broadcasts — so changes from any throttle on the layout show up.
Assets
dccex-throttle-linux-x86_64— one-file Linux binary (built on Arch; needs a comparably recent glibc, or run from source).- macOS build to follow.
Binary: dccex-throttle-macos-arm64.app.zip, one-file PyInstaller build (macOS, Apple Silicon). Unzip and run dccex-throttle.app; the bundle is unsigned, so first launch needs right-click → Open (or xattr -d com.apple.quarantine dccex-throttle.app).
DCC-EX Native Throttle v0.1.1
Changes since v0.1.0:
- Direction control is now a single colour-coded toggle (green FORWARD / orange REVERSE) instead of radio buttons.
- F3 (short whistle) sends one command per press, alternating on/off, so the decoder toots once per click instead of twice.
- UI metrics are keyed off the windowing system, so the window fits on a MacBook screen under aqua while keeping the large-font layout on x11.
Binary: dccex-throttle-linux-x86_64, one-file PyInstaller build (Arch Linux, x86_64). Needs a comparably recent glibc; build from source on older distros.
Binary: dccex-throttle-macos-arm64.app.zip, one-file PyInstaller build (macOS, Apple Silicon). Unzip and run dccex-throttle.app; the bundle is unsigned, so first launch needs right-click → Open (or xattr -d com.apple.quarantine dccex-throttle.app).
DCC-EX Native Throttle v0.1.0
Standalone Linux x86_64 executable of the DCC-EX native-protocol throttle. No installation needed.
Asset updated 2026-09-02: F3 is now a toggle — one command per press, alternating on/off. Decoders that sound on every function edge (short whistle) tooted twice per click with press/release momentary handling; F3 now makes exactly one edge, one toot per click. Also: direction is a single colour-coded toggle (green FORWARD / orange REVERSE) instead of radio buttons.
Downloads
| Asset | Size | Notes |
|---|---|---|
dccex-throttle-linux-x86_64 |
21 MB | Python/Tk build (PyInstaller). TCP and USB serial. |
chmod +x dccex-throttle-linux-x86_64
./dccex-throttle-linux-x86_64
Connect over TCP (default 192.168.4.1:2560, the EX-CommandStation AP-mode address) or USB serial at 115200 baud.
Features
- Run tab: throttle slider (0-126), direction toggle, STOP / E-STOP ALL, function buttons F1-F8 (momentary; F3 toggles once per press for edge-triggered whistle sounds)
- Programming tab: service-mode address and CV read/write, CV29 bit editor, CV name lookup, program-on-main writes
- Track power control per district (MAIN/PROG) with live current draw and overload latch
- Console with raw command entry
Notes
- Built on Arch Linux; it needs a comparably recent glibc. For older distros, rebuild from source:
python3 -m venv .venv && .venv/bin/pip install pyserial pyinstaller && .venv/bin/pyinstaller --onefile --windowed --name dccex-throttle dccex_throttle.py - Closing the window sends
<0>(track power off) by design. - Tested against a real EX-CSB1: throttle, direction, and function handling (including the F3 single-toot behaviour) confirmed on the rails.
🤖 Generated with Claude Code