First usable-at-K1JT version of a semi-automated Frequency Calibration routine.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7452 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-01-05 20:20:43 +00:00
parent 6d64eaa37b
commit 62f5447520
2 changed files with 21 additions and 4 deletions

View File

@ -10,6 +10,7 @@ subroutine freqcal(id2,k,nkhz,noffset,ntol,line)
data n/0/,k0/9999999/
save n,k0
if(k.lt.NFFT) go to 900
if(k.lt.k0) n=0
k0=k
@ -52,7 +53,9 @@ subroutine freqcal(id2,k,nkhz,noffset,ntol,line)
ferr=fpeak-noffset
write(line,1100) nhr,nmin,nsec,nkhz,ncal,noffset,fpeak,ferr,pave, &
snr,callsign,cflag,char(0)
write(61,1100) nhr,nmin,nsec,nkhz,ncal,noffset,fpeak,ferr,pave, &
snr,callsign,cflag,char(0)
1100 format(i2.2,':',i2.2,':',i2.2,i7,i3,i6,2f10.3,2f7.1,2x,a6,2x,a1,a1)
return
900 return
end subroutine freqcal

View File

@ -1088,7 +1088,7 @@ void MainWindow::fixStop()
m_hsymStop=179;
if(m_config.decode_at_52s()) m_hsymStop=186;
} else if (m_mode=="FreqCal"){
m_hsymStop=100;
m_hsymStop=96;
}
}
@ -1145,12 +1145,25 @@ void MainWindow::dataSink(qint64 frames)
int nkhz=(m_freqNominal+m_RxFreq)/1000;
freqcal_(&dec_data.d2[0],&k,&nkhz,&m_RxFreq,&m_Ftol,&line[0],80);
QString t=QString::fromLatin1(line);
DecodedText decodedtext;
decodedtext=t;
ui->decodedTextBrowser->displayDecodedText (decodedtext,m_baseCall,m_config.DXCC(),
m_logBook,m_config.color_CQ(),m_config.color_MyCall(),m_config.color_DXCC(),
m_config.color_NewCall());
// Append results text to file "fmt.all".
QFile f {m_dataDir.absoluteFilePath ("fmt.all")};
if (f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
QTextStream out(&f);
out << t << endl;
f.close();
} else {
MessageBox::warning_message (this, tr ("File Open Error")
, tr ("Cannot open \"%1\" for append: %2")
.arg (f.fileName ()).arg (f.errorString ()));
}
if(m_ihsym==96) {
on_actionFrequency_calibration_triggered();
}
}
if(m_ihsym==3*m_hsymStop/4) {
@ -4542,8 +4555,9 @@ void MainWindow::on_actionFreqCal_triggered()
m_nsps=6912; //For symspec only
m_FFTSize = m_nsps / 2;
Q_EMIT FFTSize (m_FFTSize);
m_hsymStop=100;
m_hsymStop=96;
ui->RxFreqSpinBox->setValue(1500);
m_RxFreq=1500;
setup_status_bar (true);
// 18:15:47 0 1 1500 1550.349 0.100 3.5 10.2
ui->decodedTextLabel->setText(" UTC Freq CAL Offset fMeas DF Level S/N");