namespace Nonemm.Rig; /// The box between the operator and two radios: it decides which radio the /// transmitter and the key reach, and which one the headphones hear. Without a /// box the operator does that with switches, and the logger only has to keep /// track of which radio it is on. public interface So2rBox : IDisposable { /// Points the transmitter and the key at one radio. Task SetTransmitAsync(int radioNumber, CancellationToken cancellation = default); /// Points the headphones at one radio, or at both when `bothRadios` is set, /// which is how an operator listens to the second radio while the first is /// sending. Task SetReceiveAsync(int radioNumber, bool bothRadios = false, CancellationToken cancellation = default); /// Sets a box output, which is usually an antenna or band-decoder line. Task SetAuxiliaryAsync(int radioNumber, int code, CancellationToken cancellation = default); }