Add GUI controls to set max_drift in both WSJT-X and MAP65.

This commit is contained in:
Joe Taylor
2021-05-30 12:07:48 -04:00
parent 5817a1e946
commit 2e53a8a47d
17 changed files with 120 additions and 74 deletions
+37 -22
View File
@@ -212,7 +212,7 @@ namespace
// grid exact match excluding RR73
QRegularExpression grid_regexp {"\\A(?![Rr]{2}73)[A-Ra-r]{2}[0-9]{2}([A-Xa-x]{2}){0,1}\\z"};
auto quint32_max = std::numeric_limits<quint32>::max ();
constexpr int N_WIDGETS {37};
constexpr int N_WIDGETS {38};
constexpr int default_rx_audio_buffer_frames {-1}; // lets Qt decide
constexpr int default_tx_audio_buffer_frames {-1}; // lets Qt decide
@@ -1174,6 +1174,7 @@ void MainWindow::writeSettings()
m_settings->setValue("NoOwnCall",ui->cbNoOwnCall->isChecked());
m_settings->setValue ("BandHopping", ui->band_hopping_group_box->isChecked ());
m_settings->setValue ("TRPeriod", ui->sbTR->value ());
m_settings->setValue ("MaxDrift", ui->sbMaxDrift->value());
m_settings->setValue ("TRPeriod_FST4W", ui->sbTR_FST4W->value ());
m_settings->setValue("FastMode",m_bFastMode);
m_settings->setValue("Fast9",m_bFast9);
@@ -1260,6 +1261,7 @@ void MainWindow::readSettings()
m_bFast9=m_settings->value("Fast9",false).toBool();
m_bFastMode=m_settings->value("FastMode",false).toBool();
ui->sbTR->setValue (m_settings->value ("TRPeriod", 15).toInt());
ui->sbMaxDrift->setValue (m_settings->value ("MaxDrift",0).toInt());
ui->sbTR_FST4W->setValue (m_settings->value ("TRPeriod_FST4W", 15).toInt());
m_lastMonitoredFrequency = m_settings->value ("DialFreq",
QVariant::fromValue<Frequency> (default_frequency)).value<Frequency> ();
@@ -3172,6 +3174,7 @@ void MainWindow::decode() //decode()
if(m_config.single_decode()) dec_data.params.nexp_decode += 32;
if(m_config.enable_VHF_features()) dec_data.params.nexp_decode += 64;
if(m_mode.startsWith("FST4")) dec_data.params.nexp_decode += 256*(ui->sbNB->value()+3);
dec_data.params.max_drift=ui->sbMaxDrift->value();
::memcpy(dec_data.params.datetime, m_dateTime.toLatin1()+" ", sizeof dec_data.params.datetime);
::memcpy(dec_data.params.mycall, (m_config.my_callsign()+" ").toLatin1(), sizeof dec_data.params.mycall);
@@ -6058,6 +6061,7 @@ void MainWindow::displayWidgets(qint64 n)
}
if(i==35) ui->sbF_High->setVisible(b);
if(i==36) ui->actionAuto_Clear_Avg->setVisible (b);
if(i==37) ui->sbMaxDrift->setVisible(b);
j=j>>1;
}
ui->pbBestSP->setVisible(m_mode=="FT4");
@@ -6091,11 +6095,11 @@ void MainWindow::on_actionFST4_triggered()
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
WSPR_config(false);
if(m_config.single_decode()) {
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("1111110001001110000100000001000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111100010011100001000000010000000000"));
m_wideGraph->setSingleDecode(true);
} else {
displayWidgets(nWidgets("1110110001001110000100000001000000110"));
displayWidgets(nWidgets("11101100010011100001000000010000001100"));
m_wideGraph->setSingleDecode(false);
ui->sbFtol->setValue(20);
}
@@ -6131,8 +6135,8 @@ void MainWindow::on_actionFST4W_triggered()
m_FFTSize = m_nsps / 2;
Q_EMIT FFTSize(m_FFTSize);
WSPR_config(true);
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("0000000000000000010100000000000001000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("00000000000000000101000000000000010000"));
setup_status_bar(false);
ui->band_hopping_group_box->setChecked(false);
ui->band_hopping_group_box->setVisible(false);
@@ -6180,7 +6184,8 @@ void MainWindow::on_actionFT4_triggered()
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
ui->lh_decodes_title_label->setText(tr ("Band Activity"));
ui->lh_decodes_headings_label->setText( " UTC dB DT Freq " + tr ("Message"));
displayWidgets(nWidgets("1110100001001110000100000001100010000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011100001000000011000100000"));
ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true);
ui->txrb5->setEnabled(true);
@@ -6229,7 +6234,8 @@ void MainWindow::on_actionFT8_triggered()
ui->lh_decodes_title_label->setText(tr ("Band Activity"));
ui->lh_decodes_headings_label->setText( " UTC dB DT Freq " + tr ("Message"));
}
displayWidgets(nWidgets("1110100001001110000100001001100010000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011100001000010011000100000"));
ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true);
ui->txrb5->setEnabled(true);
@@ -6247,7 +6253,8 @@ void MainWindow::on_actionFT8_triggered()
ui->cbAutoSeq->setEnabled(false);
ui->tabWidget->setCurrentIndex(1);
ui->TxFreqSpinBox->setValue(300);
displayWidgets(nWidgets("1110100001001110000100000000001000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011100001000000000010000000"));
ui->labDXped->setText(tr ("Fox"));
on_fox_log_action_triggered();
}
@@ -6257,7 +6264,8 @@ void MainWindow::on_actionFT8_triggered()
ui->cbAutoSeq->setEnabled(false);
ui->tabWidget->setCurrentIndex(0);
ui->cbHoldTxFreq->setChecked(true);
displayWidgets(nWidgets("1110100001001100000100000000001100000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011000001000000000011000000"));
ui->labDXped->setText(tr ("Hound"));
ui->txrb1->setChecked(true);
ui->txrb2->setEnabled(false);
@@ -6332,9 +6340,10 @@ void MainWindow::on_actionJT4_triggered()
ui->sbSubmode->setValue(0);
}
if(bVHF) {
displayWidgets(nWidgets("1111100100101101101111000000000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111001001011011011110000000000000000"));
} else {
displayWidgets(nWidgets("1110100000001100001100000000000000000"));
displayWidgets(nWidgets("11101000000011000011000000000000000000"));
}
fast_config(false);
statusChanged();
@@ -6391,9 +6400,10 @@ void MainWindow::on_actionJT9_triggered()
ui->lh_decodes_title_label->setText(tr ("Band Activity"));
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
if(bVHF) {
displayWidgets(nWidgets("1111101010001111100100000000000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111010100011111001000000000000000000"));
} else {
displayWidgets(nWidgets("1110100000001110000100000000000010000"));
displayWidgets(nWidgets("11101000000011100001000000000000100000"));
}
fast_config(m_bFastMode);
ui->cbAutoSeq->setVisible(m_bFast9);
@@ -6439,9 +6449,10 @@ void MainWindow::on_actionJT65_triggered()
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
}
if(bVHF) {
displayWidgets(nWidgets("1111100100001101101011000100000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111001000011011010110001000000000000"));
} else {
displayWidgets(nWidgets("1110100000001110000100000000000010000"));
displayWidgets(nWidgets("11101000000011100001000000000000100000"));
}
fast_config(false);
if(ui->cbShMsgs->isChecked()) {
@@ -6476,8 +6487,8 @@ void MainWindow::on_actionQ65_triggered()
m_wideGraph->setRxFreq(ui->RxFreqSpinBox->value());
m_wideGraph->setTxFreq(ui->TxFreqSpinBox->value());
switch_mode (Modes::Q65);
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("1111110101101101001110000001000000001"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111101011011010011100000010000000011"));
ui->labDXped->setText("");
ui->lh_decodes_title_label->setText(tr ("Single-Period Decodes"));
ui->rh_decodes_title_label->setText(tr ("Average Decodes"));
@@ -6548,7 +6559,8 @@ void MainWindow::on_actionMSK144_triggered()
ui->rptSpinBox->setValue(0);
ui->rptSpinBox->setSingleStep(1);
ui->sbFtol->values ({20, 50, 100, 200});
displayWidgets(nWidgets("1011111101000000000100010000100000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("10111111010000000001000100001000000000"));
fast_config(m_bFastMode);
statusChanged();
@@ -6589,7 +6601,8 @@ void MainWindow::on_actionWSPR_triggered()
m_bFastMode=false;
m_bFast9=false;
ui->TxFreqSpinBox->setValue(ui->WSPRfreqSpinBox->value());
displayWidgets(nWidgets("0000000000000000010100000000000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("00000000000000000101000000000000000000"));
fast_config(false);
statusChanged();
}
@@ -6622,7 +6635,8 @@ void MainWindow::on_actionEcho_triggered()
m_bFast9=false;
WSPR_config(true);
ui->lh_decodes_headings_label->setText(" UTC N Level Sig DF Width Q");
displayWidgets(nWidgets("0000000000000000000000100000000000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("00000000000000000000001000000000000000"));
fast_config(false);
statusChanged();
}
@@ -6648,7 +6662,8 @@ void MainWindow::on_actionFreqCal_triggered()
// 18:15:47 0 1 1500 1550.349 0.100 3.5 10.2
ui->lh_decodes_headings_label->setText(" UTC Freq CAL Offset fMeas DF Level S/N");
ui->measure_check_box->setChecked (false);
displayWidgets(nWidgets("0011010000000000000000000000010000000"));
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("00110100000000000000000000000100000000"));
statusChanged();
}