diff --git a/about.cpp b/about.cpp
index d8b2c7dfb..5cab294c3 100644
--- a/about.cpp
+++ b/about.cpp
@@ -12,7 +12,7 @@ CAboutDlg::CAboutDlg(QWidget *parent, QString Revision) :
m_Str += "WSJT-X implements experimental mode JT9 for
";
m_Str += "Amateur Radio communication at HF, MF, and LF.
";
m_Str += "Copyright 2001-2013 by Joe Taylor, K1JT. Additional
";
- m_Str += "contributions from AC6SL, AE4JY, G4KLA, PY2SDR,
";
+ m_Str += "contributions from AC6SL, AE4JY, G4KLA, K3WYC, PY2SDR,
";
m_Str += "and VK4BDJ.
";
ui->labelTxt->setText(m_Str);
}
diff --git a/devsetup.cpp b/devsetup.cpp
index 57171346f..7acd4af20 100644
--- a/devsetup.cpp
+++ b/devsetup.cpp
@@ -381,8 +381,8 @@ void DevSetup::on_cbEnableCAT_toggled(bool b)
{
m_catEnabled=b;
enableWidgets();
- bool b2=(m_pttMethodIndex==1 or m_pttMethodIndex==2 or m_catEnabled) and
- !(m_pttMethodIndex==3);
+ bool b2=m_pttMethodIndex==0 and m_catEnabled;
+ b2=b2 or ((m_pttMethodIndex==1 or m_pttMethodIndex==2) and m_pttPort!=0);
ui.testPTTButton->setEnabled(b2);
}
@@ -424,6 +424,26 @@ void DevSetup::on_cbID73_toggled(bool checked)
}
void DevSetup::on_testCATButton_clicked()
+{
+ openRig();
+ if(!m_catEnabled) return;
+ QString t;
+ double fMHz=rig->getFreq(RIG_VFO_CURR)/1000000.0;
+ if(fMHz>0.0) {
+ t.sprintf("Rig control appears to be working.\nDial Frequency: %.6f MHz",
+ fMHz);
+ } else {
+ t.sprintf("Rig control error %d\nFailed to read frequency.",
+ int(1000000.0*fMHz));
+ if(m_poll>0) {
+ m_catEnabled=false;
+ ui.cbEnableCAT->setChecked(false);
+ }
+ }
+ msgBox(t);
+}
+
+void DevSetup::openRig()
{
QString t;
int ret;
@@ -440,6 +460,7 @@ void DevSetup::on_testCATButton_clicked()
if(m_rig<9900) {
if (!rig->init(m_rig)) {
msgBox("Rig init failure");
+ m_catEnabled=false;
return;
}
QString sCATport=m_catPort;
@@ -471,32 +492,17 @@ void DevSetup::on_testCATButton_clicked()
ui.cbEnableCAT->setChecked(false);
return;
}
-
- double fMHz=rig->getFreq(RIG_VFO_CURR)/1000000.0;
- if(fMHz>0.0) {
- t.sprintf("Rig control appears to be working.\nDial Frequency: %.6f MHz",
- fMHz);
- } else {
- t.sprintf("Rig control error %d\nFailed to read frequency.",
- int(1000000.0*fMHz));
- if(m_poll>0) {
- m_catEnabled=false;
- ui.cbEnableCAT->setChecked(false);
- }
- }
- msgBox(t);
}
void DevSetup::on_testPTTButton_clicked()
{
m_test=1-m_test;
if(m_pttMethodIndex==1 or m_pttMethodIndex==2) {
-// qDebug() << "devsetup line 492:" << m_pttPort << m_test << &g2_iptt << &g2_COMportOpen;
ptt(m_pttPort,m_test,&g2_iptt,&g2_COMportOpen);
-// qDebug() << "devsetup line 494:" << m_pttPort << m_test << &g2_iptt << &g2_COMportOpen;
}
if(m_pttMethodIndex==0 and !m_bRigOpen) {
- on_testCATButton_clicked();
+// on_testCATButton_clicked();
+ openRig();
}
if(m_pttMethodIndex==0 and m_bRigOpen) {
if(m_test==0) rig->setPTT(RIG_PTT_OFF, RIG_VFO_CURR);
@@ -525,6 +531,7 @@ void DevSetup::on_pollSpinBox_valueChanged(int n)
void DevSetup::on_pttComboBox_currentIndexChanged(int index)
{
m_pttPort=index;
+ enableWidgets();
}
void DevSetup::on_pttMethodComboBox_currentIndexChanged(int index)
@@ -566,10 +573,10 @@ void DevSetup::enableWidgets()
ui.pollSpinBox->setEnabled(m_catEnabled);
bool b1=(m_pttMethodIndex==1 or m_pttMethodIndex==2);
ui.pttComboBox->setEnabled(b1);
+ b1=b1 and (m_pttPort!=0);
bool b2 = (m_catEnabled and m_pttMethodIndex==1 and m_rig<9900) or
(m_catEnabled and m_pttMethodIndex==2 and m_rig<9900);
bool b3 = (m_catEnabled and m_pttMethodIndex==0 and m_rig>=9900);
-// ui.testPTTButton->setEnabled(b1 or b2);
ui.testPTTButton->setEnabled(b1 or b2 or b3); //Include PTT via HRD or Commander
}
diff --git a/devsetup.h b/devsetup.h
index 392010498..f4834701d 100644
--- a/devsetup.h
+++ b/devsetup.h
@@ -101,6 +101,7 @@ private:
Rig* rig;
void msgBox(QString t);
void enableWidgets();
+ void openRig();
Ui::DialogSndCard ui;
};
diff --git a/lib/decoder.f90 b/lib/decoder.f90
index 9bda7b64b..68a33130e 100644
--- a/lib/decoder.f90
+++ b/lib/decoder.f90
@@ -81,11 +81,11 @@ subroutine decoder(ss,id2)
if(nqd.eq.1) then
limit=100000
- ccfok(ia:ib)=.true.
nfa1=nfqso-ntol
nfb1=nfqso+ntol
ia=max(1,nint((nfa1-nf0)/df3))
ib=min(NSMAX,nint((nfb1-nf0)/df3))
+ ccfok(ia:ib)=.true.
ia1=ia
ib1=ib
else
@@ -102,7 +102,8 @@ subroutine decoder(ss,id2)
fgood=0.
do i=ia,ib
f=(i-1)*df3
- if(done(i) .or. (.not.ccfok(i)) .or. (ccfred(i).lt.ccflim-1.0)) cycle
+ if(done(i) .or. (.not.ccfok(i)) .or. &
+ (nqd.eq.0 .and. (ccfred(i).lt.ccflim-1.0))) cycle
if(nqd.eq.1 .or. &
(ccfred(i).ge.ccflim .and. abs(f-fgood).gt.10.0*df8)) then
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 36407b33d..eca1d5046 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -513,8 +513,8 @@ void MainWindow::readSettings()
"PaletteBlue",false).toBool());
m_mode=settings.value("Mode","JT9").toString();
m_modeTx=settings.value("ModeTx","JT9").toString();
- if(m_mode=="JT9") ui->pbTxMode->setText("Tx JT9 @");
- if(m_mode=="JT65") ui->pbTxMode->setText("Tx JT65 #");
+ if(m_modeTx=="JT9") ui->pbTxMode->setText("Tx JT9 @");
+ if(m_modeTx=="JT65") ui->pbTxMode->setText("Tx JT65 #");
ui->actionNone->setChecked(settings.value("SaveNone",true).toBool());
ui->actionSave_decoded->setChecked(settings.value(
"SaveDecoded",false).toBool());
@@ -980,8 +980,7 @@ void MainWindow::statusChanged()
if(f.open(QFile::WriteOnly | QIODevice::Text)) {
QTextStream out(&f);
out << m_dialFreq << ";" << m_mode << ";" << m_hisCall << ";"
- << ui->rptSpinBox->value() << endl;
-// out << m_dialFreq << ";" << m_mode << ";" << m_hisCall << endl;
+ << ui->rptSpinBox->value() << m_modeTx << endl;
f.close();
} else {
msgBox("Cannot open file \"wsjtx_status.txt\".");
@@ -1629,7 +1628,7 @@ void MainWindow::guiUpdate()
f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append);
QTextStream out(&f);
out << QDateTime::currentDateTimeUtc().toString("hhmm")
- << " Transmitting " << m_dialFreq << " MHz " << m_mode
+ << " Transmitting " << m_dialFreq << " MHz " << m_modeTx
<< ": " << t << endl;
f.close();
if(m_tx2QSO) displayTxMsg(t);
@@ -1704,7 +1703,7 @@ void MainWindow::guiUpdate()
f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append);
QTextStream out(&f);
out << QDateTime::currentDateTimeUtc().toString("hhmm")
- << " Transmitting " << m_dialFreq << " MHz " << m_mode
+ << " Transmitting " << m_dialFreq << " MHz " << m_modeTx
<< ": " << t << endl;
f.close();
}
@@ -2004,12 +2003,12 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl)
if(t4.at(4)=="@") {
m_modeTx="JT9";
- ui->pbTxMode->setText("Tx JT9 @");
+ ui->pbTxMode->setText("Tx JT9 @");
g_pWideGraph->setModeTx(m_modeTx);
}
if(t4.at(4)=="#") {
m_modeTx="JT65";
- ui->pbTxMode->setText("Tx JT65 #");
+ ui->pbTxMode->setText("Tx JT65 #");
g_pWideGraph->setModeTx(m_modeTx);
}
QString firstcall=t4.at(5);
@@ -2107,6 +2106,19 @@ void MainWindow::genStdMsgs(QString rpt) //genStdMsgs()
{
QString hisCall=ui->dxCallEntry->text().toUpper().trimmed();
ui->dxCallEntry->setText(hisCall);
+ if(hisCall=="") {
+ ui->labAz->setText("");
+ ui->labDist->setText("");
+ ui->tx1->setText("");
+ ui->tx2->setText("");
+ ui->tx3->setText("");
+ ui->tx4->setText("");
+ ui->tx5->setText("");
+ ui->tx6->setText("");
+ ui->genMsg->setText("");
+ ui->freeTextMsg->setText("");
+ return;
+ }
QString hisBase=baseCall(hisCall);
QString myBase=baseCall(m_myCall);
QString t0=hisBase + " " + myBase + " ";
@@ -2359,7 +2371,19 @@ void MainWindow::on_dxCallEntry_textChanged(const QString &t) //dxCall changed
void MainWindow::on_dxGridEntry_textChanged(const QString &t) //dxGrid changed
{
int n=t.length();
- if(n!=4 and n!=6) return;
+ if(n!=4 and n!=6) {
+ ui->labAz->setText("");
+ ui->labDist->setText("");
+ ui->tx1->setText("");
+ ui->tx2->setText("");
+ ui->tx3->setText("");
+ ui->tx4->setText("");
+ ui->tx5->setText("");
+ ui->tx6->setText("");
+ ui->genMsg->setText("");
+ ui->freeTextMsg->setText("");
+ return;
+ }
if(!t[0].isLetter() or !t[1].isLetter()) return;
if(!t[2].isDigit() or !t[3].isDigit()) return;
if(n==4) m_hisGrid=t.mid(0,2).toUpper() + t.mid(2,2);
@@ -2652,6 +2676,9 @@ void MainWindow::on_bandComboBox_activated(int index)
m_dontReadFreq=true;
ret=rig->setFreq(MHz(m_dialFreq));
// ret=rig->setSplitFreq(MHz(m_dialFreq),RIG_VFO_B);
+ if(m_bSplit or m_bXIT) setXIT(m_txFreq);
+// ret=rig->setSplitFreq(MHz(m_dialFreq)+xit,RIG_VFO_B);
+
bumpFqso(11);
bumpFqso(12);
if(ret!=RIG_OK) {
@@ -2922,10 +2949,10 @@ void MainWindow::on_pbTxMode_clicked()
{
if(m_modeTx=="JT9") {
m_modeTx="JT65";
- ui->pbTxMode->setText("Tx JT65 #");
+ ui->pbTxMode->setText("Tx JT65 #");
} else {
m_modeTx="JT9";
- ui->pbTxMode->setText("Tx JT9 @");
+ ui->pbTxMode->setText("Tx JT9 @");
}
g_pWideGraph->setModeTx(m_modeTx);
}
diff --git a/mainwindow.ui b/mainwindow.ui
index f3509ec69..dac0b60e2 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -743,7 +743,7 @@ p, li { white-space: pre-wrap; }
QTabWidget::Triangular
- 0
+ 1
@@ -1887,7 +1887,7 @@ p, li { white-space: pre-wrap; }
true
- Az
+
Qt::AlignCenter
@@ -1918,7 +1918,7 @@ p, li { white-space: pre-wrap; }
- Dist
+
Qt::AlignCenter