commit
c12a4ecb80
1
build.sh
1
build.sh
@ -12,4 +12,5 @@ docker build --build-arg ARCHTAG=$ARCHTAG -t openwebrx-soapysdr-base:$ARCHTAG -f
|
|||||||
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-sdrplay:$ARCHTAG -f docker/Dockerfiles/Dockerfile-sdrplay .
|
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-sdrplay:$ARCHTAG -f docker/Dockerfiles/Dockerfile-sdrplay .
|
||||||
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-hackrf:$ARCHTAG -f docker/Dockerfiles/Dockerfile-hackrf .
|
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-hackrf:$ARCHTAG -f docker/Dockerfiles/Dockerfile-hackrf .
|
||||||
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-airspy:$ARCHTAG -f docker/Dockerfiles/Dockerfile-airspy .
|
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-airspy:$ARCHTAG -f docker/Dockerfiles/Dockerfile-airspy .
|
||||||
|
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-rtlsdr-soapy:$ARCHTAG -f docker/Dockerfiles/Dockerfile-rtlsdr-soapy .
|
||||||
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-full:$ARCHTAG -t jketterl/openwebrx:$ARCHTAG -f docker/Dockerfiles/Dockerfile-full .
|
docker build --build-arg ARCHTAG=$ARCHTAG -t jketterl/openwebrx-full:$ARCHTAG -t jketterl/openwebrx:$ARCHTAG -f docker/Dockerfiles/Dockerfile-full .
|
||||||
|
10
csdr/csdr.py
10
csdr/csdr.py
@ -225,7 +225,7 @@ class dsp(object):
|
|||||||
if self.fft_compression == "adpcm":
|
if self.fft_compression == "adpcm":
|
||||||
chain += ["csdr compress_fft_adpcm_f_u8 {secondary_fft_size}"]
|
chain += ["csdr compress_fft_adpcm_f_u8 {secondary_fft_size}"]
|
||||||
return chain
|
return chain
|
||||||
elif which == "bpsk31":
|
elif which == "bpsk31" or which == "bpsk63":
|
||||||
return chain + [
|
return chain + [
|
||||||
"csdr shift_addition_cc --fifo {secondary_shift_pipe}",
|
"csdr shift_addition_cc --fifo {secondary_shift_pipe}",
|
||||||
"csdr bandpass_fir_fft_cc -{secondary_bpf_cutoff} {secondary_bpf_cutoff} {secondary_bpf_cutoff}",
|
"csdr bandpass_fir_fft_cc -{secondary_bpf_cutoff} {secondary_bpf_cutoff} {secondary_bpf_cutoff}",
|
||||||
@ -268,21 +268,29 @@ class dsp(object):
|
|||||||
def secondary_bpf_cutoff(self):
|
def secondary_bpf_cutoff(self):
|
||||||
if self.secondary_demodulator == "bpsk31":
|
if self.secondary_demodulator == "bpsk31":
|
||||||
return 31.25 / self.if_samp_rate()
|
return 31.25 / self.if_samp_rate()
|
||||||
|
elif self.secondary_demodulator == "bpsk63":
|
||||||
|
return 62.5 / self.if_samp_rate()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def secondary_bpf_transition_bw(self):
|
def secondary_bpf_transition_bw(self):
|
||||||
if self.secondary_demodulator == "bpsk31":
|
if self.secondary_demodulator == "bpsk31":
|
||||||
return 31.25 / self.if_samp_rate()
|
return 31.25 / self.if_samp_rate()
|
||||||
|
elif self.secondary_demodulator == "bpsk63":
|
||||||
|
return 62.5 / self.if_samp_rate()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def secondary_samples_per_bits(self):
|
def secondary_samples_per_bits(self):
|
||||||
if self.secondary_demodulator == "bpsk31":
|
if self.secondary_demodulator == "bpsk31":
|
||||||
return int(round(self.if_samp_rate() / 31.25)) & ~3
|
return int(round(self.if_samp_rate() / 31.25)) & ~3
|
||||||
|
elif self.secondary_demodulator == "bpsk63":
|
||||||
|
return int(round(self.if_samp_rate() / 62.5)) & ~3
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def secondary_bw(self):
|
def secondary_bw(self):
|
||||||
if self.secondary_demodulator == "bpsk31":
|
if self.secondary_demodulator == "bpsk31":
|
||||||
return 31.25
|
return 31.25
|
||||||
|
elif self.secondary_demodulator == "bpsk63":
|
||||||
|
return 62.5
|
||||||
|
|
||||||
def start_secondary_demodulator(self):
|
def start_secondary_demodulator(self):
|
||||||
if not self.secondary_demodulator:
|
if not self.secondary_demodulator:
|
||||||
|
@ -3,6 +3,8 @@ FROM openwebrx-soapysdr-base:$ARCHTAG
|
|||||||
|
|
||||||
ADD docker/scripts/install-dependencies-airspy.sh /
|
ADD docker/scripts/install-dependencies-airspy.sh /
|
||||||
RUN /install-dependencies-airspy.sh
|
RUN /install-dependencies-airspy.sh
|
||||||
|
RUN rm /install-dependencies-airspy.sh
|
||||||
|
|
||||||
ADD docker/scripts/install-connectors.sh /
|
ADD docker/scripts/install-connectors.sh /
|
||||||
RUN /install-connectors.sh
|
RUN /install-connectors.sh
|
||||||
|
RUN rm /install-connectors.sh
|
||||||
|
@ -7,6 +7,7 @@ RUN ln -s /usr/local/lib /usr/local/lib64
|
|||||||
ADD docker/scripts/direwolf-1.5.patch /
|
ADD docker/scripts/direwolf-1.5.patch /
|
||||||
ADD docker/scripts/install-dependencies.sh /
|
ADD docker/scripts/install-dependencies.sh /
|
||||||
RUN /install-dependencies.sh
|
RUN /install-dependencies.sh
|
||||||
|
RUN rm /install-dependencies.sh
|
||||||
|
|
||||||
ADD . /opt/openwebrx
|
ADD . /opt/openwebrx
|
||||||
|
|
||||||
|
@ -9,6 +9,9 @@ RUN /install-dependencies-hackrf.sh
|
|||||||
RUN /install-dependencies-soapysdr.sh
|
RUN /install-dependencies-soapysdr.sh
|
||||||
RUN /install-dependencies-sdrplay.sh
|
RUN /install-dependencies-sdrplay.sh
|
||||||
RUN /install-dependencies-airspy.sh
|
RUN /install-dependencies-airspy.sh
|
||||||
|
RUN /install-dependencies-rtlsdr-soapy.sh
|
||||||
|
RUN rm /install-dependencies-*.sh
|
||||||
|
|
||||||
ADD docker/scripts/install-connectors.sh /
|
ADD docker/scripts/install-connectors.sh /
|
||||||
RUN /install-connectors.sh
|
RUN /install-connectors.sh
|
||||||
|
RUN rm /install-connectors.sh
|
||||||
|
@ -3,4 +3,5 @@ FROM openwebrx-base:$ARCHTAG
|
|||||||
|
|
||||||
ADD docker/scripts/install-dependencies-hackrf.sh /
|
ADD docker/scripts/install-dependencies-hackrf.sh /
|
||||||
RUN /install-dependencies-hackrf.sh
|
RUN /install-dependencies-hackrf.sh
|
||||||
|
RUN rm /install-dependencies-hackrf.sh
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ FROM openwebrx-base:$ARCHTAG
|
|||||||
|
|
||||||
ADD docker/scripts/install-dependencies-rtlsdr.sh /
|
ADD docker/scripts/install-dependencies-rtlsdr.sh /
|
||||||
RUN /install-dependencies-rtlsdr.sh
|
RUN /install-dependencies-rtlsdr.sh
|
||||||
|
RUN rm /install-dependencies-rtlsdr.sh
|
||||||
|
|
||||||
ADD docker/scripts/install-connectors.sh /
|
ADD docker/scripts/install-connectors.sh /
|
||||||
RUN /install-connectors.sh
|
RUN /install-connectors.sh
|
||||||
|
RUN rm /install-connectors.sh
|
||||||
|
10
docker/Dockerfiles/Dockerfile-rtlsdr-soapy
Normal file
10
docker/Dockerfiles/Dockerfile-rtlsdr-soapy
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
ARG ARCHTAG
|
||||||
|
FROM openwebrx-soapysdr-base:$ARCHTAG
|
||||||
|
|
||||||
|
ADD docker/scripts/install-dependencies-rtlsdr-soapy.sh /
|
||||||
|
RUN /install-dependencies-rtlsdr-soapy.sh
|
||||||
|
RUN rm /install-dependencies-rtlsdr-soapy.sh
|
||||||
|
|
||||||
|
ADD docker/scripts/install-connectors.sh /
|
||||||
|
RUN /install-connectors.sh
|
||||||
|
RUN rm /install-connectors.sh
|
@ -4,6 +4,8 @@ FROM openwebrx-soapysdr-base:$ARCHTAG
|
|||||||
ADD docker/scripts/install-dependencies-sdrplay.sh /
|
ADD docker/scripts/install-dependencies-sdrplay.sh /
|
||||||
ADD docker/scripts/install-lib.*.patch /
|
ADD docker/scripts/install-lib.*.patch /
|
||||||
RUN /install-dependencies-sdrplay.sh
|
RUN /install-dependencies-sdrplay.sh
|
||||||
|
RUN rm /install-dependencies-sdrplay.sh
|
||||||
|
|
||||||
ADD docker/scripts/install-connectors.sh /
|
ADD docker/scripts/install-connectors.sh /
|
||||||
RUN /install-connectors.sh
|
RUN /install-connectors.sh
|
||||||
|
RUN rm /install-connectors.sh
|
||||||
|
@ -3,4 +3,5 @@ FROM openwebrx-base:$ARCHTAG
|
|||||||
|
|
||||||
ADD docker/scripts/install-dependencies-soapysdr.sh /
|
ADD docker/scripts/install-dependencies-soapysdr.sh /
|
||||||
RUN /install-dependencies-soapysdr.sh
|
RUN /install-dependencies-soapysdr.sh
|
||||||
|
RUN rm /install-dependencies-soapysdr.sh
|
||||||
|
|
||||||
|
32
docker/scripts/install-dependencies-rtlsdr-soapy.sh
Executable file
32
docker/scripts/install-dependencies-rtlsdr-soapy.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
function cmakebuild() {
|
||||||
|
cd $1
|
||||||
|
if [[ ! -z "${2:-}" ]]; then
|
||||||
|
git checkout $2
|
||||||
|
fi
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
cd ../..
|
||||||
|
rm -rf $1
|
||||||
|
}
|
||||||
|
|
||||||
|
cd /tmp
|
||||||
|
|
||||||
|
STATIC_PACKAGES="libusb"
|
||||||
|
BUILD_PACKAGES="git libusb-dev cmake make gcc musl-dev g++ linux-headers"
|
||||||
|
|
||||||
|
apk add --no-cache $STATIC_PACKAGES
|
||||||
|
apk add --no-cache --virtual .build-deps $BUILD_PACKAGES
|
||||||
|
|
||||||
|
git clone https://github.com/osmocom/rtl-sdr.git
|
||||||
|
cmakebuild rtl-sdr b5af355b1d833b3c898a61cf1e072b59b0ea3440
|
||||||
|
|
||||||
|
git clone https://github.com/pothosware/SoapyRTLSDR.git
|
||||||
|
cmakebuild SoapyRTLSDR 5c5d9503337c6d1c34b496dec6f908aab9478b0f
|
||||||
|
|
||||||
|
apk del .build-deps
|
@ -185,6 +185,7 @@
|
|||||||
<select id="openwebrx-secondary-demod-listbox" onchange="secondary_demod_listbox_changed();">
|
<select id="openwebrx-secondary-demod-listbox" onchange="secondary_demod_listbox_changed();">
|
||||||
<option value="none"></option>
|
<option value="none"></option>
|
||||||
<option value="bpsk31">BPSK31</option>
|
<option value="bpsk31">BPSK31</option>
|
||||||
|
<option value="bpsk63">BPSK63</option>
|
||||||
<option value="ft8" data-feature="wsjt-x">FT8</option>
|
<option value="ft8" data-feature="wsjt-x">FT8</option>
|
||||||
<option value="wspr" data-feature="wsjt-x">WSPR</option>
|
<option value="wspr" data-feature="wsjt-x">WSPR</option>
|
||||||
<option value="jt65" data-feature="wsjt-x">JT65</option>
|
<option value="jt65" data-feature="wsjt-x">JT65</option>
|
||||||
|
@ -1981,6 +1981,7 @@ function demodulator_digital_replace_last() {
|
|||||||
function demodulator_digital_replace(subtype) {
|
function demodulator_digital_replace(subtype) {
|
||||||
switch (subtype) {
|
switch (subtype) {
|
||||||
case "bpsk31":
|
case "bpsk31":
|
||||||
|
case "bpsk63":
|
||||||
case "rtty":
|
case "rtty":
|
||||||
case "ft8":
|
case "ft8":
|
||||||
case "jt65":
|
case "jt65":
|
||||||
|
@ -149,10 +149,9 @@ class WsjtChopper(threading.Thread):
|
|||||||
|
|
||||||
def decode(self, file):
|
def decode(self, file):
|
||||||
decoder = subprocess.Popen(
|
decoder = subprocess.Popen(
|
||||||
self.decoder_commandline(file),
|
["nice", "-n", "10"] + self.decoder_commandline(file),
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
cwd=self.tmp_dir,
|
cwd=self.tmp_dir,
|
||||||
preexec_fn=lambda: os.nice(10),
|
|
||||||
close_fds=True,
|
close_fds=True,
|
||||||
)
|
)
|
||||||
for line in decoder.stdout:
|
for line in decoder.stdout:
|
||||||
|
6
push.sh
6
push.sh
@ -7,11 +7,13 @@ ALL_ARCHS="x86_64 armv7l aarch64"
|
|||||||
TAG="latest"
|
TAG="latest"
|
||||||
ARCHTAG="$TAG-$ARCH"
|
ARCHTAG="$TAG-$ARCH"
|
||||||
|
|
||||||
for image in openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-full openwebrx; do
|
IMAGES="openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-rtlsdr-soapy openwebrx-full openwebrx"
|
||||||
|
|
||||||
|
for image in ${IMAGES}; do
|
||||||
docker push jketterl/$image:$ARCHTAG
|
docker push jketterl/$image:$ARCHTAG
|
||||||
done
|
done
|
||||||
|
|
||||||
for image in openwebrx-rtlsdr openwebrx-sdrplay openwebrx-hackrf openwebrx-airspy openwebrx-full openwebrx; do
|
for image in ${IMAGES}; do
|
||||||
# there's no docker manifest rm command, and the create --amend does not work, so we have to clean up manually
|
# there's no docker manifest rm command, and the create --amend does not work, so we have to clean up manually
|
||||||
rm -rf "${HOME}/.docker/manifests/docker.io_jketterl_${image}-${TAG}"
|
rm -rf "${HOME}/.docker/manifests/docker.io_jketterl_${image}-${TAG}"
|
||||||
IMAGE_LIST=""
|
IMAGE_LIST=""
|
||||||
|
Loading…
Reference in New Issue
Block a user