Add user option for Auto_Clear_Avg after a decode.

This commit is contained in:
Joe Taylor 2021-01-15 14:12:52 -05:00
parent ada5a60124
commit 1f9eeb52cc
6 changed files with 76 additions and 53 deletions

View File

@ -3,37 +3,38 @@ Data: 30A_K1JT_6m_Ionoscatter (62 files, DT 0.1 to 0.4)
Message: "K1JT K9AN R-16"
RxFreq: 1000/10
Commit No AP MyCall BothCalls
Commit No_AP MyCall BothCalls
-----------------------------------
ef4787: 3 10 6 14 30 33
ada5a6: 3 6 6 10 29 36
Mode: Q65-30A
Data: 30A_N0AN_6m_Ionoscatter (69 files, DT=0 to 0.1)
Message: "N0AN K1JT -19"
RxFreq: 1500/10
Commit No AP MyCall BothCalls
Commit No_AP MyCall BothCalls
-----------------------------------
ef4787: 7 14 16 22 38 40
70a348: 38 43
ada5a6: 10 17 11 23 40 46
Mode: Q65-60B
Data: 60B_1296_Troposcatter (75 files)
Message: "VK7MO VK7PD QE38"
RxFreq: 1000/10
Commit No AP MyCall BothCalls
Commit No_AP MyCall BothCalls
-----------------------------------
ef4787: 1 2 11 23 64 67
ada5a6: 1 5 14 28 64 67
Mode: Q65-60D
Data: MsgAvg (22 files, simulated fDop = 50 Hz)
Message: "K1ABC W9XYZ EN37"
RxFreq: 1000/10
Commit No AP MyCall BothCalls
Commit No_AP MyCall BothCalls
-----------------------------------
ef4787: 0 10 21 21 22 22
@ -44,6 +45,6 @@ Message: "VK7MO VK3WE QF32"
RxFreq: 1200/20
Requires nsmo=1 ###
Commit No AP MyCall BothCalls
Commit No_AP MyCall BothCalls
-----------------------------------
ef4787: 1 16 24 28 39 39

View File

@ -1,28 +1,28 @@
Here are the "displayWidgets()" strings for WSJT-X modes
1 2 3
012345678901234567890123456789012345
0123456789012345678901234567890123456
------------------------------------------------
JT4 111010000000110000110000000000000000
JT4/VHF 111110010010110110111100000000000000
JT9 111010000000111000010000000000001000
JT9/VHF 111110101000111110010000000000000000
JT9+JT65 111010000001111000010000000000001000
JT65 111010000000111000010000000000001000
JT65/VHF 111110010000110110101100010000000000
QRA64 111110010110110110000000001000000000
Q65 111111010110110100111000001100000000
ISCAT 100111000000000110000000000000000000
MSK144 101111110100000000010001000000000000
WSPR 000000000000000001010000000000000000
FST4 111111000100111000010000000100000011
FST4W 000000000000000001010000000000000100
Echo 000000000000000000000010000000000000
FCal 001101000000000000000000000001000000
FT8 111010000100111000010000100110001000
FT8/VHF 111010000100111000010000100110001000
FT8/Fox 111010000100111000010000000000100000
FT8/Hound 111010000100111000010000000000110000
JT4 1110100000001100001100000000000000000
JT4/VHF 1111100100101101101111000000000000000
JT9 1110100000001110000100000000000010000
JT9/VHF 1111101010001111100100000000000000000
JT9+JT65 1110100000011110000100000000000010000
JT65 1110100000001110000100000000000010000
JT65/VHF 1111100100001101101011000100000000000
QRA64 1111100101101101100000000010000000000
Q65 1111110101101101001110000011000000001
ISCAT 1001110000000001100000000000000000000
MSK144 1011111101000000000100010000000000000
WSPR 0000000000000000010100000000000000000
FST4 1111110001001110000100000001000000110
FST4W 0000000000000000010100000000000001000
Echo 0000000000000000000000100000000000000
FCal 0011010000000000000000000000010000000
FT8 1110100001001110000100001001100010000
FT8/VHF 1110100001001110000100001001100010000
FT8/Fox 1110100001001110000100000000001000000
FT8/Hound 1110100001001110000100000000001100000
----------------------------------------------
1 2 3
012345678901234567890123456789012
@ -66,3 +66,4 @@ Mapping of column numbers to widgets
33. sbTR_FST4W
34. sbF_Low
35. sbF_High
36. AutoClrAvg

