dj0abr / QO-100_SSB-WebSDR_DATV-WebSpectrum

a WebSDR specially made für es'hail-2 satellite
GNU General Public License v3.0
68 stars 18 forks source link

Program stop decoding after beacon detection #7

Open HB9DUT opened 4 years ago

HB9DUT commented 4 years ago

Works great on Ubuntu but has an Issue on RPI 3 with Raspian Buster: Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster

Program stops decoding immediately after beacon detection:

./qo100websdr

Webserver Path: /var/www/htmlcopy Web Site files to: /var/www/html SDR parameters:

SDR base QRG: 433250000 Hz SDR sample rate: 1800000 S/s WF width: 900000 Hz WF width: 1500 pixel 1st downsampling:1800000 S/s 1st decim. rate: 1 1st FFT resol.: 600 Hz 1st FTT smp/pass:3000 found 4 cores, running FFT in multithreading mode OK: catproc started

Initialisation complete, system running ... stop with Ctrl-C Waiting for incoming connections... found 1 RTLSDR devices Device: Generic RTL2832U OEM

Found Rafael Micro R820T tuner accepted client 0 4 Connection opened, client: 4 | addr: 192.168.1.51 1 users logged in [R82XX] PLL not locked! Setting gain to: 49.60 === [R82XX] PLL locked, OK === Allocating 15 zero-copy buffers *Beacon found at pos:2726 diff:274 -> 27400 Hz Beacon found at pos:2726 diff:274 -> 27400 rtl hz : 27400 rtl qrg : 433222600 rtl qrg corr: 2133 [R82XX] PLL not locked! rtl rf : 2133_

HB9DUT commented 4 years ago

Declare RTL_TUNER_CORRECTION as float in rtlsdr.c solves the problem:

Line 77 unsigned long tqrg = (TUNED_FREQUENCY * (1000000L + float)RTL_TUNER_CORRECTION))/1000000L;

Line 138 qrg = (qrg * ((1000000L + (float) RTL_TUNER_CORRECTION) / 1000000L));`

... Beacon found at pos:2991 diff:9 -> 900 Hz Beacon found at pos:2991 diff:9 -> 900 rtl hz : 900 rtl qrg : 433249100 rtl qrg corr: 433223072 rtl rf : 433223072 Beacon found at pos:2987 diff:13 -> 1300 Hz Beacon found at pos:2987 diff:13 -> 1300 rtl hz : 2200 rtl qrg : 433247800 rtl qrg corr: 433221792 rtl rf : 433221792 ...