mirror of https://github.com/saitohirga/WSJT-X.git
Let Echo-mode "Measure" function use the computed fspread for DX grid.
This commit is contained in:
parent
345e539074
commit
0ef914fb5c
|
@ -11,7 +11,7 @@ subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid, &
|
||||||
real*8 uth8,techo8,freq8
|
real*8 uth8,techo8,freq8
|
||||||
real*8 xl,b
|
real*8 xl,b
|
||||||
common/librcom/xl(2),b(2)
|
common/librcom/xl(2),b(2)
|
||||||
common/echocom2/echo_spread
|
common/echocom2/fspread_self,fspread_dx
|
||||||
data uth8z/0.d0/
|
data uth8z/0.d0/
|
||||||
save
|
save
|
||||||
|
|
||||||
|
@ -43,9 +43,11 @@ subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid, &
|
||||||
dbdt2=DEGS*(b2a-b2)
|
dbdt2=DEGS*(b2a-b2)
|
||||||
rate1=2.0*sqrt(dldt1**2 + dbdt1**2)
|
rate1=2.0*sqrt(dldt1**2 + dbdt1**2)
|
||||||
width1=0.5*6741*fghz*rate1
|
width1=0.5*6741*fghz*rate1
|
||||||
echo_spread=width1 !Save echo_spread for avecho()
|
|
||||||
rate2=sqrt((dldt1+dldt2)**2 + (dbdt1+dbdt2)**2)
|
rate2=sqrt((dldt1+dldt2)**2 + (dbdt1+dbdt2)**2)
|
||||||
width2=0.5*6741*fghz*rate2
|
width2=0.5*6741*fghz*rate2
|
||||||
|
if(hisgrid(1:4).eq.' ') width2=width1 !No hisgrid, use self width
|
||||||
|
fspread_self=width1 !Save for avecho()
|
||||||
|
fspread_dx=width2 !Save for avecho()
|
||||||
|
|
||||||
AzSun8=AzSun
|
AzSun8=AzSun
|
||||||
ElSun8=ElSun
|
ElSun8=ElSun
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,snrdb,db_err,dfreq,width)
|
subroutine avecho(id2,ndop,nfrit,nauto,nqual,f1,xlevel,snrdb,db_err, &
|
||||||
|
dfreq,width)
|
||||||
|
|
||||||
integer TXLENGTH
|
integer TXLENGTH
|
||||||
parameter (TXLENGTH=27648) !27*1024
|
parameter (TXLENGTH=27648) !27*1024
|
||||||
|
@ -17,18 +18,19 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,snrdb,db_err,dfreq,width)
|
||||||
complex c(0:NH)
|
complex c(0:NH)
|
||||||
equivalence (x,c),(ipk,ipkv)
|
equivalence (x,c),(ipk,ipkv)
|
||||||
common/echocom/nclearave,nsum,blue(NZ),red(NZ)
|
common/echocom/nclearave,nsum,blue(NZ),red(NZ)
|
||||||
common/echocom2/echo_spread
|
common/echocom2/fspread_self,fspread_dx
|
||||||
save dop0,sa,sb
|
save dop0,sa,sb
|
||||||
|
|
||||||
fspread=echo_spread !### Use the predicted Doppler spread ###
|
fspread=fspread_dx !### Use the predicted Doppler spread ###
|
||||||
|
if(nauto.eq.1) fspread=fspread_self
|
||||||
inquire(file='fspread.txt',exist=ex)
|
inquire(file='fspread.txt',exist=ex)
|
||||||
if(ex) then
|
if(ex) then
|
||||||
open(39,file='fspread.txt',status='old')
|
open(39,file='fspread.txt',status='old')
|
||||||
read(39,*) fspread
|
read(39,*) fspread
|
||||||
close(39)
|
close(39)
|
||||||
endif
|
endif
|
||||||
|
fspread=min(max(0.1,fspread),700.0)
|
||||||
width=fspread
|
width=fspread
|
||||||
|
|
||||||
dop=ndop
|
dop=ndop
|
||||||
sq=0.
|
sq=0.
|
||||||
do i=1,TXLENGTH
|
do i=1,TXLENGTH
|
||||||
|
|
|
@ -153,7 +153,7 @@ extern "C" {
|
||||||
|
|
||||||
int savec2_(char const * fname, int* TR_seconds, double* dial_freq, fortran_charlen_t);
|
int savec2_(char const * fname, int* TR_seconds, double* dial_freq, fortran_charlen_t);
|
||||||
|
|
||||||
void avecho_( short id2[], int* dop, int* nfrit, int* nqual, float* f1,
|
void avecho_( short id2[], int* dop, int* nfrit, int* nauto, int* nqual, float* f1,
|
||||||
float* level, float* sigdb, float* snr, float* dfreq,
|
float* level, float* sigdb, float* snr, float* dfreq,
|
||||||
float* width);
|
float* width);
|
||||||
|
|
||||||
|
@ -1576,6 +1576,8 @@ void MainWindow::dataSink(qint64 frames)
|
||||||
if(m_mode=="Echo") {
|
if(m_mode=="Echo") {
|
||||||
float dBerr=0.0;
|
float dBerr=0.0;
|
||||||
int nfrit=0;
|
int nfrit=0;
|
||||||
|
int nauto=0;
|
||||||
|
if(m_auto) nauto=1;
|
||||||
int nqual=0;
|
int nqual=0;
|
||||||
float f1=1500.0;
|
float f1=1500.0;
|
||||||
float xlevel=0.0;
|
float xlevel=0.0;
|
||||||
|
@ -1584,7 +1586,7 @@ void MainWindow::dataSink(qint64 frames)
|
||||||
float width=0.0;
|
float width=0.0;
|
||||||
echocom_.nclearave=m_nclearave;
|
echocom_.nclearave=m_nclearave;
|
||||||
int nDop=0;
|
int nDop=0;
|
||||||
avecho_(dec_data.d2,&nDop,&nfrit,&nqual,&f1,&xlevel,&sigdb,
|
avecho_(dec_data.d2,&nDop,&nfrit,&nauto,&nqual,&f1,&xlevel,&sigdb,
|
||||||
&dBerr,&dfreq,&width);
|
&dBerr,&dfreq,&width);
|
||||||
QString t;
|
QString t;
|
||||||
t = t.asprintf("%3d %7.1f %7.1f %7.1f %7.1f %7.1f %3d",echocom_.nsum,xlevel,sigdb,
|
t = t.asprintf("%3d %7.1f %7.1f %7.1f %7.1f %7.1f %3d",echocom_.nsum,xlevel,sigdb,
|
||||||
|
@ -7090,7 +7092,7 @@ void MainWindow::WSPR_config(bool b)
|
||||||
ui->rh_decodes_widget->setVisible(!b);
|
ui->rh_decodes_widget->setVisible(!b);
|
||||||
ui->controls_stack_widget->setCurrentIndex (b && m_mode != "Echo" ? 1 : 0);
|
ui->controls_stack_widget->setCurrentIndex (b && m_mode != "Echo" ? 1 : 0);
|
||||||
ui->QSO_controls_widget->setVisible (!b);
|
ui->QSO_controls_widget->setVisible (!b);
|
||||||
ui->DX_controls_widget->setVisible (!b);
|
ui->DX_controls_widget->setVisible (true);
|
||||||
ui->WSPR_controls_widget->setVisible (b);
|
ui->WSPR_controls_widget->setVisible (b);
|
||||||
ui->lh_decodes_title_label->setVisible(!b and ui->cbMenus->isChecked());
|
ui->lh_decodes_title_label->setVisible(!b and ui->cbMenus->isChecked());
|
||||||
ui->logQSOButton->setVisible(!b);
|
ui->logQSOButton->setVisible(!b);
|
||||||
|
|
Loading…
Reference in New Issue