Allow FTol values down to 1 Hz; let maximum FTol values for FST4 depend on TRperiod.

This commit is contained in:
Joe Taylor 2020-09-10 13:33:33 -04:00
parent 048348107f
commit b6f990fac2
3 changed files with 19 additions and 3 deletions

View File

@ -4210,9 +4210,10 @@ void MainWindow::guiUpdate()
} }
} }
//Once per second: //Once per second (onesec)
if(nsec != m_sec0) { if(nsec != m_sec0) {
// qDebug() << "AAA" << nsec; // qDebug() << "AAA" << nsec;
if(m_mode=="FST4") sbFtolMaxVal();
m_currentBand=m_config.bands()->find(m_freqNominal); m_currentBand=m_config.bands()->find(m_freqNominal);
if( SpecOp::HOUND == m_config.special_op_id() ) { if( SpecOp::HOUND == m_config.special_op_id() ) {
qint32 tHound=QDateTime::currentMSecsSinceEpoch()/1000 - m_tAutoOn; qint32 tHound=QDateTime::currentMSecsSinceEpoch()/1000 - m_tAutoOn;
@ -5891,6 +5892,7 @@ void MainWindow::on_actionFST4_triggered()
setup_status_bar(false); setup_status_bar(false);
ui->sbTR->values ({15, 30, 60, 120, 300, 900, 1800}); ui->sbTR->values ({15, 30, 60, 120, 300, 900, 1800});
on_sbTR_valueChanged (ui->sbTR->value()); on_sbTR_valueChanged (ui->sbTR->value());
sbFtolMaxVal();
ui->cbAutoSeq->setChecked(true); ui->cbAutoSeq->setChecked(true);
m_wideGraph->setMode(m_mode); m_wideGraph->setMode(m_mode);
m_wideGraph->setModeTx(m_modeTx); m_wideGraph->setModeTx(m_modeTx);
@ -6504,7 +6506,8 @@ void MainWindow::switch_mode (Mode mode)
ui->rptSpinBox->setSingleStep(1); ui->rptSpinBox->setSingleStep(1);
ui->rptSpinBox->setMinimum(-50); ui->rptSpinBox->setMinimum(-50);
ui->rptSpinBox->setMaximum(49); ui->rptSpinBox->setMaximum(49);
ui->sbFtol->values ({10, 20, 50, 100, 200, 500, 1000}); ui->sbFtol->values ({1, 2, 5, 10, 20, 50, 100, 200, 500, 1000});
ui->sbFST4W_FTol->values({1, 2, 5, 10, 20, 50, 100});
if(m_mode=="MSK144") { if(m_mode=="MSK144") {
ui->RxFreqSpinBox->setMinimum(1400); ui->RxFreqSpinBox->setMinimum(1400);
ui->RxFreqSpinBox->setMaximum(1600); ui->RxFreqSpinBox->setMaximum(1600);
@ -7439,6 +7442,7 @@ void MainWindow::on_sbTR_valueChanged(int value)
m_wideGraph->setPeriod (value, m_nsps); m_wideGraph->setPeriod (value, m_nsps);
progressBar.setMaximum (value); progressBar.setMaximum (value);
} }
if(m_mode=="FST4") sbFtolMaxVal();
if(m_monitoring) { if(m_monitoring) {
on_stopButton_clicked(); on_stopButton_clicked();
on_monitorButton_clicked(true); on_monitorButton_clicked(true);
@ -7449,6 +7453,14 @@ void MainWindow::on_sbTR_valueChanged(int value)
statusUpdate (); statusUpdate ();
} }
void MainWindow::sbFtolMaxVal()
{
if(m_TRperiod<=60) ui->sbFtol->setMaximum(1000);
if(m_TRperiod==120) ui->sbFtol->setMaximum(500);
if(m_TRperiod==300) ui->sbFtol->setMaximum(200);
if(m_TRperiod>=900) ui->sbFtol->setMaximum(100);
}
void MainWindow::on_sbTR_FST4W_valueChanged(int value) void MainWindow::on_sbTR_FST4W_valueChanged(int value)
{ {
on_sbTR_valueChanged(value); on_sbTR_valueChanged(value);
@ -7928,6 +7940,9 @@ void MainWindow::on_sbFST4W_RxFreq_valueChanged(int n)
void MainWindow::on_sbFST4W_FTol_valueChanged(int n) void MainWindow::on_sbFST4W_FTol_valueChanged(int n)
{ {
int m=(ui->sbFST4W_RxFreq->value() + n/2)/n;
ui->sbFST4W_RxFreq->setValue(n*m);
ui->sbFST4W_RxFreq->setSingleStep(n);
m_wideGraph->setTol(n); m_wideGraph->setTol(n);
statusUpdate (); statusUpdate ();
} }

View File

@ -312,6 +312,7 @@ private slots:
void on_pbBestSP_clicked(); void on_pbBestSP_clicked();
void on_RoundRobin_currentTextChanged(QString text); void on_RoundRobin_currentTextChanged(QString text);
void setTxMsg(int n); void setTxMsg(int n);
void sbFtolMaxVal();
bool stdCall(QString const& w); bool stdCall(QString const& w);
void remote_configure (QString const& mode, quint32 frequency_tolerance, QString const& submode void remote_configure (QString const& mode, quint32 frequency_tolerance, QString const& submode
, bool fast_mode, quint32 tr_period, quint32 rx_df, QString const& dx_call , bool fast_mode, quint32 tr_period, quint32 rx_df, QString const& dx_call

View File

@ -1919,7 +1919,7 @@ list. The list can be maintained in Settings (F2).</string>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="sbFST4W_FTol"> <widget class="HintedSpinBox" name="sbFST4W_FTol">
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>