diff options
Diffstat (limited to 'share/clients')
| -rw-r--r-- | share/clients/README.md | 79 | ||||
| -rw-r--r-- | share/clients/baycom-kiss.yaml | 46 | ||||
| -rw-r--r-- | share/clients/index.yaml | 39 | ||||
| -rw-r--r-- | share/clients/kiss-serial-rs232.yaml | 55 | ||||
| -rw-r--r-- | share/clients/kiss-serial-usb.yaml | 57 | ||||
| -rw-r--r-- | share/clients/pktnc2.yaml | 54 | ||||
| -rw-r--r-- | share/clients/soft-crdop.yaml | 66 | ||||
| -rw-r--r-- | share/clients/tmodem.yaml | 42 | ||||
| -rw-r--r-- | share/clients/tnc2c.yaml | 53 |
9 files changed, 491 insertions, 0 deletions
diff --git a/share/clients/README.md b/share/clients/README.md new file mode 100644 index 0000000..0a2bfc7 --- /dev/null +++ b/share/clients/README.md @@ -0,0 +1,79 @@ +# Terminal client profiles (YAML) + +Per-modem **max25-terminal** profiles for devices that need settings beyond a BayCom/based **bcpr** or TNC env catalog. + +| Who reads this | Purpose | +|----------------|---------| +| **max25-terminal** | Connection target, default `SET DEVICE`, session IDs, UI pacing | +| **Operator** | `max25-terminal -U /run/max25/modem.sock` — device from max25d `[devices] default`, or `-d <id>` / F10→7 / `SET DEVICE` (id from YAML `device.id`) | +| **max25d** | **Not** loaded from here — use `max25d.ini`, `bcpr.ini`, or env files | + +## BayCom/based (bcpr) — client YAML as operator reference + +SER12 PC-COM class hardware runs via **bcpr** (`stacks/max25-bcpr/`), not a kernel driver. Configure `bcpr.ini` / max25d `[features] max25_bcpr=yes` and device **`max25e0`** (`max25e0 = max25-bcpr:bc0`). No separate client YAML is required — use max25d default or `SET DEVICE max25e0`. + +Terminal clients attach to **max25d** after `max25-bcprd` / max25d bring-up. See [../../stacks/max25-bcpr/README.md](../../stacks/max25-bcpr/README.md). + +Registry of all catalog IDs (with and without client YAML): [`index.yaml`](index.yaml). + +## Schema (`schema_version: 1`) + +```yaml +schema_version: 1 +id: tnc2c # max25d device id or catalog id +label: Human name +type: client-profile # client-profile | catalog-only + +connection: # terminal → max25d (never raw serial) + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + +device: # M25/1 SET DEVICE on connect + id: tnc2c + hardware: tncs + +session: # optional defaults (SET CALLERID / CALLID / AX25_UI) + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: # HyBBX-aligned UI + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: # pointers for daemon/site config (informational) + ini_example: share/max25/max25d.ini.example + device_section: serial.tnc2c + env_file: stacks/tncs/tnc2c-serial.env + boot_wait: stacks/tncs/tnc2c-boot-wait.sh + +serial: # max25d-owned serial (client does not open) + default_device: /dev/ttyS4 + baud: 19200 + line: 8n1 + dtr_rts: true + kiss_entry: kiss_on +``` + +KISS-async and CRDOP profiles use `serial:` or `crdop:` instead of BayCom catalog fields. + +## Files + +| File | Modem / device | +|------|----------------| +| [`tnc2c.yaml`](tnc2c.yaml) | Landolt TNC2C | +| (none — use `max25e0`) | BayCom/based SER12 via max25-bcpr (PC-COM) | +| [`pktnc2.yaml`](pktnc2.yaml) | PK-TNC2 / TNC-2 (TheFirmware) +| [`kiss-serial-usb.yaml`](kiss-serial-usb.yaml) | KISS on USB (`modems.ini` catalog) | +| [`kiss-serial-rs232.yaml`](kiss-serial-rs232.yaml) | KISS on RS-232 | +| [`baycom-kiss.yaml`](baycom-kiss.yaml) | MAX25 device plugin (USB KISS) | +| [`soft-crdop.yaml`](soft-crdop.yaml) | CRDOP sound-card modem | +| [`index.yaml`](index.yaml) | Full modem database map | + +## See also + +- [../../include/max25/protocol.md](../../include/max25/protocol.md) — M25/1 protocol +- [../../stacks/terminal/README.md](../../stacks/terminal/README.md) — operator UI +- [stacks/max25-bcpr/share/max25-bcpr.ini.example](../../stacks/max25-bcpr/share/max25-bcpr.ini.example) — bcpr INI example diff --git a/share/clients/baycom-kiss.yaml b/share/clients/baycom-kiss.yaml new file mode 100644 index 0000000..b849c2a --- /dev/null +++ b/share/clients/baycom-kiss.yaml @@ -0,0 +1,46 @@ +schema_version: 1 +id: baycom-kiss +label: BayCom KISS Serial (MAX25 device) +type: client-profile +status: scaffold + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: baycom-kiss + hardware: modems + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + devices_key: baycom-kiss + backend: kiss-raw-serial + +serial: + default_device: /dev/ttyUSB0 + baud: 9600 + line: 8n1 + dtr_rts: false + +catalog_profiles: + - share/clients/kiss-serial-usb.yaml + - share/clients/kiss-serial-rs232.yaml + +docs: + - plugins/devices/baycom-kiss/plugin.yaml + - stacks/baycom-pr/docs/GETTING-STARTED.md + +notes: Device plugin wrapper — pick USB or RS-232 catalog profile above. diff --git a/share/clients/index.yaml b/share/clients/index.yaml new file mode 100644 index 0000000..099269f --- /dev/null +++ b/share/clients/index.yaml @@ -0,0 +1,39 @@ +# MAX25 client profile registry +# Maps MAX25 device plugins to terminal client configs. +# Kernel baycom-pr / modems.ini catalog removed 2026-07-18 — SER12 product path is bcpr. + +schema_version: 1 +plugin_registry: plugins/manifest.yaml + +devices: + - id: tnc2c + label: Landolt TNC2C + hardware: tncs + client_config: share/clients/tnc2c.yaml + status: active + + - id: pktnc2 + label: PK-TNC2 / TNC-2 (TheFirmware) + hardware: tncs + client_config: share/clients/pktnc2.yaml + status: planned + + - id: baycom-kiss + label: BayCom KISS serial (USB/async) + hardware: modems + client_config: share/clients/baycom-kiss.yaml + status: active + + - id: tmodem + label: T-Modem-c1224 USB KISS half-TNC + hardware: tncs + client_config: share/clients/tmodem.yaml + status: prototype + + - id: soft-crdop + label: CRDOP sound-card modem + hardware: soft-modems + client_config: share/clients/soft-crdop.yaml + status: active + +# BayCom/based SER12: configure max25d max25e0 / max25e0:bc1 — no separate client YAML required. diff --git a/share/clients/kiss-serial-rs232.yaml b/share/clients/kiss-serial-rs232.yaml new file mode 100644 index 0000000..6a22148 --- /dev/null +++ b/share/clients/kiss-serial-rs232.yaml @@ -0,0 +1,55 @@ +schema_version: 1 +id: kiss-serial-rs232 +label: KISS modem on RS-232 serial +type: client-profile +catalog: kiss-serial-rs232 +status: active + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: baycom-kiss + hardware: modems + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + device_section: serial.baycom-kiss + backend: kiss-raw-serial + baycom_pr: + catalog: kiss-serial-rs232 + kiss_link: /var/run/baycom-pr/kiss + +serial: + default_device: /dev/ttyS1 + baud: 9600 + line: 8n1 + dtr_rts: false + kiss_entry: none + +rf: + radio_baud: 1200 + +hybbx: + plugin: baycom + backend: kiss + +docs: + - stacks/baycom-pr/config/modems.ini + +notes: | + TNC2, OpenTracker, KISS firmware on RS-232 or USB-serial adapter. + Self-powered TNC preferred; port-powered units need adequate TXD/DTR current. diff --git a/share/clients/kiss-serial-usb.yaml b/share/clients/kiss-serial-usb.yaml new file mode 100644 index 0000000..120bb36 --- /dev/null +++ b/share/clients/kiss-serial-usb.yaml @@ -0,0 +1,57 @@ +schema_version: 1 +id: kiss-serial-usb +label: KISS modem on USB (ttyUSB / ttyACM) +type: client-profile +catalog: kiss-serial-usb +status: active + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: baycom-kiss + hardware: modems + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + device_section: serial.baycom-kiss + backend: kiss-raw-serial + baycom_pr: + catalog: kiss-serial-usb + kiss_link: /var/run/baycom-pr/kiss + +serial: + default_device: /dev/ttyUSB0 + baud: 9600 + line: 8n1 + dtr_rts: false + kiss_entry: none + +rf: + radio_baud: 1200 + +hybbx: + plugin: baycom + backend: kiss + +docs: + - stacks/baycom-pr/config/modems.ini + - stacks/baycom-pr/docs/GETTING-STARTED.md + +notes: | + No kernel baycom_ser_fdx — async USB serial KISS. + max25d or baycom-pr kiss bridge owns the USB device; terminal uses M25/1 only. + Adapter must supply stable USB power (see stacks/baycom-pr/docs/archive/HARDWARE.md). diff --git a/share/clients/pktnc2.yaml b/share/clients/pktnc2.yaml new file mode 100644 index 0000000..bf97834 --- /dev/null +++ b/share/clients/pktnc2.yaml @@ -0,0 +1,54 @@ +schema_version: 1 +id: pktnc2 +label: PK-TNC2 / TNC-2 (TheFirmware) +type: client-profile +status: planned + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: pktnc2 + hardware: tncs + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + device_section: serial.pktnc2 + env_file: stacks/tncs/pktnc2-serial.env + boot_wait: stacks/tncs/pktnc2-boot-wait.sh + +serial: + default_device: /dev/ttyS5 + baud: 9600 + line: 8n1 + dtr_rts: false + kiss_entry: auto + +rf: + radio_baud: 1200 + band: cb + +hybbx: + ini_example: share/hybbx/pktnc2-host.ini.example + plugin: packet_radio + profile: tnc2 + aliases: [pktnc2, pk-tnc2, tapr, thefirmware] + +docs: + - stacks/tncs/docs/TNC2C-REFERENCE.md + - plugins/devices/pktnc2/plugin.yaml + +notes: Probe serial port after hardware inventory — adjust default_device in local env. diff --git a/share/clients/soft-crdop.yaml b/share/clients/soft-crdop.yaml new file mode 100644 index 0000000..81ae5a2 --- /dev/null +++ b/share/clients/soft-crdop.yaml @@ -0,0 +1,66 @@ +schema_version: 1 +id: soft-crdop +label: MAX25-SoftModem (CRDOP) +type: client-profile +status: active + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: soft-crdop + hardware: soft-modems + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 1200 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + device_section: device.soft-crdop + ctl_start: stacks/crdop/scripts/crdopc + default_ini: stacks/crdop/share/crdop.ini.example + +softmodem: + product: MAX25-SoftModem + phase: development_and_testing + protocol: max25-softmodem + baud_primary: 1200 + baud_max: 19200 + duplex: [half, full] + ax25_packet_radio: acoustically_compatible + use_like_hardware_modem: true + audio_required: true + coupling: [line_level, acoustic] + host: 127.0.0.1 + control_port: 8515 + data_port: 8516 + listen: true + +hybbx: + ini_example: share/hybbx/crdop-host.ini.example + plugin: crdop + +docs: + - stacks/crdop/docs/INDEX.md + - stacks/crdop/README.md + - stacks/crdop/docs/SOFTMODEM.md + - stacks/crdop/ROADMAP.md + - plugins/devices/soft-crdop/plugin.yaml + +notes: | + MAX25-SoftModem (CRDOP) — MAX25-Stack STANDARD (built unless MAX25_BUILD_CRDOP=OFF). + 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 in max25d. + Good sound card REQUIRED (accurate tones; stricter at higher baud). + Open docs for DIY hardware interfaces. diff --git a/share/clients/tmodem.yaml b/share/clients/tmodem.yaml new file mode 100644 index 0000000..162b5b8 --- /dev/null +++ b/share/clients/tmodem.yaml @@ -0,0 +1,42 @@ +schema_version: 1 +id: tmodem +label: T-Modem-c1224 USB KISS half-TNC +type: client-profile +status: prototype + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: tmodem + hardware: tncs + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 1200 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.tmodem.ini.example + devices_key: tmodem + backend: kiss-raw-serial + +serial: + default_device: /dev/ttyACM0 + baud: 115200 + line: 8n1 + dtr_rts: false + +docs: + - plugins/devices/tmodem/plugin.yaml + - docs/DEV/TMODEM-C1224.md + +notes: Not BayCom/based. Feature [features] tmodem=yes required. diff --git a/share/clients/tnc2c.yaml b/share/clients/tnc2c.yaml new file mode 100644 index 0000000..90c6e9c --- /dev/null +++ b/share/clients/tnc2c.yaml @@ -0,0 +1,53 @@ +schema_version: 1 +id: tnc2c +label: Landolt TNC2C +type: client-profile +status: active + +connection: + host: 127.0.0.1 + port: 7325 + unix_socket: /run/max25/modem.sock + tcp_only: false + +device: + id: tnc2c + hardware: tncs + +session: + callerid: CB-0 + callid: QST + ax25_ui: true + +terminal: + pacing_baud: 2400 + line_width: 80 + payload_max: 256 + +max25d: + ini_example: share/max25/max25d.ini.example + device_section: serial.tnc2c + env_file: stacks/tncs/tnc2c-serial.env + boot_wait: stacks/tncs/tnc2c-boot-wait.sh + health: stacks/tncs/tnc2c-health.sh + +serial: + default_device: /dev/ttyS4 + baud: 19200 + line: 8n1 + dtr_rts: true + kiss_entry: kiss_on + +rf: + modem: tcm3105 + radio_baud: 2400 + band: cb + +hybbx: + ini_example: share/hybbx/tnc2c-host.ini.example + plugin: packet_radio + profile: tnc2c + +docs: + - stacks/tncs/docs/TNC2C-OPERATIONS.md + - plugins/devices/tnc2c/plugin.yaml |
