FST4 GUI controls for FLow, FHigh, should disappear when Single Decode is checked. And some related improvements.

This commit is contained in:
Joe Taylor 2020-09-16 20:16:32 -04:00
parent facd80dbf4
commit e60fc1ca19
5 changed files with 41 additions and 7 deletions

View File

@ -3077,8 +3077,13 @@ void MainWindow::decode() //decode()
}
if(m_mode=="FST4") {
dec_data.params.ntol=ui->sbFtol->value();
dec_data.params.nfa=ui->sbF_Low->value();
dec_data.params.nfb=ui->sbF_High->value();
if(m_config.single_decode()) {
dec_data.params.nfa=m_wideGraph->rxFreq() - ui->sbFtol->value();
dec_data.params.nfb=m_wideGraph->rxFreq() + ui->sbFtol->value();
} else {
dec_data.params.nfa=ui->sbF_Low->value();
dec_data.params.nfb=ui->sbF_High->value();
}
}
if(m_mode=="FST4W") dec_data.params.ntol=ui->sbFST4W_FTol->value();
if(dec_data.params.nutc < m_nutc0) m_RxLog = 1; //Date and Time to file "ALL.TXT".
@ -5916,8 +5921,14 @@ void MainWindow::on_actionFST4_triggered()
ui->label_6->setText(tr ("Band Activity"));
ui->label_7->setText(tr ("Rx Frequency"));
WSPR_config(false);
// 012345678901234567890123456789012345
displayWidgets(nWidgets("111111000100111000010000000100000011"));
if(m_config.single_decode()) {
// 012345678901234567890123456789012345
displayWidgets(nWidgets("111111000100111000010000000100000000"));
m_wideGraph->setSingleDecode(true);
} else {
displayWidgets(nWidgets("111111000100111000010000000100000011"));
m_wideGraph->setSingleDecode(false);
}
setup_status_bar(false);
ui->sbTR->values ({15, 30, 60, 120, 300, 900, 1800});
on_sbTR_valueChanged (ui->sbTR->value());
@ -6649,6 +6660,13 @@ void MainWindow::on_sbF_High_valueChanged(int n)
void MainWindow::chk_FST4_freq_range()
{
// qDebug() << "aa" << m_wideGraph->nStartFreq() << m_wideGraph->Fmax()
// << ui->sbF_Low->value() << ui->sbF_High->value();
if(ui->sbF_Low->value() < m_wideGraph->nStartFreq()) ui->sbF_Low->setValue(m_wideGraph->nStartFreq());
if(ui->sbF_High->value() > m_wideGraph->Fmax()) {
int n=m_wideGraph->Fmax()/100;
ui->sbF_High->setValue(100*n);
}
int maxDiff=2000;
if(m_TRperiod==120) maxDiff=1000;
if(m_TRperiod==300) maxDiff=400;

View File

@ -163,7 +163,6 @@ void CPlotter::draw(float swide[], bool bScroll, bool bRed)
int iz=XfromFreq(5000.0);
int jz=iz*m_binsPerPixel;
m_fMax=FreqfromX(iz);
if(bScroll and swide[0]<1.e29) {
flat4_(swide,&iz,&m_Flatten);
if(!m_bReplot) flat4_(&dec_data.savg[j0],&jz,&m_Flatten);
@ -506,7 +505,7 @@ void CPlotter::DrawOverlay() //DrawOverlay()
or m_mode=="QRA64" or m_mode=="FT8" or m_mode=="FT4"
or m_mode.startsWith("FST4")) {
if(m_mode=="FST4") {
if(m_mode=="FST4" and !m_bSingleDecode) {
x1=XfromFreq(m_nfa);
x2=XfromFreq(m_nfb);
painter0.drawLine(x1,25,x1+5,30); // Mark FST4 F_Low
@ -663,7 +662,9 @@ void CPlotter::setPlot2dZero(int plot2dZero) //setPlot2dZero
void CPlotter::setStartFreq(int f) //SetStartFreq()
{
m_startFreq=f;
m_fMax=FreqfromX(XfromFreq(5000.0));
resizeEvent(NULL);
DrawOverlay();
update();
}
@ -684,6 +685,7 @@ void CPlotter::setRxRange(int fMin) //setRxRange
void CPlotter::setBinsPerPixel(int n) //setBinsPerPixel
{
m_binsPerPixel = n;
m_fMax=FreqfromX(XfromFreq(5000.0));
DrawOverlay(); //Redraw scales and ticks
update(); //trigger a new paintEvent}
}
@ -824,8 +826,15 @@ void CPlotter::setFST4_FreqRange(int fLow,int fHigh)
m_nfa=fLow;
m_nfb=fHigh;
DrawOverlay();
update();
}
void CPlotter::setSingleDecode(bool b)
{
m_bSingleDecode=b;
}
void CPlotter::setColours(QVector<QColor> const& cl)
{
g_ColorTbl = cl;

View File

@ -84,7 +84,7 @@ public:
void setVHF(bool bVHF);
void setRedFile(QString fRed);
void setFST4_FreqRange(int fLow,int fHigh);
void setSingleDecode(bool b);
bool scaleOK () const {return m_bScaleOK;}
signals:
@ -114,6 +114,7 @@ private:
bool m_bReference;
bool m_bReference0;
bool m_bVHF;
bool m_bSingleDecode;
float m_fSpan;

View File

@ -505,6 +505,11 @@ void WideGraph::setFST4_FreqRange(int fLow,int fHigh)
ui->widePlot->setFST4_FreqRange(fLow,fHigh);
}
void WideGraph::setSingleDecode(bool b)
{
ui->widePlot->setSingleDecode(b);
}
void WideGraph::on_smoSpinBox_valueChanged(int n)
{
m_nsmo=n;

View File

@ -50,6 +50,7 @@ public:
void setVHF(bool bVHF);
void setRedFile(QString fRed);
void setFST4_FreqRange(int fLow,int fHigh);
void setSingleDecode(bool b);
signals:
void freezeDecode2(int n);