1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# CRDOP documentation index
**CRDOP** = stack acronym for **MAX25-SoftModem** (device id `soft-crdop`). Product: **MAX25-SoftModem** (`stacks/crdop/`). Version: MAX25-Stack **v1.0.0**; dev track `CUR999` in `$SRC/stacks/crdop/VERSION`.
**Project rule (authoritative):** [docs/CRDOP.md](../../../docs/CRDOP.md)
**AI agent map:** [DEVELOPMENT.md](../../../docs/DEVELOPMENT.md) (repo root)
---
## Start here
| Audience | Doc | One-line purpose |
|----------|-----|------------------|
| Everyone | [SOFTMODEM.md](SOFTMODEM.md) | What CRDOP is — baud scope, duplex, ALSA path |
| MAX25 operator | [MAX25-USAGE.md](MAX25-USAGE.md) | Build, `max25d`, plugins, terminal, HyBBX attach |
| Developer | [DEVELOPER.md](DEVELOPER.md) | Source tree, modules, tests, extending the modem |
| Hardware builder | [HARDWARE-INTERFACE.md](HARDWARE-INTERFACE.md) | Generic radio/audio interface specification |
| Legal / distribution | [LICENSE-USAGE.md](LICENSE-USAGE.md) | GPLv3 — private and commercial use rights |
## Implementation specs (v1.0.0)
| Doc | One-line purpose |
|-----|------------------|
| [HOST-PROTOCOL-SPEC.md](HOST-PROTOCOL-SPEC.md) | **Frozen** M25/KISS TCP :8515/:8516 — normative host wire |
| [ACOUSTIC-TEST-PROTOCOL.md](ACOUSTIC-TEST-PROTOCOL.md) | P0 bench acceptance matrix |
| [FEC-SPEC.md](FEC-SPEC.md) | Duplex + FEC strategy — implementable parameters |
| [SOUNDCARD-QUALIFICATION.md](SOUNDCARD-QUALIFICATION.md) | Interface qualification tests (class A/B/C) |
| [G3RUH-DESIGN.md](G3RUH-DESIGN.md) | P1 — 9600–19200 direct FSK (DEV-Level 4) |
---
## Technical reference
| Doc | One-line purpose |
|-----|------------------|
| [AUDIO-ARCHITECTURE.md](AUDIO-ARCHITECTURE.md) | Kernel ALSA only — sound-proxy, no PulseAudio |
| [PROTOCOL.md](PROTOCOL.md) | M25 host summary — **normative:** [HOST-PROTOCOL-SPEC.md](HOST-PROTOCOL-SPEC.md) |
| [CONFIG.md](CONFIG.md) | `crdop.ini` keys and launcher behaviour |
| [BUILD.md](BUILD.md) | Standalone CMake build and cross-compile |
| [EXAMPLES.md](EXAMPLES.md) | INI profiles, launcher, `max25d` snippets |
| [CHANGELOG.md](CHANGELOG.md) | Release notes |
---
## Planning
| Doc | One-line purpose |
|-----|------------------|
| [ROADMAP.md](../ROADMAP.md) | P0/P1/P2 modulation, RF paths, FEC, delivery milestones |
---
## Plugin registry
| Id | Type | Role |
|----|------|------|
| `soft-crdop` | device | Production sound-card modem (`soft-modems` hardware) |
| `audio-dummy` | device | Acoustic bench — loopback / ALSA / host (`acoustic-bench`) |
| `soft-modems` | hardware | CRDOP device family |
| `acoustic-bench` | hardware | Dev/test bench — no RF required |
| `ardop-plugin` | optional | Third-party ARDOP host registry (separate from CRDOP) |
---
## Install tree (MAX25-Stack build)
| Path | Contents |
|------|----------|
| `bin/crdop` | Launcher (`scripts/crdopc`) |
| `bin/audio-dummyd` | M25 host + acoustic engine |
| `bin/max25-signal-sniffer` | Bell 202 analysis tool |
| `share/crdop/` | INI examples, `lib/*.py`, `VERSION` |
| `share/hybbx/crdop-host.ini.example` | HyBBX Secondary attach |
---
*Compact index — depth in linked docs. Roadmap: [ROADMAP.md](../ROADMAP.md).*
|