This is crazy satellite receiver as a universal receiver
and is working. continued testing..
the results are very good on short wave
Radio amateurs use the USB / LSB modulation.
I used NooElec USB dongle and NooElec UP converter for the HF bands (short wave)
I had computed tuning frequency
for example 14 MHz is 139 MHz in the plugin Tune.
For the test with USB/LSB I dropped tuning step on 1Khz in plugin coding.
Commands used:
USB modulation
cmd = 'sleep 0.5 && rtl_fm -f %sM -M usb -s 3k - | gst-launch-1.0 fdsrc ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=3000 ! audioresample ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=48000 ! dvbaudiosink' % freq
LSB modulation
cmd = 'sleep 0.5 && rtl_fm -f %sM -M lsb -s 3k - | gst-launch-1.0 fdsrc ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=3000 ! audioresample ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=48000 ! dvbaudiosink' % freq
narrow AM
cmd = 'sleep 0.5 && rtl_fm -f %sM -M am -s 3k - | gst-launch-1.0 fdsrc ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=3000 ! audioresample ! audio/x-raw, format=S16LE, channels=1, layout=interleaved, rate=48000 ! dvbaudiosink' % freq
It wil be nice to add plugin options for selecting different command lines,as probably easier than to change options in command line.
Options:
FM wide / RDS, FM narrow, AM narrow, LSB, USB minimum these options
Secondly to have choice for tuning step.
Let's say 100 kHz, 25 kHz, 10 kHz, 1 kHz minimum these options.
I have ask author of this plugin to look for this.
I have change in plugin.py
STEP and freq range (step 1 kHz and range from 0 to 1766 Mhz)
Here 1 Khz for SSB band ham-radio
def freqChange(self, value):
freq = self["freq"].getText()
newfreq = Decimal(freq) + value
if newfreq < Decimal("0.0"):
newfreq = Decimal("0.0")
if newfreq > Decimal("1766.0"):
newfreq = Decimal("1766.0")
self["freq"].setText(str(newfreq))
def up(self):
self.freqChange(Decimal("0.001"))
def down(self):
self.freqChange(-Decimal("0.001"))
def left(self):
self.freqChange(-Decimal("1"))
def right(self):
self.freqChange(Decimal("1"))