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-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-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 .
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								csdr/csdr.py
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								csdr/csdr.py
									
									
									
									
									
								
							@@ -225,7 +225,7 @@ class dsp(object):
 | 
			
		||||
            if self.fft_compression == "adpcm":
 | 
			
		||||
                chain += ["csdr compress_fft_adpcm_f_u8 {secondary_fft_size}"]
 | 
			
		||||
            return chain
 | 
			
		||||
        elif which == "bpsk31":
 | 
			
		||||
        elif which == "bpsk31" or which == "bpsk63":
 | 
			
		||||
            return chain + [
 | 
			
		||||
                "csdr shift_addition_cc --fifo {secondary_shift_pipe}",
 | 
			
		||||
                "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):
 | 
			
		||||
        if self.secondary_demodulator == "bpsk31":
 | 
			
		||||
            return 31.25 / self.if_samp_rate()
 | 
			
		||||
        elif self.secondary_demodulator == "bpsk63":
 | 
			
		||||
            return 62.5 / self.if_samp_rate()
 | 
			
		||||
        return 0
 | 
			
		||||
 | 
			
		||||
    def secondary_bpf_transition_bw(self):
 | 
			
		||||
        if self.secondary_demodulator == "bpsk31":
 | 
			
		||||
            return 31.25 / self.if_samp_rate()
 | 
			
		||||
        elif self.secondary_demodulator == "bpsk63":
 | 
			
		||||
            return 62.5 / self.if_samp_rate()
 | 
			
		||||
        return 0
 | 
			
		||||
 | 
			
		||||
    def secondary_samples_per_bits(self):
 | 
			
		||||
        if self.secondary_demodulator == "bpsk31":
 | 
			
		||||
            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
 | 
			
		||||
 | 
			
		||||
    def secondary_bw(self):
 | 
			
		||||
        if self.secondary_demodulator == "bpsk31":
 | 
			
		||||
            return 31.25
 | 
			
		||||
        elif self.secondary_demodulator == "bpsk63":
 | 
			
		||||
            return 62.5
 | 
			
		||||
 | 
			
		||||
    def start_secondary_demodulator(self):
 | 
			
		||||
        if not self.secondary_demodulator:
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,8 @@ FROM openwebrx-soapysdr-base:$ARCHTAG
 | 
			
		||||
 | 
			
		||||
ADD docker/scripts/install-dependencies-airspy.sh /
 | 
			
		||||
RUN /install-dependencies-airspy.sh
 | 
			
		||||
RUN rm /install-dependencies-airspy.sh
 | 
			
		||||
 | 
			
		||||
ADD docker/scripts/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/install-dependencies.sh /
 | 
			
		||||
RUN /install-dependencies.sh
 | 
			
		||||
RUN rm /install-dependencies.sh
 | 
			
		||||
 | 
			
		||||
ADD . /opt/openwebrx
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,9 @@ RUN /install-dependencies-hackrf.sh
 | 
			
		||||
RUN /install-dependencies-soapysdr.sh
 | 
			
		||||
RUN /install-dependencies-sdrplay.sh
 | 
			
		||||
RUN /install-dependencies-airspy.sh
 | 
			
		||||
RUN /install-dependencies-rtlsdr-soapy.sh
 | 
			
		||||
RUN rm /install-dependencies-*.sh
 | 
			
		||||
 | 
			
		||||
ADD docker/scripts/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 /
 | 
			
		||||
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 /
 | 
			
		||||
RUN /install-dependencies-rtlsdr.sh
 | 
			
		||||
RUN rm /install-dependencies-rtlsdr.sh
 | 
			
		||||
 | 
			
		||||
ADD docker/scripts/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-lib.*.patch /
 | 
			
		||||
RUN /install-dependencies-sdrplay.sh
 | 
			
		||||
RUN rm /install-dependencies-sdrplay.sh
 | 
			
		||||
 | 
			
		||||
ADD docker/scripts/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 /
 | 
			
		||||
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();">
 | 
			
		||||
                        <option value="none"></option>
 | 
			
		||||
                        <option value="bpsk31">BPSK31</option>
 | 
			
		||||
                        <option value="bpsk63">BPSK63</option>
 | 
			
		||||
                        <option value="ft8" data-feature="wsjt-x">FT8</option>
 | 
			
		||||
                        <option value="wspr" data-feature="wsjt-x">WSPR</option>
 | 
			
		||||
                        <option value="jt65" data-feature="wsjt-x">JT65</option>
 | 
			
		||||
 
 | 
			
		||||
@@ -1981,6 +1981,7 @@ function demodulator_digital_replace_last() {
 | 
			
		||||
function demodulator_digital_replace(subtype) {
 | 
			
		||||
    switch (subtype) {
 | 
			
		||||
        case "bpsk31":
 | 
			
		||||
        case "bpsk63":
 | 
			
		||||
        case "rtty":
 | 
			
		||||
        case "ft8":
 | 
			
		||||
        case "jt65":
 | 
			
		||||
 
 | 
			
		||||
@@ -149,10 +149,9 @@ class WsjtChopper(threading.Thread):
 | 
			
		||||
 | 
			
		||||
    def decode(self, file):
 | 
			
		||||
        decoder = subprocess.Popen(
 | 
			
		||||
            self.decoder_commandline(file),
 | 
			
		||||
            ["nice", "-n", "10"] + self.decoder_commandline(file),
 | 
			
		||||
            stdout=subprocess.PIPE,
 | 
			
		||||
            cwd=self.tmp_dir,
 | 
			
		||||
            preexec_fn=lambda: os.nice(10),
 | 
			
		||||
            close_fds=True,
 | 
			
		||||
        )
 | 
			
		||||
        for line in decoder.stdout:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								push.sh
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								push.sh
									
									
									
									
									
								
							@@ -7,11 +7,13 @@ ALL_ARCHS="x86_64 armv7l aarch64"
 | 
			
		||||
TAG="latest"
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
  rm -rf "${HOME}/.docker/manifests/docker.io_jketterl_${image}-${TAG}"
 | 
			
		||||
  IMAGE_LIST=""
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user