summaryrefslogtreecommitdiff
path: root/plugins/devices/soft-crdop
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
commit04d965d67a7264a1c7c211494aebda1953df7603 (patch)
tree0ebd700a6e219f84a26a656f4bee8778bc75da7b /plugins/devices/soft-crdop
Initial push
Diffstat (limited to 'plugins/devices/soft-crdop')
-rw-r--r--plugins/devices/soft-crdop/README.md26
-rw-r--r--plugins/devices/soft-crdop/plugin.yaml77
2 files changed, 103 insertions, 0 deletions
diff --git a/plugins/devices/soft-crdop/README.md b/plugins/devices/soft-crdop/README.md
new file mode 100644
index 0000000..fe44f9d
--- /dev/null
+++ b/plugins/devices/soft-crdop/README.md
@@ -0,0 +1,26 @@
+# Device: soft-crdop (MAX25-SoftModem / CRDOP — MAX25-SoftModem)
+
+**CRDOP** = stack acronym for **MAX25-SoftModem** (device id `soft-crdop`).
+
+**Status:** `active` — MAX25-Stack **standard subproject** (`stacks/crdop/`).
+
+**Canonical rule:** [docs/CRDOP.md](../../../docs/CRDOP.md) · **License:** GNU GPL v3
+
+## Summary
+
+| Topic | Policy |
+|-------|--------|
+| Type | Sound-card software modem subproject |
+| Compatibility | **AX.25 / KISS / TNC / modem** (software-modem domain) |
+| Mission | **Hardware solutions** (primary) + pure **software** on computers |
+| Audio | Kernel ALSA + MAX25 sound-proxy — **no PulseAudio** |
+| Build | Default ON — `-DMAX25_BUILD_CRDOP=OFF` to skip |
+
+## Quick start
+
+```bash
+./scripts/build.sh
+./scripts/max25-ctl start --hardware soft-modems --device soft-crdop
+```
+
+See [docs/CRDOP.md](../../../docs/CRDOP.md) for full project rules.
diff --git a/plugins/devices/soft-crdop/plugin.yaml b/plugins/devices/soft-crdop/plugin.yaml
new file mode 100644
index 0000000..a18a524
--- /dev/null
+++ b/plugins/devices/soft-crdop/plugin.yaml
@@ -0,0 +1,77 @@
+id: soft-crdop
+type: device
+parent_stack: MainAX25-Stack (MAX25-Stack)
+hardware: soft-modems
+label: MAX25-SoftModem (CRDOP — CB/AR Digital Open Protocol)
+status: active
+
+product:
+ name: MAX25-SoftModem
+ phase: development_and_testing
+ development: in-house
+ baud_primary: 1200
+ baud_max: 19200
+ duplex: [half, full]
+ ax25_packet_radio: acoustically_compatible
+ use_like_hardware_modem: true
+ protocol_primary: max25-softmodem
+ audio_hardware: required
+
+note: |
+ CRDOP = CB/AR Digital Open Protocol (CB = Citizens Band, AR = Amateur Radio).
+ MAX25-Stack STANDARD subproject (stacks/crdop/) — GNU GPLv3.
+ Sound-card based; kernel ALSA + MAX25 sound-proxy; no PulseAudio.
+ Full AX.25/KISS/TNC/modem compatibility goal. Hardware-solution-first.
+ Static project rule: docs/CRDOP.md
+
+hybbx:
+ plugin: crdop
+ transport: tcp
+ control_port: 8515
+ data_port: 8516
+ profile: cb
+
+modem:
+ protocol: max25-softmodem
+ duplex: half
+ duplex_modes: [half, full]
+ default_speed_baud: 1200
+ max_speed_baud: 19200
+ ax25_acoustic: true
+ packet_radio_compatible: true
+ audio: alsa
+ audio_backend: alsa-kernel
+ audio_path: max25-sound-proxy
+ no_pulseaudio: true
+ audio_required: true
+ coupling: [line_level, acoustic]
+
+runtime:
+ ctl_start: stacks/crdop/scripts/crdopc
+ default_ini: stacks/crdop/share/crdop.ini.example
+ env:
+ - CRDOP_INI
+ cmake_option_off: MAX25_BUILD_CRDOP
+ shipped_default: true
+
+ini:
+ - stacks/crdop/share/crdop.ini.example
+ - stacks/crdop/share/crdop-dual.ini.example
+ - stacks/crdop/share/crdop-amateur.ini.example
+ - share/hybbx/crdop-host.ini.example
+
+client:
+ - share/clients/soft-crdop.yaml
+
+license: GPL-3.0-or-later
+
+docs:
+ - docs/CRDOP.md
+ - stacks/crdop/docs/SOFTMODEM.md
+ - stacks/crdop/docs/AUDIO-ARCHITECTURE.md
+ - stacks/crdop/docs/CONFIG.md
+ - stacks/crdop/ROADMAP.md
+
+scripts:
+ build: stacks/crdop/scripts/build-crdop.sh
+ start: stacks/crdop/scripts/crdopc
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com