summaryrefslogtreecommitdiff
path: root/stacks/crdop/docs/PROTOCOL.md
blob: 2d28bd4c173e5c4fa40f8ead48f9adf198c67526 (plain)
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
# Protocol

Normative wire: **[HOST-PROTOCOL-SPEC.md](HOST-PROTOCOL-SPEC.md)** (frozen v1.0.0).

CRDOP (**MAX25-SoftModem**) uses the **native MAX25 M25/KISS host protocol** on TCP :8515 (control) / :8516 (data).

## Stack (default)

```
[Radio] ↔ [audio/ALSA] ↔ audio-dummyd / native modem ↔ TCP :8515 ctrl, :8516 data ↔ max25d
```

## Over-the-air

AX.25-compatible AFSK tones (1200 baud primary, up to 19200 baud design range). See [SOFTMODEM.md](SOFTMODEM.md).

## Host TCP (native M25)

| Port | Role |
|------|------|
| 8515 | Control (line-oriented ASCII, `\n` terminated) |
| 8516 | Data (AX.25 UI body without HDLC/FCS) |

Common commands: `INITIALIZE` · `PROTOCOLMODE KISS` · `MYCALL` · `LISTEN` · `STATUS` · `PING`

Implementation reference: `stacks/crdop/lib/m25_host_protocol.py`

## CRDOP launch presets

| Profile | Role |
|---------|------|
| `cb` | Default — CB / 500MAX class |
| `dual` | CB ↔ amateur turnaround |
| `amateur` | Amateur bandwidth class |

Runtime overrides via host TCP or `crdop.ini` always apply.
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com