istrain-public: from-scratch build of a passive RF train detector
Public community release. The complete working system — DSP + decoders (scripts/), web dashboard + API (dashboard/), container stack (docker/), config templates (config/) — plus APOCALYPSE-EDITION.md, the full build guide for a human or a coding agent. GPLv3 (PyEOT dependency). Scrubbed of all secrets, internal IPs, hostnames, and location detail. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Attribution & licensing
|
||||
|
||||
**istrain-public is licensed GPLv3** (see [`LICENSE`](LICENSE)). This choice follows the
|
||||
strongest dependency: the EOT decoder validates frames against **PyEOT**, which is GPLv3.
|
||||
|
||||
## Third-party code vendored here
|
||||
|
||||
- **`scripts/eot/PyEOT/`** — [PyEOT by Eric Reuter](https://github.com/ereuter/PyEOT), the
|
||||
open-source End-of-Train / FFSK decoder (packet parser + BCH check) and its demo recording.
|
||||
**GPLv3**, its `LICENSE` kept intact in that directory. Our `scripts/eot/eot_scan.py` calls
|
||||
into it at runtime for frame-sync and validity checking; the two-pass adaptive front-end
|
||||
(drift-tolerant tone tracking + fuzzy sync) is our addition.
|
||||
|
||||
## The shoulders this stands on
|
||||
|
||||
The tools and communities credited in the dashboard's **With Thanks** panel are the real
|
||||
foundation — RTL-SDR Blog and the osmocom rtl-sdr tools, RTLSDR-Airband, faster-whisper /
|
||||
OpenAI Whisper, FFmpeg, NumPy, Docker + Dockge, and the railfan frequency communities
|
||||
(RadioReference, Railroad-Frequencies.com, the regional railfan sites) that publish the
|
||||
channel plans that make any of this findable. See `dashboard/index.html` for the full list
|
||||
with links.
|
||||
|
||||
## Note for the person who forked this
|
||||
|
||||
If you'd rather license your own build permissively (MIT/BSD), you can — **but not while
|
||||
PyEOT is vendored and imported.** Swap in your own FFSK frame parser + BCH check (the spec is
|
||||
public — 1200-baud FFSK, the SigidWiki EOTD page documents it), drop `scripts/eot/PyEOT/`, and
|
||||
the GPL obligation goes with it. Everything else here is original work.
|
||||
Reference in New Issue
Block a user