Skip to content

Command Line

Stuart Henderson edited this page Sep 15, 2026 · 2 revisions

Command Line

rigprog is the command-line half of Open Rig Programmer — the same read/write/verify engine as the desktop app, for scripts and backups. rigprog help prints the full top-level usage; rigprog <command> -h prints a command's own flags.

Every command that opens a radio session accepts --fake instead of --port: "use the in-process simulated radio instead of a real port" — the same demo mode the desktop app's Demo option uses, no real hardware needed.

ports

Lists candidate serial ports so you can find the radio's CAT interface before connecting.

Usage:
  rigprog ports

Discovers every serial port the OS currently exposes and prints a table
ranked by how likely each is to be the target radio's CAT interface: path,
score, description, VID:PID, and the signals behind the score. Ranking is
a heuristic; "rigprog probe --port <path>" performs the definitive active
ID check. --fake is not accepted — ports enumerates real devices only.

probe

Confirms what's on the other end of a port before you trust it with a read or write.

Usage:
  rigprog probe --port <path> [--model NAME]
  rigprog probe --fake [--model NAME]

Flags:
  --port PATH   real serial port device path (e.g. /dev/cu.usbserial-XXXX)
  --fake        use the in-process simulated radio instead of a real port
  --model NAME  radio model to target (default: FT-710)

read

Reads every memory slot from a radio and saves it as a codeplug file — the starting point for editing in the grid or on the command line. See Reading and writing for the full read/write/verify flow.

Usage:
  rigprog read --port <path> --out <file> [--settings] [--model NAME] [--force] [--snapshot-dir <dir>]
  rigprog read --fake --out <file> [--settings] [--model NAME] [--force] [--snapshot-dir <dir>]

Flags:
  --port PATH          real serial port device path (e.g. /dev/cu.usbserial-XXXX)
  --fake                use the in-process simulated radio instead of a real port
  --out FILE            output codeplug file path (required)
  --settings            also read the radio's menu/EX settings surface (opt-in; adds significant wire time)
  --model NAME          radio model to target (default: FT-710)
  --force               overwrite --out if it already exists
  --snapshot-dir DIR    snapshot/journal directory (default: <UserConfigDir>/rigprog/snapshots)

write

Sends a codeplug file's changes to a radio, previewing and verifying every step. See Reading and writing for what the preview and verify steps mean, and Unverified writes for radios that need consent first.

Usage:
  rigprog write --port <path> [--model NAME] [--yes] [--snapshot-dir DIR] FILE
  rigprog write --fake [--model NAME] [--yes] [--snapshot-dir DIR] FILE

Flags:
  --port PATH           real serial port device path (e.g. /dev/cu.usbserial-XXXX)
  --fake                 use the in-process simulated radio instead of a real port
  --model NAME           radio model to target (default: FT-710)
  --yes                  skip the interactive confirmation prompt (required for non-interactive runs)
  --snapshot-dir DIR     snapshot/journal directory (default: <UserConfigDir>/rigprog/snapshots)

Exit codes: 0 success, including "nothing to send" when the working copy
genuinely matches the radio; 2 usage (also: a non-interactive run without
--yes); 3 the candidate file failed validation, OR every pending change
is blocked (nothing was sendable, named with reasons — see above); 4
refused before any write reached the radio (stale baseline, session
changed, confirmation declined or mismatched); 5
aborted after at least one write reached the radio — the printed journal
records exactly what happened, and the printed snapshot can be re-sent
with a later "rigprog write" run.

diff

Compares a codeplug file against a fresh read of the radio, read-only, no writing.

Usage:
  rigprog diff --port <path> [--model NAME] <file>
  rigprog diff --fake [--model NAME] <file>

Flags:
  --port PATH   real serial port device path (e.g. /dev/cu.usbserial-XXXX)
  --fake        use the in-process simulated radio instead of a real port
  --model NAME  radio model to target (default: FT-710)

export

Exports a codeplug file to CSV, offline. See CSV and CHIRP for the CSV schema.

Usage:
  rigprog export --csv OUT [--force] FILE

Flags:
  --csv OUT   output CSV file path (required)
  --force     overwrite --csv if it already exists

OFFLINE: does not open a radio session — --port/--fake are not accepted.

import

Imports a CSV — rigprog's own format or CHIRP's — into an existing codeplug file, offline. See CSV and CHIRP for how the two formats merge.

Usage:
  rigprog import --csv IN --into BASE --out FILE [--model NAME] [--force]
  rigprog import --chirp IN --into BASE --out FILE [--model NAME] [--force]

Flags:
  --csv IN     rigprog's own CSV format to import (mutually exclusive with --chirp)
  --chirp IN   CHIRP-next CSV format to import (mutually exclusive with --csv)
  --into BASE  existing codeplug JSON to merge onto (required; typically from "rigprog read")
  --out FILE   output codeplug file path (required)
  --model NAME radio model to validate against (default: FT-710)
  --force      overwrite --out if it already exists (required if --out equals --into)

OFFLINE: does not open a radio session — --port/--fake are not accepted.

settings

Shows or exports a codeplug file's menu/settings snapshot, offline. This is also where per-model consent for unverified writes lives — see Unverified writes.

Usage:
  rigprog settings [--csv OUT] [--model NAME] [--force] FILE
  rigprog settings unverified-writes
  rigprog settings unverified-writes <model> on|off

Flags:
  --csv OUT     also write the snapshot to this CSV file path (optional)
  --model NAME  radio model whose settings descriptor to group by (default: FT-710)
  --force       overwrite --csv if it already exists

settings unverified-writes

With no further arguments it lists every model this build supports — slug and current state; with <model> on|off it records a decision and reports it. Consent applies only to models with unverified write support — a model whose writes are hardware-verified has nothing to consent to and is listed as "n/a (hardware-verified)".

rigprog settings unverified-writes IC-7610 on     # allow writes to the IC-7610

version

Reports this build's version — quote it verbatim in a bug report.

Usage:
  rigprog version

Prints the release version on the first line and the build's Go
toolchain and platform on the second, then exits 0. "rigprog -v" and
"rigprog --version" are the same command.

help

Prints the top-level usage: every command listed above, one line each, plus a pointer to rigprog <command> -h for a command's own flags. Also shown for a bare rigprog invocation or an unrecognised subcommand.

As of v1.9.0 (commit bec7df97).

Clone this wiki locally