diff options
Diffstat (limited to 'plugins/hardware')
| -rw-r--r-- | plugins/hardware/acoustic-bench/plugin.yaml | 21 | ||||
| -rw-r--r-- | plugins/hardware/modems/README.md | 27 | ||||
| -rw-r--r-- | plugins/hardware/modems/plugin.yaml | 27 | ||||
| -rw-r--r-- | plugins/hardware/soft-modems/README.md | 23 | ||||
| -rw-r--r-- | plugins/hardware/soft-modems/plugin.yaml | 48 | ||||
| -rw-r--r-- | plugins/hardware/terminal/plugin.yaml | 4 | ||||
| -rw-r--r-- | plugins/hardware/tncs/README.md | 25 | ||||
| -rw-r--r-- | plugins/hardware/tncs/plugin.yaml | 28 |
8 files changed, 203 insertions, 0 deletions
diff --git a/plugins/hardware/acoustic-bench/plugin.yaml b/plugins/hardware/acoustic-bench/plugin.yaml new file mode 100644 index 0000000..7df7a28 --- /dev/null +++ b/plugins/hardware/acoustic-bench/plugin.yaml @@ -0,0 +1,21 @@ +id: acoustic-bench +type: hardware +parent_stack: MainAX25-Stack (MAX25-Stack) +label: Acoustic Bench +description: | + Host-side acoustic signal bench — dummy device, sniffer, DSP loopback. + Kernel ALSA only. For CRDOP / MAX25-SoftModem development and test. + +stack_path: stacks/crdop +status: active + +devices: + - audio-dummy + +tools: + sniffer: stacks/crdop/tools/max25-signal-sniffer + dummy_daemon: stacks/crdop/tools/audio-dummyd + +docs: + - docs/CRDOP.md + - stacks/crdop/docs/AUDIO-ARCHITECTURE.md diff --git a/plugins/hardware/modems/README.md b/plugins/hardware/modems/README.md new file mode 100644 index 0000000..9988df9 --- /dev/null +++ b/plugins/hardware/modems/README.md @@ -0,0 +1,27 @@ +# Hardware: Modems + +BayCom/based SER12 — userspace **bcpr** (`stacks/max25-bcpr/`). USB/async KISS — `plugins/devices/baycom-kiss/`. + +Kernel `baycom-pr` / `baycom_ser_fdx` removed from this tree (2026-07-18). + +## HyBBX + +Optional BayCom/based path is via MAX25 (`bcpr` → KISS). See [docs/BAYCOM.md](../../docs/BAYCOM.md) and [docs/HYBBX.md](../../docs/HYBBX.md). + +| Path | Role | +|------|------| +| `stacks/max25-bcpr/` | SER12 userspace (PC-COM class) | +| `baycom-kiss` | USB/async KISS TNC firmware | + +## Quick start + +```bash +cmake -S . -B build-max25-bcpr -DMAX25_BUILD_MAX25_BCPR=ON +cmake --build build-max25-bcpr +# then: docs/BAYCOM.md (max25-bcpr-ctl / max25d [features] max25_bcpr=yes) +``` + +## Docs + +- [docs/BAYCOM.md](../../docs/BAYCOM.md) +- [stacks/max25-bcpr/README.md](../../stacks/max25-bcpr/README.md) diff --git a/plugins/hardware/modems/plugin.yaml b/plugins/hardware/modems/plugin.yaml new file mode 100644 index 0000000..ad0a194 --- /dev/null +++ b/plugins/hardware/modems/plugin.yaml @@ -0,0 +1,27 @@ +id: modems +type: hardware +parent_stack: MainAX25-Stack (MAX25-Stack) +label: Modems +description: BayCom/based SER12 via max25-bcpr (userspace; not usable by default); USB/async KISS via baycom-kiss + +stack_path: stacks/max25-bcpr +hybbx_plugin: baycom + +backends: + - max25-bcpr-ser12 + - kiss-serial + +build: + cmake_option: MAX25_BUILD_MAX25_BCPR + targets: [max25-bcprd, max25-bcpr-ctl] + +ctl: stacks/max25-bcpr/tools/max25-bcpr-ctl + +runtime: + state_dir: /tmp/max25-bcpr + config: /etc/max25/max25-bcpr.ini + kiss_default: /tmp/max25-bcpr/kiss-bc0 + +devices: + - baycom-kiss +# SER12 product devices are max25e0 / max25e0:bc1 via max25d [devices], not kernel plugins. diff --git a/plugins/hardware/soft-modems/README.md b/plugins/hardware/soft-modems/README.md new file mode 100644 index 0000000..d3cdd53 --- /dev/null +++ b/plugins/hardware/soft-modems/README.md @@ -0,0 +1,23 @@ +# Hardware: Soft Modems + +Sound-card software modems — **MAX25-SoftModem (CRDOP)** is the in-house standard. **CRDOP** = stack acronym for **MAX25-SoftModem** (device id `soft-crdop`). + +| Device | Stack | HyBBX plugin | Protocol | v1 | +|--------|-------|--------------|----------|-----| +| `soft-crdop` | `stacks/crdop` | `crdop` | MAX25-native M25/KISS host | **active** | + +## CRDOP (standard) + +**CRDOP (MAX25-SoftModem)** — MAX25-Stack standard (`stacks/crdop/`). Built by default (`MAX25_BUILD_CRDOP=ON`). Native M25 host protocol on TCP :8515/:8516. + +**ARDOP-plugin** — optional separate registry for third-party ARDOP host software — see [plugins/external/ardop/README.md](../../external/ardop/README.md). Not coupled to CRDOP. + +## Start (operator) + +```bash +./scripts/max25-ctl start --hardware soft-modems --device soft-crdop +``` + +Then attach HyBBX with `share/hybbx/crdop-host.ini.example`. + +CRDOP is acoustically AX.25-compatible at 1200 baud+; host path uses native MAX25 SoftModem TCP (M25/KISS). diff --git a/plugins/hardware/soft-modems/plugin.yaml b/plugins/hardware/soft-modems/plugin.yaml new file mode 100644 index 0000000..535a850 --- /dev/null +++ b/plugins/hardware/soft-modems/plugin.yaml @@ -0,0 +1,48 @@ +id: soft-modems +type: hardware +parent_stack: MainAX25-Stack (MAX25-Stack) +label: Soft Modems (MAX25-SoftModem / CRDOP) +description: | + MAX25-SoftModem (CRDOP) — in-house sound-card modem, MAX25-Stack STANDARD. + Development and test phase. 1200 baud+, half/full duplex. + Acoustically AX.25/Packet-Radio compatible with TNCs and BayCom modems. + Sound card IN/OUT + radio — use like a hardware modem. + Good sound card required (tone accuracy; higher baud = stricter audio). + Built and installed unless MAX25_BUILD_CRDOP=OFF. + +stack_path: stacks/crdop +hybbx_plugin: crdop +hybbx_doc: ../../docs/HYBBX.md#crdop + +status: active +phase: development_and_testing +shipped_default: true + +protocols: + - max25-softmodem + - ax25-afsk-acoustic + +requirements: + sound_card: required + baud_primary: 1200 + baud_max: 19200 + duplex: [half, full] + coupling: [line_level, acoustic] + +build: + cmake_option: MAX25_BUILD_CRDOP + default: ON + +ctl: + build: stacks/crdop/scripts/build-crdop.sh + start: stacks/crdop/scripts/crdopc + install: stacks/crdop/scripts/install-crdop.sh + +devices: + - soft-crdop + +docs: + - stacks/crdop/docs/INDEX.md + - stacks/crdop/README.md + - stacks/crdop/docs/SOFTMODEM.md + - stacks/crdop/ROADMAP.md diff --git a/plugins/hardware/terminal/plugin.yaml b/plugins/hardware/terminal/plugin.yaml new file mode 100644 index 0000000..9b9de36 --- /dev/null +++ b/plugins/hardware/terminal/plugin.yaml @@ -0,0 +1,4 @@ +id: terminal +label: MAX25 Terminal clients +stack: stacks/terminal +description: Remote operator UI — no local hardware; connects to Linux max25d diff --git a/plugins/hardware/tncs/README.md b/plugins/hardware/tncs/README.md new file mode 100644 index 0000000..b2c8fef --- /dev/null +++ b/plugins/hardware/tncs/README.md @@ -0,0 +1,25 @@ +# Hardware: TNCs + +Serial and USB Terminal Node Controllers. Merged from **TNCs-Stack** (`stacks/tncs/`). + +## HyBBX + +`packet_radio` plugin with `tnc=` profile per device. + +| Device | `tnc=` | Serial | +|--------|--------|--------| +| TNC2C | `tnc2c` | 19200 8N1, RTS/DTR | +| PK-TNC2 | `tnc2` | 9600/2400 8N1 (planned) | + +## Build & test + +```bash +./scripts/build.sh +./stacks/tncs/tnc2c-integration-test.sh # with hardware +``` + +## Docs + +- [stacks/tncs/README.md](../../stacks/tncs/README.md) +- [stacks/tncs/docs/TNC2C-OPERATIONS.md](../../stacks/tncs/docs/TNC2C-OPERATIONS.md) +- [stacks/tncs/docs/TNC2C-REFERENCE.md](../../stacks/tncs/docs/TNC2C-REFERENCE.md) diff --git a/plugins/hardware/tncs/plugin.yaml b/plugins/hardware/tncs/plugin.yaml new file mode 100644 index 0000000..cbc95de --- /dev/null +++ b/plugins/hardware/tncs/plugin.yaml @@ -0,0 +1,28 @@ +id: tncs +type: hardware +parent_stack: MainAX25-Stack (MAX25-Stack) +label: TNCs +description: Serial/USB TNC hardware group — async host protocols (KISS, hostmode, 6PACK) + +stack_path: stacks/tncs +hybbx_plugin: packet_radio +hybbx_doc: ../../docs/HYBBX.md#packet_radio + +protocols: + - kiss + - hostmode + - sixpack + +build: + makefile: stacks/tncs/Makefile + targets: [all, test, integration, health, boot-wait] + +ctl: + health: stacks/tncs/tnc2c-health.sh + boot_wait: stacks/tncs/tnc2c-boot-wait.sh + integration: stacks/tncs/tnc2c-integration-test.sh + listen: stacks/tncs/tnc2c-listen.sh + +devices: + - tnc2c + - pktnc2 |
