-
-
Notifications
You must be signed in to change notification settings - Fork 786
Description
Feature proposal
This feature request proposes to provide a new source for SDR++, that sets a QMX+ transceiver automatically in IQ mode, syncs the frequency with the device via CAT commands and mutes audio during transmit.
Background
I own a QMX+ QRP radio which is an SDR device and has support for IQ output via USB audio. Since the device has no spectrum display, I want to use SDR++ (which is great software btw, thanks so much) as a panadapter.
This is already possible with the SDR++ audio source:
For this to work, the QMX+ has to be only set to IQ mode, which can be done via the CAT-command w Q91 or the serial interface.
Next I can also start a rigctld instance and use the rigctl_client module of SDR++ to to sync the frequency of with the device via
rigctld
--model=2057 \
--rig-file=/dev/serial/by-id/usb-QRP_Labs_QMX_Transceiver-if00 \
--serial-speed=115200 \
--listen-addr=127.0.0.1 \
--port=4532
Now the problem with that is, that the IQ data from the QMX+ is shifted by 12 kHz. Unfortunately, the Offset mode setting seems to have no effect for the audio source of SDR++.
I therefore wrote a small Python script, that acts as a proxy to rigctld and automatically adapts the frequency with
freq_change = re.compile(rb"^F \d+\.\d+\n$")
while (request := client_socket.recv(1024)):
if freq_change.match(request) is not None:
freq = float(request[2:-1])
freq += 12_000
request = f"F {freq:.6f}\n".encode()
# Next line passes request to rigctld
proxy_resp = rigctld.proxy(request)
client_socket.send(proxy_resp)
Now I only have to make sure, that the VFO in SDR++ is always positioned on three quarters of the spectrum and I change frequency in SDR++ by dragging the band left and right.
Finally when I key up the QMX+, the IQ data pauses as it is, which causes a weird screeching sound from SDR++, so I mute my laptop every time before I hit PTT and unmute afterwards.
While that setup works for me, it is really hacky. A real QMX+ source in SDR++, that works out of the box would be so much appreciated. I expect it to be technically not that challenging as the audio source already works, hamlib could be used to sync the frequency with the QMX+ (including the 12 kHz offset) and read the PTT state from the QMX+ to mute the audio output during transmit. However I am fully aware, that the developer of SDR++
- most likely does not own that device
- does not welcome pull requests with code changes
Now my question is, would there be any practical way to realize this?