Merge branch 'develop' into csdr++
This commit is contained in:
commit
72aad99d20
@ -1,4 +1,6 @@
|
|||||||
**1.1.x - unreleased**
|
**unreleased**
|
||||||
|
|
||||||
|
**1.1.0**
|
||||||
- Reworked most graphical elements as SVGs for faster loadtimes and crispier display on hi-dpi displays
|
- Reworked most graphical elements as SVGs for faster loadtimes and crispier display on hi-dpi displays
|
||||||
- Updated pipelines to match changes in digiham
|
- Updated pipelines to match changes in digiham
|
||||||
- Changed D-Star and NXDN integrations to use new decoders from digiham
|
- Changed D-Star and NXDN integrations to use new decoders from digiham
|
||||||
|
@ -104,9 +104,6 @@ version = 7
|
|||||||
|
|
||||||
#digimodes_fft_size = 2048
|
#digimodes_fft_size = 2048
|
||||||
|
|
||||||
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
|
|
||||||
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
|
|
||||||
#digital_voice_unvoiced_quality = 1
|
|
||||||
# enables lookup of DMR ids using the radioid api
|
# enables lookup of DMR ids using the radioid api
|
||||||
#digital_voice_dmr_id_lookup = True
|
#digital_voice_dmr_id_lookup = True
|
||||||
|
|
||||||
|
@ -84,7 +84,6 @@ class Dsp(DirewolfConfigSubscriber):
|
|||||||
self.pipes = {}
|
self.pipes = {}
|
||||||
self.secondary_pipe_names = {"secondary_shift_pipe": Pipe.WRITE}
|
self.secondary_pipe_names = {"secondary_shift_pipe": Pipe.WRITE}
|
||||||
self.secondary_offset_freq = 1000
|
self.secondary_offset_freq = 1000
|
||||||
self.unvoiced_quality = 1
|
|
||||||
self.codecserver = None
|
self.codecserver = None
|
||||||
self.modification_lock = threading.Lock()
|
self.modification_lock = threading.Lock()
|
||||||
self.output = output
|
self.output = output
|
||||||
@ -640,13 +639,6 @@ class Dsp(DirewolfConfigSubscriber):
|
|||||||
if self.running and "squelch_pipe" in self.pipes:
|
if self.running and "squelch_pipe" in self.pipes:
|
||||||
self.pipes["squelch_pipe"].write("%g\n" % (self.convertToLinear(actual_squelch)))
|
self.pipes["squelch_pipe"].write("%g\n" % (self.convertToLinear(actual_squelch)))
|
||||||
|
|
||||||
def set_unvoiced_quality(self, q):
|
|
||||||
self.unvoiced_quality = q
|
|
||||||
self.restart()
|
|
||||||
|
|
||||||
def get_unvoiced_quality(self):
|
|
||||||
return self.unvoiced_quality
|
|
||||||
|
|
||||||
def set_codecserver(self, s):
|
def set_codecserver(self, s):
|
||||||
if self.codecserver == s:
|
if self.codecserver == s:
|
||||||
return
|
return
|
||||||
@ -767,7 +759,6 @@ class Dsp(DirewolfConfigSubscriber):
|
|||||||
nc_port=self.nc_port,
|
nc_port=self.nc_port,
|
||||||
output_rate=self.get_output_rate(),
|
output_rate=self.get_output_rate(),
|
||||||
smeter_report_every=int(self.if_samp_rate() / 6000),
|
smeter_report_every=int(self.if_samp_rate() / 6000),
|
||||||
unvoiced_quality=self.get_unvoiced_quality(),
|
|
||||||
codecserver_arg=self.get_codecserver_arg(),
|
codecserver_arg=self.get_codecserver_arg(),
|
||||||
audio_rate=self.get_audio_rate(),
|
audio_rate=self.get_audio_rate(),
|
||||||
wfm_deemphasis_tau=self.wfm_deemphasis_tau,
|
wfm_deemphasis_tau=self.wfm_deemphasis_tau,
|
||||||
|
8
debian/changelog
vendored
8
debian/changelog
vendored
@ -1,4 +1,8 @@
|
|||||||
openwebrx (1.1.0) UNRELEASED; urgency=low
|
openwebrx (1.2.0) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
-- Jakob Ketterl <jakob.ketterl@gmx.de> Tue, 03 Aug 2021 13:54:00 +0000
|
||||||
|
|
||||||
|
openwebrx (1.1.0) buster hirsute; urgency=low
|
||||||
|
|
||||||
* Reworked most graphical elements as SVGs for faster loadtimes and crispier
|
* Reworked most graphical elements as SVGs for faster loadtimes and crispier
|
||||||
display on hi-dpi displays
|
display on hi-dpi displays
|
||||||
@ -6,7 +10,7 @@ openwebrx (1.1.0) UNRELEASED; urgency=low
|
|||||||
* Changed D-Star and NXDN integrations to use new decoder from digiham
|
* Changed D-Star and NXDN integrations to use new decoder from digiham
|
||||||
* Added D-Star and NXDN metadata display
|
* Added D-Star and NXDN metadata display
|
||||||
|
|
||||||
-- Jakob Ketterl <jakob.ketterl@gmx.de> Sun, 09 May 2021 14:05:00 +0000
|
-- Jakob Ketterl <jakob.ketterl@gmx.de> Mon, 02 Aug 2021 16:24:00 +0000
|
||||||
|
|
||||||
openwebrx (1.0.0) buster hirsute; urgency=low
|
openwebrx (1.0.0) buster hirsute; urgency=low
|
||||||
* Introduced `squelch_auto_margin` config option that allows configuring the
|
* Introduced `squelch_auto_margin` config option that allows configuring the
|
||||||
|
@ -24,8 +24,7 @@ apt-get update
|
|||||||
apt-get -y install --no-install-recommends $BUILD_PACKAGES
|
apt-get -y install --no-install-recommends $BUILD_PACKAGES
|
||||||
|
|
||||||
git clone https://github.com/jketterl/owrx_connector.git
|
git clone https://github.com/jketterl/owrx_connector.git
|
||||||
# latest develop as of 2021-05-18 (individual connector versions)
|
cmakebuild owrx_connector 0.5.0
|
||||||
cmakebuild owrx_connector 167324219813f61b2be8164eb4acb1237ba2c304
|
|
||||||
|
|
||||||
apt-get -y purge --autoremove $BUILD_PACKAGES
|
apt-get -y purge --autoremove $BUILD_PACKAGES
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
@ -25,8 +25,7 @@ apt-get update
|
|||||||
apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES
|
apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES
|
||||||
|
|
||||||
git clone https://github.com/jketterl/runds_connector.git
|
git clone https://github.com/jketterl/runds_connector.git
|
||||||
# latest develop as of 2021-05-18 (individual connector versions)
|
cmakebuild runds_connector 0.2.0
|
||||||
cmakebuild runds_connector adfa04bee4ee36852feb07e7b845be2c3d3f97c7
|
|
||||||
|
|
||||||
apt-get -y purge --autoremove $BUILD_PACKAGES
|
apt-get -y purge --autoremove $BUILD_PACKAGES
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
@ -19,7 +19,7 @@ function cmakebuild() {
|
|||||||
cd /tmp
|
cd /tmp
|
||||||
|
|
||||||
STATIC_PACKAGES="sox libfftw3-bin python3 python3-setuptools netcat-openbsd libsndfile1 liblapack3 libusb-1.0-0 libqt5core5a libreadline7 libgfortran4 libgomp1 libasound2 libudev1 ca-certificates libqt5gui5 libqt5sql5 libqt5printsupport5 libpulse0 libfaad2 libopus0 libboost-program-options1.67.0 libboost-log1.67.0"
|
STATIC_PACKAGES="sox libfftw3-bin python3 python3-setuptools netcat-openbsd libsndfile1 liblapack3 libusb-1.0-0 libqt5core5a libreadline7 libgfortran4 libgomp1 libasound2 libudev1 ca-certificates libqt5gui5 libqt5sql5 libqt5printsupport5 libpulse0 libfaad2 libopus0 libboost-program-options1.67.0 libboost-log1.67.0"
|
||||||
BUILD_PACKAGES="wget git libsndfile1-dev libfftw3-dev cmake make gcc g++ liblapack-dev texinfo gfortran libusb-1.0-0-dev qtbase5-dev qtmultimedia5-dev qttools5-dev libqt5serialport5-dev qttools5-dev-tools asciidoctor asciidoc libasound2-dev libudev-dev libhamlib-dev patch xsltproc qt5-default libfaad-dev libopus-dev libgtest-dev libboost-dev libboost-program-options-dev libboost-log-dev libboost-regex-dev"
|
BUILD_PACKAGES="wget git libsndfile1-dev libfftw3-dev cmake make gcc g++ liblapack-dev texinfo gfortran libusb-1.0-0-dev qtbase5-dev qtmultimedia5-dev qttools5-dev libqt5serialport5-dev qttools5-dev-tools asciidoctor asciidoc libasound2-dev libudev-dev libhamlib-dev patch xsltproc qt5-default libfaad-dev libopus-dev libboost-dev libboost-program-options-dev libboost-log-dev libboost-regex-dev"
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install auto-apt-proxy
|
apt-get -y install auto-apt-proxy
|
||||||
apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES
|
apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES
|
||||||
@ -102,8 +102,7 @@ rm -rf dream
|
|||||||
rm dream-2.1.1-svn808.tar.gz
|
rm dream-2.1.1-svn808.tar.gz
|
||||||
|
|
||||||
git clone https://github.com/mobilinkd/m17-cxx-demod.git
|
git clone https://github.com/mobilinkd/m17-cxx-demod.git
|
||||||
# latest master as of 2021-04-20
|
cmakebuild m17-cxx-demod v2.2
|
||||||
cmakebuild m17-cxx-demod c1d954fd5e5c53d28a2524e99484f832f9dcb826
|
|
||||||
|
|
||||||
git clone https://github.com/hessu/aprs-symbols /usr/share/aprs-symbols
|
git clone https://github.com/hessu/aprs-symbols /usr/share/aprs-symbols
|
||||||
pushd /usr/share/aprs-symbols
|
pushd /usr/share/aprs-symbols
|
||||||
|
@ -43,12 +43,10 @@ rm -rf csdr
|
|||||||
git clone https://github.com/jketterl/codecserver.git
|
git clone https://github.com/jketterl/codecserver.git
|
||||||
mkdir -p /usr/local/etc/codecserver
|
mkdir -p /usr/local/etc/codecserver
|
||||||
cp codecserver/conf/codecserver.conf /usr/local/etc/codecserver
|
cp codecserver/conf/codecserver.conf /usr/local/etc/codecserver
|
||||||
#latest develop as of 2021-07-04 (optional checksum fix)
|
cmakebuild codecserver 0.1.0
|
||||||
cmakebuild codecserver d73c9a56a773355679bc2d4a10f199b62223d7a0
|
|
||||||
|
|
||||||
git clone https://github.com/jketterl/digiham.git
|
git clone https://github.com/jketterl/digiham.git
|
||||||
#latest develop as of 2021-06-15 (DMR LCSS overflow fix; D-Star alternate terminator)
|
cmakebuild digiham 0.5.0
|
||||||
cmakebuild digiham 418145d74b528596a39198a537ab56207d932595
|
|
||||||
|
|
||||||
apt-get -y purge --autoremove $BUILD_PACKAGES
|
apt-get -y purge --autoremove $BUILD_PACKAGES
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
@ -18,7 +18,6 @@ defaultConfig = PropertyLayer(
|
|||||||
fft_compression="adpcm",
|
fft_compression="adpcm",
|
||||||
wfm_deemphasis_tau=50e-6,
|
wfm_deemphasis_tau=50e-6,
|
||||||
digimodes_fft_size=2048,
|
digimodes_fft_size=2048,
|
||||||
digital_voice_unvoiced_quality=1,
|
|
||||||
digital_voice_dmr_id_lookup=True,
|
digital_voice_dmr_id_lookup=True,
|
||||||
digital_voice_nxdn_id_lookup=True,
|
digital_voice_nxdn_id_lookup=True,
|
||||||
sdrs=PropertyLayer(
|
sdrs=PropertyLayer(
|
||||||
|
@ -31,7 +31,9 @@ class Controller(object):
|
|||||||
self.handler.end_headers()
|
self.handler.end_headers()
|
||||||
if type(content) == str:
|
if type(content) == str:
|
||||||
content = content.encode()
|
content = content.encode()
|
||||||
self.handler.wfile.write(content)
|
while len(content):
|
||||||
|
w = self.handler.wfile.write(content)
|
||||||
|
content = content[w:]
|
||||||
|
|
||||||
def send_redirect(self, location, code=303):
|
def send_redirect(self, location, code=303):
|
||||||
self.handler.send_response(code)
|
self.handler.send_response(code)
|
||||||
|
@ -35,12 +35,6 @@ class DecodingSettingsController(SettingsFormController):
|
|||||||
),
|
),
|
||||||
Section(
|
Section(
|
||||||
"Digital voice",
|
"Digital voice",
|
||||||
NumberInput(
|
|
||||||
"digital_voice_unvoiced_quality",
|
|
||||||
"Quality of unvoiced sounds in synthesized voice",
|
|
||||||
infotext="Determines the quality, and thus the cpu usage, for the ambe codec used by digital voice"
|
|
||||||
+ " modes.<br />If you're running on a Raspberry Pi (up to 3B+) you should leave this set at 1",
|
|
||||||
),
|
|
||||||
TextInput(
|
TextInput(
|
||||||
"digital_voice_codecserver",
|
"digital_voice_codecserver",
|
||||||
"Codecserver address",
|
"Codecserver address",
|
||||||
|
@ -67,7 +67,6 @@ class DspManager(Output, SdrSourceEventClient):
|
|||||||
"fft_compression",
|
"fft_compression",
|
||||||
"digimodes_fft_size",
|
"digimodes_fft_size",
|
||||||
"samp_rate",
|
"samp_rate",
|
||||||
"digital_voice_unvoiced_quality",
|
|
||||||
"center_freq",
|
"center_freq",
|
||||||
"start_mod",
|
"start_mod",
|
||||||
"start_freq",
|
"start_freq",
|
||||||
@ -128,7 +127,6 @@ class DspManager(Output, SdrSourceEventClient):
|
|||||||
self.props.wireProperty("low_cut", set_low_cut),
|
self.props.wireProperty("low_cut", set_low_cut),
|
||||||
self.props.wireProperty("high_cut", set_high_cut),
|
self.props.wireProperty("high_cut", set_high_cut),
|
||||||
self.props.wireProperty("mod", self.dsp.set_demodulator),
|
self.props.wireProperty("mod", self.dsp.set_demodulator),
|
||||||
self.props.wireProperty("digital_voice_unvoiced_quality", self.dsp.set_unvoiced_quality),
|
|
||||||
self.props.wireProperty("dmr_filter", self.dsp.set_dmr_filter),
|
self.props.wireProperty("dmr_filter", self.dsp.set_dmr_filter),
|
||||||
self.props.wireProperty("wfm_deemphasis_tau", self.dsp.set_wfm_deemphasis_tau),
|
self.props.wireProperty("wfm_deemphasis_tau", self.dsp.set_wfm_deemphasis_tau),
|
||||||
self.props.wireProperty("digital_voice_codecserver", self.dsp.set_codecserver),
|
self.props.wireProperty("digital_voice_codecserver", self.dsp.set_codecserver),
|
||||||
|
@ -259,6 +259,8 @@ class FeatureDetector(object):
|
|||||||
"fsk_demodulator",
|
"fsk_demodulator",
|
||||||
"pocsag_decoder",
|
"pocsag_decoder",
|
||||||
"dstar_decoder",
|
"dstar_decoder",
|
||||||
|
"nxdn_decoder",
|
||||||
|
"dc_block",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
True,
|
True,
|
||||||
@ -279,7 +281,7 @@ class FeatureDetector(object):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def _check_owrx_connector(self, command):
|
def _check_owrx_connector(self, command):
|
||||||
return self._check_connector(command, LooseVersion("0.4"))
|
return self._check_connector(command, LooseVersion("0.5"))
|
||||||
|
|
||||||
def has_rtl_connector(self):
|
def has_rtl_connector(self):
|
||||||
"""
|
"""
|
||||||
@ -548,6 +550,11 @@ class FeatureDetector(object):
|
|||||||
return self._check_connector("runds_connector", LooseVersion("0.2"))
|
return self._check_connector("runds_connector", LooseVersion("0.2"))
|
||||||
|
|
||||||
def has_codecserver_ambe(self):
|
def has_codecserver_ambe(self):
|
||||||
|
"""
|
||||||
|
Codecserver is used to decode audio data from digital voice modes using the AMBE codec.
|
||||||
|
|
||||||
|
You can find more information [here](https://github.com/jketterl/codecserver).
|
||||||
|
"""
|
||||||
tmp_dir = CoreConfig().get_temporary_directory()
|
tmp_dir = CoreConfig().get_temporary_directory()
|
||||||
cmd = ["mbe_synthesizer", "--test"]
|
cmd = ["mbe_synthesizer", "--test"]
|
||||||
config = Config.get()
|
config = Config.get()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from distutils.version import LooseVersion
|
from distutils.version import LooseVersion
|
||||||
|
|
||||||
_versionstring = "1.1.0-dev"
|
_versionstring = "1.2.0-dev"
|
||||||
looseversion = LooseVersion(_versionstring)
|
looseversion = LooseVersion(_versionstring)
|
||||||
openwebrx_version = "v{0}".format(looseversion)
|
openwebrx_version = "v{0}".format(looseversion)
|
||||||
|
Loading…
Reference in New Issue
Block a user