View File

@ -205,7 +205,7 @@ contains
call unpack77(c77,0,decoded,unpk77_success) !Unpack to get msgsent
nsnr=nint(snr2)
call this%callback(nutc,snr1,nsnr,xdt1,f1,decoded,idec,nused,ntrperiod)
call q65_clravg !Automatic ClrAvg after a decode
if(iand(ndepth,128).ne.0) call q65_clravg !AutoClrAvg after decode
else
! Report snr1, even if no decode.
nsnr=db(snr1) - 35.0

View File

@ -214,7 +214,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 {36};
constexpr int N_WIDGETS {37};
constexpr int default_rx_audio_buffer_frames {-1}; // lets Qt decide
constexpr int default_tx_audio_buffer_frames {-1}; // lets Qt decide
@ -987,6 +987,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
ui->actionInclude_averaging->setChecked(m_ndepth&16);
ui->actionInclude_correlation->setChecked(m_ndepth&32);
ui->actionEnable_AP_DXcall->setChecked(m_ndepth&64);
ui->actionAuto_Clear_Avg->setChecked(m_ndepth&128);
m_UTCdisk=-1;
m_fCPUmskrtd=0.0;
@ -1185,6 +1186,7 @@ void MainWindow::writeSettings()
m_settings->setValue("pwrBandTuneMemory",m_pwrBandTuneMemory);
m_settings->setValue ("FT8AP", ui->actionEnable_AP_FT8->isChecked ());
m_settings->setValue ("JT65AP", ui->actionEnable_AP_JT65->isChecked ());
m_settings->setValue ("AutoClearAvg", ui->actionAuto_Clear_Avg->isChecked ());
m_settings->setValue("SplitterState",ui->decodes_splitter->saveState());
m_settings->setValue("Blanker",ui->sbNB->value());
@ -1297,6 +1299,7 @@ void MainWindow::readSettings()
m_pwrBandTuneMemory=m_settings->value("pwrBandTuneMemory").toHash();
ui->actionEnable_AP_FT8->setChecked (m_settings->value ("FT8AP", false).toBool());
ui->actionEnable_AP_JT65->setChecked (m_settings->value ("JT65AP", false).toBool());
ui->actionAuto_Clear_Avg->setChecked (m_settings->value ("AutoClearAvg", false).toBool());
ui->decodes_splitter->restoreState(m_settings->value("SplitterState").toByteArray());
ui->sbNB->setValue(m_settings->value("Blanker",0).toInt());
{
@ -1896,6 +1899,7 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
ui->actionInclude_averaging->setChecked(false);
ui->actionInclude_correlation->setChecked(false);
ui->actionEnable_AP_JT65->setVisible(false);
ui->actionAuto_Clear_Avg->setVisible(false);
}
if(m_config.special_op_id()!=nContest0) ui->tx1->setEnabled(true);
chkFT4();
@ -3102,6 +3106,7 @@ void MainWindow::decode() //decode()
if (!ui->actionInclude_averaging->isVisible ()) depth &= ~16;
if (!ui->actionInclude_correlation->isVisible ()) depth &= ~32;
if (!ui->actionEnable_AP_DXcall->isVisible ()) depth &= ~64;
if (!ui->actionAuto_Clear_Avg->isVisible()) depth &= ~128;
dec_data.params.ndepth=depth;
dec_data.params.n2pass=1;
if(m_config.twoPass()) dec_data.params.n2pass=2;
@ -5988,6 +5993,7 @@ void MainWindow::displayWidgets(qint64 n)
ui->sbF_Low->setVisible(b);
}
if(i==35) ui->sbF_High->setVisible(b);
if(i==36) ui->actionAuto_Clear_Avg->setVisible (b);
j=j>>1;
}
ui->pbBestSP->setVisible(m_mode=="FT4");
@ -6021,11 +6027,11 @@ void MainWindow::on_actionFST4_triggered()
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
WSPR_config(false);
if(m_config.single_decode()) {
// 012345678901234567890123456789012345
displayWidgets(nWidgets("111111000100111000010000000100000000"));
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("1111110001001110000100000001000000000"));
m_wideGraph->setSingleDecode(true);
} else {
displayWidgets(nWidgets("111011000100111000010000000100000011"));
displayWidgets(nWidgets("1110110001001110000100000001000000110"));
m_wideGraph->setSingleDecode(false);
ui->sbFtol->setValue(20);
}
@ -6061,8 +6067,8 @@ void MainWindow::on_actionFST4W_triggered()
m_FFTSize = m_nsps / 2;
Q_EMIT FFTSize(m_FFTSize);
WSPR_config(true);
// 012345678901234567890123456789012345
displayWidgets(nWidgets("000000000000000001010000000000000100"));
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("0000000000000000010100000000000001000"));
setup_status_bar(false);
ui->band_hopping_group_box->setChecked(false);
ui->band_hopping_group_box->setVisible(false);
@ -6110,7 +6116,7 @@ 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("111010000100111000010000000110001000"));
displayWidgets(nWidgets("1110100001001110000100000001100010000"));
ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true);
ui->txrb5->setEnabled(true);
@ -6159,7 +6165,7 @@ 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("111010000100111000010000100110001000"));
displayWidgets(nWidgets("1110100001001110000100001001100010000"));
ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true);
ui->txrb5->setEnabled(true);
@ -6177,7 +6183,7 @@ void MainWindow::on_actionFT8_triggered()
ui->cbAutoSeq->setEnabled(false);
ui->tabWidget->setCurrentIndex(1);
ui->TxFreqSpinBox->setValue(300);
displayWidgets(nWidgets("111010000100111000010000000000100000"));
displayWidgets(nWidgets("1110100001001110000100000000001000000"));
ui->labDXped->setText(tr ("Fox"));
on_fox_log_action_triggered();
}
@ -6187,7 +6193,7 @@ void MainWindow::on_actionFT8_triggered()
ui->cbAutoSeq->setEnabled(false);
ui->tabWidget->setCurrentIndex(0);
ui->cbHoldTxFreq->setChecked(true);
displayWidgets(nWidgets("111010000100110000010000000000110000"));
displayWidgets(nWidgets("1110100001001100000100000000001100000"));
ui->labDXped->setText(tr ("Hound"));
ui->txrb1->setChecked(true);
ui->txrb2->setEnabled(false);
@ -6262,9 +6268,9 @@ void MainWindow::on_actionJT4_triggered()
ui->sbSubmode->setValue(0);
}
if(bVHF) {
displayWidgets(nWidgets("111110010010110110111100000000000000"));
displayWidgets(nWidgets("1111100100101101101111000000000000000"));
} else {
displayWidgets(nWidgets("111010000000110000110000000000000000"));
displayWidgets(nWidgets("1110100000001100001100000000000000000"));
}
fast_config(false);
statusChanged();
@ -6321,9 +6327,9 @@ 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("111110101000111110010000000000000000"));
displayWidgets(nWidgets("1111101010001111100100000000000000000"));
} else {
displayWidgets(nWidgets("111010000000111000010000000000001000"));
displayWidgets(nWidgets("1110100000001110000100000000000010000"));
}
fast_config(m_bFastMode);
ui->cbAutoSeq->setVisible(m_bFast9);
@ -6369,9 +6375,9 @@ void MainWindow::on_actionJT65_triggered()
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
}
if(bVHF) {
displayWidgets(nWidgets("111110010000110110101100010000000000"));
displayWidgets(nWidgets("1111100100001101101011000100000000000"));
} else {
displayWidgets(nWidgets("111010000000111000010000000000001000"));
displayWidgets(nWidgets("1110100000001110000100000000000010000"));
}
fast_config(false);
if(ui->cbShMsgs->isChecked()) {
@ -6409,8 +6415,8 @@ void MainWindow::on_actionQ65_triggered()
m_wideGraph->setRxFreq(ui->RxFreqSpinBox->value());
m_wideGraph->setTxFreq(ui->TxFreqSpinBox->value());
switch_mode (Modes::Q65);
// 012345678901234567890123456789012345
displayWidgets(nWidgets("111111010110110100111000000100000000"));
// 0123456789012345678901234567890123456
displayWidgets(nWidgets("1111110101101101001110000001000000001"));
ui->lh_decodes_title_label->setText(tr ("Single-Period Decodes"));
ui->rh_decodes_title_label->setText(tr ("Average Decodes"));
ui->lh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
@ -6449,7 +6455,7 @@ void MainWindow::on_actionISCAT_triggered()
ui->sbSubmode->setMaximum(1);
if(m_nSubMode==0) ui->TxFreqSpinBox->setValue(1012);
if(m_nSubMode==1) ui->TxFreqSpinBox->setValue(560);
displayWidgets(nWidgets("100111000000000110000000000000000000"));
displayWidgets(nWidgets("1001110000000001100000000000000000000"));
fast_config(true);
statusChanged ();
}
@ -6510,7 +6516,7 @@ void MainWindow::on_actionMSK144_triggered()
ui->rptSpinBox->setValue(0);
ui->rptSpinBox->setSingleStep(1);
ui->sbFtol->values ({20, 50, 100, 200});
displayWidgets(nWidgets("101111110100000000010001000010000000"));
displayWidgets(nWidgets("1011111101000000000100010000100000000"));
fast_config(m_bFastMode);
statusChanged();
@ -6550,7 +6556,7 @@ void MainWindow::on_actionWSPR_triggered()
m_bFastMode=false;
m_bFast9=false;
ui->TxFreqSpinBox->setValue(ui->WSPRfreqSpinBox->value());
displayWidgets(nWidgets("000000000000000001010000000000000000"));
displayWidgets(nWidgets("0000000000000000010100000000000000000"));
fast_config(false);
statusChanged();
}
@ -6583,7 +6589,7 @@ 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("000000000000000000000010000000000000"));
displayWidgets(nWidgets("0000000000000000000000100000000000000"));
fast_config(false);
statusChanged();
}
@ -6609,7 +6615,7 @@ 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("001101000000000000000000000001000000"));
displayWidgets(nWidgets("0011010000000000000000000000010000000"));
statusChanged();
}
@ -6776,6 +6782,11 @@ void MainWindow::on_actionEnable_AP_DXcall_toggled (bool checked)
m_ndepth ^= (-checked ^ m_ndepth) & 0x00000040;
}
void MainWindow::on_actionAuto_Clear_Avg_toggled (bool checked)
{
m_ndepth ^= (-checked ^ m_ndepth) & 0x00000080;
}
void MainWindow::on_actionErase_ALL_TXT_triggered() //Erase ALL.TXT
{
int ret = MessageBox::query_message (this, tr ("Confirm Erase"),

View File

@ -264,6 +264,7 @@ private slots:
void on_actionInclude_averaging_toggled (bool);
void on_actionInclude_correlation_toggled (bool);
void on_actionEnable_AP_DXcall_toggled (bool);
void on_actionAuto_Clear_Avg_toggled (bool);
void VHF_features_enabled(bool b);
void on_sbSubmode_valueChanged(int n);
void on_cbShMsgs_toggled(bool b);

View File

@ -2853,6 +2853,7 @@ Double-click to reset to the standard 73 message</string>
<addaction name="actionEnable_AP_FT8"/>
<addaction name="actionEnable_AP_JT65"/>
<addaction name="actionEnable_AP_DXcall"/>
<addaction name="actionAuto_Clear_Avg"/>
</widget>
<widget class="QMenu" name="menuSave">
<property name="title">
@ -3396,6 +3397,14 @@ Double-click to reset to the standard 73 message</string>
<string>Quick-Start Guide to Q65</string>
</property>
</action>
<action name="actionAuto_Clear_Avg">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Auto Clear Avg after decode</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>