5 Commits
1.2.0 ... 1.2.1

Author SHA1 Message Date
e20d94e241 update dependencies for docker 2022-09-20 18:51:09 +02:00
6c01d48493 update version 2022-09-20 18:06:03 +02:00
94269e211e fix changelog timestamp 2022-09-20 18:01:43 +02:00
811d95c7bc fifisdr fixes 2022-09-20 18:01:08 +02:00
66d4d88156 update hpsdrconnector to 0.6.1 2022-07-09 18:34:28 +02:00
8 changed files with 45 additions and 9 deletions

View File

@ -1,3 +1,7 @@
**1.2.1**
- FifiSDR support fixed (pipeline formats now line up correctly)
- Added "Device" input for FifiSDR devices for sound card selection
**1.2.0**
- Major rewrite of all demodulation components to make use of the new csdr/pycsdr and digiham/pydigiham demodulator
modules

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
openwebrx (1.2.1) bullseye jammy; urgency=low
* FifiSDR support fixed (pipeline formats now line up correctly)
* Added "Device" input for FifiSDR devices for sound card selection
-- Jakob Ketterl <jakob.ketterl@gmx.de> Tue, 20 Sep 2022 16:01:00 +0000
openwebrx (1.2.0) bullseye jammy; urgency=low
* Major rewrite of all demodulation components to make use of the new

View File

@ -29,7 +29,7 @@ tar xfz $PACKAGE
git clone https://github.com/jancona/hpsdrconnector.git
pushd hpsdrconnector
git checkout v0.6.0
git checkout v0.6.1
/tmp/go/bin/go build
install -m 0755 hpsdrconnector /usr/local/bin

View File

@ -31,11 +31,11 @@ popd
rm -rf js8py
git clone https://github.com/jketterl/csdr.git
cmakebuild csdr 0.18.0
cmakebuild csdr 0.18.1
git clone https://github.com/jketterl/pycsdr.git
cd pycsdr
git checkout 0.18.0
git checkout 0.18.1
./setup.py install install_headers
cd ..
rm -rf pycsdr

View File

@ -249,10 +249,13 @@ class SdrSource(ABC):
def getPort(self):
return self.port
def _getTcpSourceFormat(self):
return Format.COMPLEX_FLOAT
def _getTcpSource(self):
with self.modificationLock:
if self.tcpSource is None:
self.tcpSource = TcpSource(self.port, Format.COMPLEX_FLOAT)
self.tcpSource = TcpSource(self.port, self._getTcpSourceFormat())
return self.tcpSource
def getBuffer(self):

View File

@ -11,6 +11,10 @@ logger = logging.getLogger(__name__)
class DirectSource(SdrSource, metaclass=ABCMeta):
def __init__(self, id, props):
self._conversion = None
super().__init__(id, props)
def onPropertyChange(self, changes):
logger.debug("restarting sdr source due to property changes: {0}".format(changes))
self.stop()
@ -48,6 +52,10 @@ class DirectSource(SdrSource, metaclass=ABCMeta):
def getFormatConversion(self) -> Optional[Chain]:
return None
def _getTcpSourceFormat(self):
conversion = self.getFormatConversion()
return Format.COMPLEX_FLOAT if conversion is None else conversion.getInputFormat()
# override this in subclasses, if necessary
def sleepOnRestart(self):
pass
@ -57,12 +65,12 @@ class DirectSource(SdrSource, metaclass=ABCMeta):
source = self._getTcpSource()
buffer = Buffer(source.getOutputFormat())
source.setWriter(buffer)
conversion = self.getFormatConversion()
if conversion is not None:
conversion.setReader(buffer.getReader())
self._conversion = self.getFormatConversion()
if self._conversion is not None:
self._conversion.setReader(buffer.getReader())
# this one must be COMPLEX_FLOAT
buffer = Buffer(Format.COMPLEX_FLOAT)
conversion.setWriter(buffer)
self._conversion.setWriter(buffer)
self.buffer = buffer
return self.buffer

View File

@ -4,6 +4,8 @@ from subprocess import Popen
from csdr.chain import Chain
from pycsdr.modules import Convert, Gain
from pycsdr.types import Format
from typing import List
from owrx.form.input import Input, TextInput
import logging
@ -49,3 +51,15 @@ class FifiSdrDeviceDescription(DirectSourceDeviceDescription):
def supportsPpm(self):
# not currently mapped, and it's unclear how this should be sent to the device
return False
def getInputs(self) -> List[Input]:
return super().getInputs() + [
TextInput(
"device",
"Device identifier",
infotext="Alsa audio device identifier",
),
]
def getDeviceOptionalKeys(self):
return super().getDeviceOptionalKeys() + ["device"]

View File

@ -1,5 +1,5 @@
from distutils.version import LooseVersion
_versionstring = "1.2.0"
_versionstring = "1.2.1"
looseversion = LooseVersion(_versionstring)
openwebrx_version = "v{0}".format(looseversion)