diff options
Diffstat (limited to 'plugins/betriebsform')
| -rw-r--r-- | plugins/betriebsform/hybbx-host/README.md | 22 | ||||
| -rw-r--r-- | plugins/betriebsform/hybbx-host/plugin.yaml | 27 | ||||
| -rw-r--r-- | plugins/betriebsform/service/README.md | 19 | ||||
| -rw-r--r-- | plugins/betriebsform/service/plugin.yaml | 27 | ||||
| -rw-r--r-- | plugins/betriebsform/standalone/README.md | 22 | ||||
| -rw-r--r-- | plugins/betriebsform/standalone/plugin.yaml | 24 |
6 files changed, 141 insertions, 0 deletions
diff --git a/plugins/betriebsform/hybbx-host/README.md b/plugins/betriebsform/hybbx-host/README.md new file mode 100644 index 0000000..21affb5 --- /dev/null +++ b/plugins/betriebsform/hybbx-host/README.md @@ -0,0 +1,22 @@ +# Operating mode: HyBBX Host + +Secondary RF host on a HyBBX **Secondary** node — or **standalone Main** cohost when `[instance] standalone=yes` and max25d `mode=hybbx-cohost`. MAX25 prepares hardware; HyBBX bridges AX.25 to Main over HBX (Secondary) or serves users locally (standalone Main). + +## Workflow + +1. MAX25 device prep (boot-wait, `max25-bcpr-ctl start`, or `crdopc`) +2. max25d releases KISS PTY (`/tmp/max25-bcpr/kiss-bc0` for BayCom/based) +3. Merge `share/hybbx/*-host.ini.example` into `hybbx.ini` +4. Start HyBBX (Secondary or standalone Main) + +## Per device + +| Device | MAX25 prep | HyBBX plugin | +|--------|------------|--------------| +| TNC2C | `tnc2c-boot-wait.sh` | `packet_radio` | +| BayCom/based SER12 | `max25-bcpr-ctl start` / max25d `max25_bcpr=yes` | `baycom` | +| CRDOP | `crdopc` running | `crdop` | + +**Co-host Main:** dual TNC + PC-COM on one host — max25d `mode=hybbx-cohost`, HyBBX `[networks] baycom=yes`. See [docs/BAYCOM.md](../../docs/BAYCOM.md). + +Contract: [docs/HYBBX.md](../../docs/HYBBX.md) diff --git a/plugins/betriebsform/hybbx-host/plugin.yaml b/plugins/betriebsform/hybbx-host/plugin.yaml new file mode 100644 index 0000000..4ff2c56 --- /dev/null +++ b/plugins/betriebsform/hybbx-host/plugin.yaml @@ -0,0 +1,27 @@ +id: hybbx-host +type: betriebsform +parent_stack: MainAX25-Stack (MAX25-Stack) +label: HyBBX Host +description: Secondary RF host — serial TNC or BayCom KISS → HBX to Main + +stack_requirements: + hybbx_secondary: true + circuit_link: required + +hybbx: + plugins: + - packet_radio + - baycom + transport_sections: + - transport.packet_radioN + - transport.baycomN + +integration: + tncs: + boot_script: stacks/tncs/tnc2c-boot-wait.sh + integration_test: stacks/tncs/tnc2c-integration-test.sh + ini_template: stacks/tncs/hybbx-tnc2c.ini + modems: + kiss_link: /tmp/max25-bcpr/kiss-bc0 + ctl: stacks/max25-bcpr/tools/max25-bcpr-ctl + plugin_doc: stacks/max25-bcpr/README.md diff --git a/plugins/betriebsform/service/README.md b/plugins/betriebsform/service/README.md new file mode 100644 index 0000000..d5befeb --- /dev/null +++ b/plugins/betriebsform/service/README.md @@ -0,0 +1,19 @@ +# Operating mode: Service + +Continuous operation with one or two radios. HyBBX Secondary, digipeater, or unattended packet service. + +## Requirements + +- BayCom/based (PC-COM): **bcpr** — real IRQ, exclusive COM lock, max 2 devices ([docs/BAYCOM.md](../../../docs/BAYCOM.md)) +- TNC path: unique serial device / no shared UART with bcpr +- No second process on the same UART while `max25-bcprd` holds the lock + +## Templates + +| Stack | Config | +|-------|--------| +| BayCom/based (bcpr) | `stacks/max25-bcpr/share/max25-bcpr.ini.example` | +| HyBBX dual BayCom | `share/hybbx/service-dual.ini.example` | +| HyBBX dual TNC | `stacks/tncs/hybbx-dual.ini` | + +One `[transport.*N]` per radio channel on HyBBX Secondary. diff --git a/plugins/betriebsform/service/plugin.yaml b/plugins/betriebsform/service/plugin.yaml new file mode 100644 index 0000000..a659ad5 --- /dev/null +++ b/plugins/betriebsform/service/plugin.yaml @@ -0,0 +1,27 @@ +id: service +type: betriebsform +parent_stack: MainAX25-Stack (MAX25-Stack) +label: Service +description: 24/7 dual-radio — HyBBX, digipeater, automation + +stack_requirements: + modems_min: 1 + modems_max: 2 + tncs_max: 2 + unique_irq_per_uart: true + staged_start: true + +lifecycle: + start: scripts/max25-ctl start --mode service + recover: stacks/baycom-pr/scripts/baycom-pr-ctl recover + +hybbx: + role: primary + multi_instance: true + kiss_paths: + - /var/run/baycom-pr/kiss-a + - /var/run/baycom-pr/kiss-b + +templates: + - stacks/baycom-pr/config/examples/baycom-pr.dual.ini + - stacks/tncs/hybbx-dual.ini diff --git a/plugins/betriebsform/standalone/README.md b/plugins/betriebsform/standalone/README.md new file mode 100644 index 0000000..fc9cb5d --- /dev/null +++ b/plugins/betriebsform/standalone/README.md @@ -0,0 +1,22 @@ +# Operating mode: Standalone + +Single-operator packet radio. One TNC or one BayCom modem online. **Default v1 path.** + +## Start + +```bash +# TNC2C +./scripts/max25-ctl start --mode standalone --hardware tncs --device tnc2c + +# BayCom/based SER12 (max25e0 via max25-bcpr) — prefer max25d +# [features] max25_bcpr=yes · max25e0 = max25-bcpr:bc0 — see docs/BAYCOM.md + +# max25d (recommended host path) +sudo max25d -c /etc/max25/max25d.ini +``` + +## HyBBX + +Optional. HyBBX opens serial or KISS **after** MAX25 prep (boot-wait, driver load). + +INI: `share/hybbx/standalone.ini.example` · Contract: [docs/HYBBX.md](../../docs/HYBBX.md) diff --git a/plugins/betriebsform/standalone/plugin.yaml b/plugins/betriebsform/standalone/plugin.yaml new file mode 100644 index 0000000..1923aa3 --- /dev/null +++ b/plugins/betriebsform/standalone/plugin.yaml @@ -0,0 +1,24 @@ +id: standalone +type: betriebsform +parent_stack: MainAX25-Stack (MAX25-Stack) +label: Standalone +description: Single operator — one radio/TNC, terminal AX.25 clients + +stack_requirements: + modems_max: 1 + tncs_max: 1 + +lifecycle: + start: scripts/max25-ctl start --mode standalone + stop: scripts/max25-ctl stop + status: scripts/max25-ctl status + +hybbx: + role: optional + note: HyBBX may run on same host; stack exposes KISS or direct serial + +clients: + - listen + - call + - tnc2c-listen.sh + - baycom-pr-ctl listen |
