Distinguishes transport errors (connection lost) from protocol errors
(parse failures). Transport errors break out of the poll loop to the
reconnect path. Protocol errors are non-fatal โ the current poll cycle
is skipped but the connection stays alive.
Poll interval for reading radio state.
~10 commands per cycle (FQ, SQ, MD, PC, RA, FS per band + globals).
SM and BY are NOT polled โ they use AI push notifications instead.
Step frequency down by reading current freq + step size, subtracting, and tuning.
DW (frequency down) exists but does not echo the resulting frequency, so we
compute it manually for accurate TUI display.