blob: b6d32c5fefa9a27176bb892f6e007b61a64d52b5 (
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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# Examples
MAX25-Stack integration (plugins, `max25d`, terminal): [MAX25-USAGE.md](MAX25-USAGE.md).
## Build
```bash
./scripts/build-crdop.sh
CC=clang ./scripts/build-crdop.sh
CRDOP_BUILD_TESTS=ON ./scripts/test-all.sh # needs libcmocka-dev
```
Cross-build (Linux host): see [BUILD.md](BUILD.md).
## Run — CB (default, native M25 host)
```bash
./scripts/crdopc
# or explicit example INI:
CRDOP_INI=share/crdop.ini.example ./scripts/crdopc
```
This starts `audio-dummyd` with native M25/KISS host on TCP :8515/:8516.
Copy config for daily use:
```bash
mkdir -p ~/.config/crdop
cp share/crdop.ini.example ~/.config/crdop/crdop.ini
$EDITOR ~/.config/crdop/crdop.ini
./scripts/crdopc
```
## Run — dual (CB ↔ amateur)
```bash
CRDOP_INI=share/crdop-dual.ini.example ./scripts/crdopc
```
## Run — amateur (secondary)
```bash
CRDOP_INI=share/crdop-amateur.ini.example ./scripts/crdopc
```
## Full-duplex CB
`share/crdop.ini.example` with:
```ini
[modem]
duplex = full
arq_bandwidth = 500MAX
```
## Custom call / ALSA devices
```ini
[mycall]
call = CB01-0
[audio]
capture = plughw:1,0
playback = plughw:1,0
```
Pass extra args after port (reserved for future native modem flags):
```bash
./scripts/crdopc 8515
```
## Direct audio-dummyd (no launcher)
```bash
./build/bin/audio-dummyd --ctrl-port 8515 --data-port 8516
```
## max25d integration
```ini
[devices]
soft-crdop = crdop:default
[device.soft-crdop]
host = 127.0.0.1
port = 8515
listen = yes
```
See [../../docs/PLUGINS-DEVICE-MODEL.md](../../docs/PLUGINS-DEVICE-MODEL.md).
|