A new HF digital ARQ/QSO mode.
Start the control server (TCP JSON, newline-delimited) on 127.0.0.1:53421:
cargo run --releaseIf you're in an environment without audio devices, use dummy loopback mode:
cargo run --release -- --no-audioRuns two in-process modems that connect and exchange messages, and writes an audible stereo WAV:
cargo run --release -- --loopback-test --seconds 8 --speed MEDIUM --wav loopback_test.wavRuns two in-process TNCs bridged together. Control each side by setting tnc to 0 or 1 (the terminal does this with the tnc command):
cargo run --release -- --loopback-live --bind 127.0.0.1:53421 --out <output_id>
python hush_term.py --advanced 127.0.0.1 53421{"cmd":"list_devices"}{"cmd":"open","input":<id>,"output":<id>,"sr":48000}{"cmd":"list_modes"}/{"cmd":"set_mode","mode":"mfsk|fsk2|fsk4|ofdm"}{"cmd":"list_profiles"}/{"cmd":"set_profile","profile":"QRP2|MFSK3|OFDM5|..."}{"cmd":"send_frame","mode":"mfsk","speed":"MEDIUM","payload_bits":"0101..."}(raw MFSK bits for quick testing){"cmd":"connect","my":"K1ABC","to":"K2XYZ"}/{"cmd":"disconnect"}{"cmd":"send_data","text":"HELLO OVER HUSH"}(framed + CRC + FEC + stop-and-wait ARQ; requiresconnect){"cmd":"rx_pop","max":20}(fetch delivered payloads){"cmd":"status"}/{"cmd":"close"}
hush_term.py is a simple interactive terminal for the control port:
python hush_term.py 127.0.0.1 53421Advanced terminal features:
python hush_term.py --advanced 127.0.0.1 53421