Change QRA66 to QRA65, on the C++ side.

This commit is contained in:
Joe Taylor 2020-09-25 13:20:46 -04:00
parent 6ebc700288
commit 7fd2f1afe6
5 changed files with 36 additions and 36 deletions

View File

@ -194,7 +194,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
go to 800
endif
if(params%nmode.eq.66) then
if(params%nmode.eq.66) then !NB: JT65 = 65, QRA65 = 66.
! We're in QRA65 mode
call timer('decqra65',0)
call my_qra65%decode(qra65_decoded,id2,params%nutc,params%ntr, &

View File

@ -596,7 +596,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
ui->actionISCAT->setActionGroup(modeGroup);
ui->actionMSK144->setActionGroup(modeGroup);
ui->actionQRA64->setActionGroup(modeGroup);
ui->actionQRA66->setActionGroup(modeGroup);
ui->actionQRA65->setActionGroup(modeGroup);
ui->actionFreqCal->setActionGroup(modeGroup);
QActionGroup* saveGroup = new QActionGroup(this);
@ -1366,7 +1366,7 @@ void MainWindow::fixStop()
} else if (m_mode=="QRA64"){
m_hsymStop=179;
if(m_config.decode_at_52s()) m_hsymStop=186;
} else if (m_mode=="QRA66"){
} else if (m_mode=="QRA65"){
m_hsymStop=48;
if(m_TRperiod==30) m_hsymStop=96;
if(m_TRperiod==60) m_hsymStop=196;
@ -2355,7 +2355,7 @@ void MainWindow::setup_status_bar (bool vhf)
mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #66ff66}");
} else if ("QRA64" == m_mode) {
mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #99ff33}");
} else if ("QRA66" == m_mode) {
} else if ("QRA65" == m_mode) {
mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #99ff33}");
} else if ("MSK144" == m_mode) {
mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #ff6666}");
@ -2557,7 +2557,7 @@ void MainWindow::on_actionCopyright_Notice_triggered()
"notice prominently in your derivative work:\n\n"
"\"The algorithms, source code, look-and-feel of WSJT-X and related "
"programs, and protocol specifications for the modes FSK441, FST4, FT8, "
"JT4, JT6M, JT9, JT65, JTMS, QRA64, QRA66, ISCAT, MSK144 are Copyright (C) "
"JT4, JT6M, JT9, JT65, JTMS, QRA64, QRA65, ISCAT, MSK144 are Copyright (C) "
"2001-2020 by one or more of the following authors: Joseph Taylor, "
"K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, "
"IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; "
@ -3079,8 +3079,8 @@ void MainWindow::decode() //decode()
ui->actionEnable_AP_JT65->isChecked ();
if(m_mode=="QRA64") dec_data.params.nmode=164;
if(m_mode=="QRA64") dec_data.params.ntxmode=164;
if(m_mode=="QRA66") dec_data.params.nmode=66;
if(m_mode=="QRA66") dec_data.params.ntxmode=66;
if(m_mode=="QRA65") dec_data.params.nmode=66;
if(m_mode=="QRA65") dec_data.params.ntxmode=66;
if(m_mode=="JT9+JT65") dec_data.params.nmode=9+65; // = 74
if(m_mode=="JT4") {
dec_data.params.nmode=4;
@ -3403,7 +3403,7 @@ void MainWindow::readFromStdout() //readFromStdout
//Right (Rx Frequency) window
bool bDisplayRight=bAvgMsg;
int audioFreq=decodedtext.frequencyOffset();
if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="FST4" or m_mode=="QRA66") {
if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="FST4" or m_mode=="QRA65") {
auto const& parts = decodedtext.string().remove("<").remove(">")
.split (' ', SkipEmptyParts);
if (parts.size() > 6) {
@ -3486,7 +3486,7 @@ void MainWindow::readFromStdout() //readFromStdout
//### I think this is where we are preventing Hounds from spotting Fox ###
if(m_mode!="FT8" or (SpecOp::HOUND != m_config.special_op_id())) {
if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="QRA64" or m_mode=="QRA66"
if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="QRA64" or m_mode=="QRA65"
or m_mode=="JT4" or m_mode=="JT65" or m_mode=="JT9" or m_mode=="FST4") {
auto_sequence (decodedtext, 25, 50);
}
@ -3696,7 +3696,7 @@ void MainWindow::guiUpdate()
if(m_modeTx=="JT9") txDuration=1.0 + 85.0*m_nsps/12000.0; // JT9
if(m_modeTx=="JT65") txDuration=1.0 + 126*4096/11025.0; // JT65
if(m_modeTx=="QRA64") txDuration=1.0 + 84*6912/12000.0; // QRA64
if(m_modeTx=="QRA66") { // QRA66
if(m_modeTx=="QRA65") { // QRA65
if(m_TRperiod==15) txDuration=0.5 + 85*1800/12000.0;
if(m_TRperiod==30) txDuration=0.5 + 85*3600/12000.0;
if(m_TRperiod==60) txDuration=1.0 + 85*7680/12000.0;
@ -3954,9 +3954,9 @@ void MainWindow::guiUpdate()
&m_currentMessageType, 22, 22);
if(m_modeTx=="QRA64") genqra64_(message, &ichk, msgsent, const_cast<int *> (itone),
&m_currentMessageType, 22, 22);
if(m_modeTx=="QRA66") {
int ichk66=66;
genqra64_(message, &ichk66, msgsent, const_cast<int *> (itone),
if(m_modeTx=="QRA65") {
int ichk65=65;
genqra64_(message, &ichk65, msgsent, const_cast<int *> (itone),
&m_currentMessageType, 22, 22);
}
if(m_modeTx=="WSPR") genwspr_(message, msgsent, const_cast<int *> (itone),
@ -4672,7 +4672,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|| ("JT9" == m_mode && mode != "@")
|| ("MSK144" == m_mode && !("&" == mode || "^" == mode))
|| ("QRA64" == m_mode && mode.left (1) != ":")) {
return; //Currently we do auto-sequencing only in FT4, FT8, MSK144, FST4, and QRA66
return; //Currently we do auto-sequencing only in FT4, FT8, MSK144, FST4, and QRA65
}
//Skip the rest if no decoded text extracted
@ -4780,7 +4780,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
ui->TxFreqSpinBox->setValue(frequency);
}
if(m_mode != "JT4" && m_mode != "JT65" && !m_mode.startsWith ("JT9") &&
m_mode != "QRA64" && m_mode != "QRA66" && m_mode!="FT8" &&
m_mode != "QRA64" && m_mode != "QRA65" && m_mode!="FT8" &&
m_mode!="FT4" && m_mode!="FST4") {
return;
}
@ -6324,12 +6324,12 @@ void MainWindow::on_actionQRA64_triggered()
statusChanged();
}
void MainWindow::on_actionQRA66_triggered()
void MainWindow::on_actionQRA65_triggered()
{
on_actionFST4_triggered();
m_mode="QRA66";
m_modeTx="QRA66";
ui->actionQRA66->setChecked(true);
m_mode="QRA65";
m_modeTx="QRA65";
ui->actionQRA65->setChecked(true);
switch_mode (Modes::QRA64);
setup_status_bar (false);
m_hsymStop=49;
@ -6392,7 +6392,7 @@ void MainWindow::on_actionMSK144_triggered()
if("JT9_JT65"==m_mode) ui->actionJT9_JT65->setChecked(true);
if("ISCAT"==m_mode) ui->actionISCAT->setChecked(true);
if("QRA64"==m_mode) ui->actionQRA64->setChecked(true);
if("QRA66"==m_mode) ui->actionQRA66->setChecked(true);
if("QRA65"==m_mode) ui->actionQRA65->setChecked(true);
if("WSPR"==m_mode) ui->actionWSPR->setChecked(true);
if("Echo"==m_mode) ui->actionEcho->setChecked(true);
if("FreqCal"==m_mode) ui->actionFreqCal->setChecked(true);
@ -7206,15 +7206,15 @@ void MainWindow::transmit (double snr)
true, false, snr, m_TRperiod);
}
if (m_modeTx == "QRA66") {
if (m_modeTx == "QRA65") {
int nsps=1800;
if(m_TRperiod==30) nsps=3600;
if(m_TRperiod==60) nsps=7680;
if(m_TRperiod==120) nsps=16000;
if(m_TRperiod==300) nsps=41472;
int mode66=pow(2.0,double(m_nSubMode));
toneSpacing=mode66*12000.0/nsps;
Q_EMIT sendMessage (m_mode, NUM_QRA66_SYMBOLS,
int mode65=pow(2.0,double(m_nSubMode));
toneSpacing=mode65*12000.0/nsps;
Q_EMIT sendMessage (m_mode, NUM_QRA65_SYMBOLS,
double(nsps), ui->TxFreqSpinBox->value () - m_XIT,
toneSpacing, m_soundOutput, m_config.audio_output_channel (),
true, false, snr, m_TRperiod);
@ -7475,9 +7475,9 @@ void::MainWindow::VHF_features_enabled(bool b)
void MainWindow::on_sbTR_valueChanged(int value)
{
// if(!m_bFastMode and n>m_nSubMode) m_MinW=m_nSubMode;
if(m_bFastMode or m_mode=="FreqCal" or m_mode=="FST4" or m_mode=="FST4W" or m_mode=="QRA66") {
if(m_bFastMode or m_mode=="FreqCal" or m_mode=="FST4" or m_mode=="FST4W" or m_mode=="QRA65") {
m_TRperiod = value;
if (m_mode == "FST4" or m_mode == "FST4W" or m_mode=="QRA66") {
if (m_mode == "FST4" or m_mode == "FST4W" or m_mode=="QRA65") {
if (m_TRperiod < 60) {
ui->decodedTextLabel->setText(" UTC dB DT Freq " + tr ("Message"));
if (m_mode != "FST4W") {
@ -9157,7 +9157,7 @@ void MainWindow::set_mode (QString const& mode)
else if ("JT9+JT65" == mode) on_actionJT9_JT65_triggered ();
else if ("JT65" == mode) on_actionJT65_triggered ();
else if ("QRA64" == mode) on_actionQRA64_triggered ();
else if ("QRA66" == mode) on_actionQRA66_triggered ();
else if ("QRA65" == mode) on_actionQRA65_triggered ();
else if ("FreqCal" == mode) on_actionFreqCal_triggered ();
else if ("ISCAT" == mode) on_actionISCAT_triggered ();
else if ("MSK144" == mode) on_actionMSK144_triggered ();

View File

@ -48,7 +48,7 @@
#define NUM_ISCAT_SYMBOLS 1291 //30*11025/256
#define NUM_MSK144_SYMBOLS 144 //s8 + d48 + s8 + d80
#define NUM_QRA64_SYMBOLS 84 //63 data + 21 sync
#define NUM_QRA66_SYMBOLS 85 //63 data + 22 sync
#define NUM_QRA65_SYMBOLS 85 //63 data + 22 sync
#define NUM_FT8_SYMBOLS 79
#define NUM_FT4_SYMBOLS 105
#define NUM_FST4_SYMBOLS 160 //240/2 data + 5*8 sync
@ -300,7 +300,7 @@ private slots:
void on_cbCQTx_toggled(bool b);
void on_actionMSK144_triggered();
void on_actionQRA64_triggered();
void on_actionQRA66_triggered();
void on_actionQRA65_triggered();
void on_actionFreqCal_triggered();
void splash_done ();
void on_measure_check_box_stateChanged (int);

View File

@ -2806,7 +2806,7 @@ Yellow when too low</string>
<addaction name="actionJT9_JT65"/>
<addaction name="actionJT65"/>
<addaction name="actionQRA64"/>
<addaction name="actionQRA66"/>
<addaction name="actionQRA65"/>
<addaction name="separator"/>
<addaction name="actionISCAT"/>
<addaction name="actionMSK144"/>
@ -3293,12 +3293,12 @@ Yellow when too low</string>
<string>FST4W</string>
</property>
</action>
<action name="actionQRA66">
<action name="actionQRA65">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>QRA66</string>
<string>QRA65</string>
</property>
</action>
</widget>

View File

@ -472,7 +472,7 @@ void CPlotter::DrawOverlay() //DrawOverlay()
if(m_nSubMode==4) bw=16*bw; //E
}
if(m_mode=="QRA66") { //QRA66
if(m_mode=="QRA65") { //QRA65
int h=int(pow(2.0,m_nSubMode));
int nsps=1800;
if(m_TRperiod==30) nsps=3600;
@ -513,10 +513,10 @@ void CPlotter::DrawOverlay() //DrawOverlay()
int yTxTop=12;
int yRxBottom=yTxTop + 2*yh + 4;
if(m_mode=="JT9" or m_mode=="JT65" or m_mode=="JT9+JT65"
or m_mode=="QRA64" or m_mode=="QRA66" or m_mode=="FT8" or m_mode=="FT4"
or m_mode=="QRA64" or m_mode=="QRA65" or m_mode=="FT8" or m_mode=="FT4"
or m_mode.startsWith("FST4")) {
if(m_mode=="QRA64" or m_mode=="QRA66" or (m_mode=="JT65" and m_bVHF)) {
if(m_mode=="QRA64" or m_mode=="QRA65" or (m_mode=="JT65" and m_bVHF)) {
painter0.setPen(penGreen);
x1=XfromFreq(m_rxFreq-m_tol);
x2=XfromFreq(m_rxFreq+m_tol);
@ -554,7 +554,7 @@ void CPlotter::DrawOverlay() //DrawOverlay()
}
if(m_mode=="JT9" or m_mode=="JT65" or m_mode=="JT9+JT65" or
m_mode.mid(0,4)=="WSPR" or m_mode=="QRA64" or m_mode=="QRA66" or m_mode=="FT8"
m_mode.mid(0,4)=="WSPR" or m_mode=="QRA64" or m_mode=="QRA65" or m_mode=="FT8"
or m_mode=="FT4" or m_mode.startsWith("FST4")) {
painter0.setPen(penRed);
x1=XfromFreq(m_txFreq);