Documentation
SDR++ Telemetry Module
Source:
development/sdrpp/telemetry/README.md
telemetry is a read-only OpenRoadCode SDR++ module that exposes runtime receiver/display measurements over a small localhost TCP protocol.
It intentionally does not tune the radio or control the SDR++ UI. Those responsibilities belong to Rigctl (4532) and the remote-control module (4533).
Endpoint
127.0.0.1:4534
Commands
PING
GET snr
GET signal_peak
GET fft_average
GET selected_vfo
GET center_frequency
GET bandwidth
GET view_bandwidth
GET telemetry
GET telemetry returns a compact snapshot containing the available metrics in one response.
fft_average is the arithmetic average of the finite FFT bins within the selected VFO. It is a relative display measurement, not a calibrated RF noise-floor measurement.
Testing the Live Module
Prefer the ORC Python client or a small Python socket probe when testing the live module. Different nc implementations have different connection-close behavior and are not the canonical telemetry test path.
A dependency-free socket probe is:
python3 - <<'PY'
import socket
for command in ("PING\n", "GET telemetry\n"):
print(f">>> {command.strip()}")
with socket.create_connection(("127.0.0.1", 4534), timeout=2) as sock:
sock.sendall(command.encode())
sock.shutdown(socket.SHUT_WR)
print(sock.recv(4096).decode().rstrip())
PY
The application-facing client lives in protocols/sdrpp_telemetry.
Development Test Server
The Python server allows ORC protocol/controller/UI work without rebuilding or running SDR++:
python development/sdrpp/telemetry/test_server.py
It implements the same one-command request/response model and metric names as the production module. Fake signal values vary slowly so refresh behavior is visible during UI testing.
Intended ORC Data Path
SDR++ telemetry module :4534
↓
protocols/sdrpp_telemetry
↓
controllers/sdr/sdr_telemetry_monitor.py
↓
frontend presentation
The frontend must not perform blocking telemetry socket I/O on its UI thread.
Signal Semantics
SNR is sourced from SDR++’s selected-VFO measurement. FFT-derived peak/average measurements are useful relative indicators but should not be presented as calibrated RF power unless calibration is explicitly implemented and validated.