diff --git a/CMakeLists.txt b/CMakeLists.txt index 41e2d74a0..90f6ddc6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -345,7 +345,6 @@ set (wsjt_FSRCS lib/avecho.f90 lib/averms.f90 lib/azdist.f90 - lib/badmsg.f90 lib/ft8/baseline.f90 lib/ft4/ft4_baseline.f90 lib/blanker.f90 @@ -433,7 +432,6 @@ set (wsjt_FSRCS lib/ft4/genft4.f90 lib/ft4/gen_ft4wave.f90 lib/ft8/gen_ft8wave.f90 - lib/genqra64.f90 lib/ft8/genft8refsig.f90 lib/genwspr.f90 lib/geodist.f90 @@ -498,8 +496,6 @@ set (wsjt_FSRCS lib/prog_args.f90 lib/ps4.f90 lib/q65_sync.f90 - lib/qra64a.f90 - lib/qra_loops.f90 lib/qra/q65/q65_ap.f90 lib/qra/q65/q65_loops.f90 lib/qra/q65/q65_set_list.f90 @@ -585,8 +581,6 @@ set (ka9q_CSRCS set_source_files_properties (${ka9q_CSRCS} PROPERTIES COMPILE_FLAGS -Wno-sign-compare) set (qra_CSRCS - lib/qra/qra64/qra64.c - lib/qra/qra64/qra64_subs.c lib/qra/qracodes/qra12_63_64_irr_b.c lib/qra/qracodes/qra13_64_64_irr_e.c lib/qra/q65/npfwht.c @@ -1114,15 +1108,9 @@ target_link_libraries (jt65sim wsjt_fort wsjt_cxx) add_executable (sumsim lib/sumsim.f90) target_link_libraries (sumsim wsjt_fort wsjt_cxx) -add_executable (qra64sim lib/qra/qra64/qra64sim.f90) -target_link_libraries (qra64sim wsjt_fort wsjt_cxx) - add_executable (q65sim lib/qra/q65/q65sim.f90) target_link_libraries (q65sim wsjt_fort wsjt_cxx) -add_executable (test_qra64 lib/test_qra64.f90) -target_link_libraries (test_qra64 wsjt_fort wsjt_cxx) - add_executable (test_q65 lib/test_q65.f90) target_link_libraries (test_q65 wsjt_fort wsjt_cxx) @@ -1132,8 +1120,8 @@ target_link_libraries (q65_ftn_test wsjt_fort wsjt_cxx) add_executable (jt49sim lib/jt49sim.f90) target_link_libraries (jt49sim wsjt_fort wsjt_cxx) -add_executable (allsim lib/allsim.f90) -target_link_libraries (allsim wsjt_fort wsjt_cxx) +#add_executable (allsim lib/allsim.f90) +#target_link_libraries (allsim wsjt_fort wsjt_cxx) add_executable (rtty_spec lib/rtty_spec.f90) target_link_libraries (rtty_spec wsjt_fort wsjt_cxx) @@ -1141,9 +1129,6 @@ target_link_libraries (rtty_spec wsjt_fort wsjt_cxx) add_executable (jt65code lib/jt65code.f90) target_link_libraries (jt65code wsjt_fort wsjt_cxx) -add_executable (qra64code lib/qra64code.f90) -target_link_libraries (qra64code wsjt_fort wsjt_cxx) - add_executable (jt9code lib/jt9code.f90) target_link_libraries (jt9code wsjt_fort wsjt_cxx) @@ -1559,8 +1544,7 @@ install (TARGETS jt9 wsprd fmtave fcal fmeasure ) if(WSJT_BUILD_UTILS) -install (TARGETS ft8code jt65code qra64code qra64sim jt9code jt4code - msk144code fst4sim q65sim +install (TARGETS ft8code jt65code jt9code jt4code msk144code fst4sim q65sim RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime ) diff --git a/lib/decoder.f90 b/lib/decoder.f90 index a2bf79b20..67ed1ead0 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -298,9 +298,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample) !$omp parallel sections num_threads(2) copyin(/timer_private/) shared(ndecoded) if(.true.) !iif() needed on Mac !$omp section - if(params%nmode.eq.65 .or. params%nmode.eq.164 .or. & - (params%nmode.eq.(65+9) .and. params%ntxmode.eq.65)) then -! We're in JT65 or QRA64 mode, or should do JT65 first + if(params%nmode.eq.65) then +! We're in JT65 mode if(newdat65) dd(1:npts65)=id2(1:npts65) nf1=params%nfa @@ -474,24 +473,6 @@ contains cflags=' ' is_deep=ft.eq.2 - if(ft.ge.80) then !QRA64 mode - nft=ft-100 - csync=': ' - if(sync-3.4.ge.float(minsync) .or. nft.ge.0) csync=':*' - if(nft.lt.0) then - write(*,1009) params%nutc,snr,dt,freq,csync,decoded - else - write(*,1009) params%nutc,snr,dt,freq,csync,decoded,nft -1009 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,i2) - endif - write(13,1011) params%nutc,nint(sync),snr,dt,float(freq),drift, & - decoded,nft -1011 format(i4.4,i4,i5,f6.2,f8.0,i4,3x,a22,' QRA64',i3) - go to 100 - endif - -! write(*,3001) ft,nsum,qual,sync,bVHF -!3001 format('a',3i3,f5.1,L3) if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then write(*,1010) params%nutc,snr,dt,freq else diff --git a/lib/jt65_decode.f90 b/lib/jt65_decode.f90 index bfb78b254..90459add1 100644 --- a/lib/jt65_decode.f90 +++ b/lib/jt65_decode.f90 @@ -99,24 +99,6 @@ contains dd=dd0 ndecoded=0 ndecoded0=0 - - if(nsubmode.ge.100) then -! This is QRA64 mode - mode64=2**(nsubmode-100) - call qra64a(dd,npts,nf1,nf2,nfqso,ntol,mode64,minsync,ndepth, & - emedelay,mycall,hiscall,hisgrid,sync,nsnr,dtx,nfreq,decoded,nft) - if (associated(this%callback)) then - ndrift=0 - nflip=1 - width=1.0 - nsmo=0 - nqual=0 - call this%callback(sync,nsnr,dtx,nfreq,ndrift, & - nflip,width,decoded,nft,nqual,nsmo,1,minsync) - end if - go to 900 - endif - single_decode=iand(nexp_decode,32).ne.0 .or. nagain bVHF=iand(nexp_decode,64).ne.0 diff --git a/models/FrequencyList.cpp b/models/FrequencyList.cpp index 2de042efa..f35bb832f 100644 --- a/models/FrequencyList.cpp +++ b/models/FrequencyList.cpp @@ -263,7 +263,6 @@ namespace {28180000, Modes::FT4, IARURegions::ALL}, {50200000, Modes::Echo, IARURegions::ALL}, - {50270000, Modes::QRA64, IARURegions::ALL}, {50275000, Modes::Q65, IARURegions::ALL}, {50276000, Modes::JT65, IARURegions::R2}, {50276000, Modes::JT65, IARURegions::R3}, @@ -295,54 +294,54 @@ namespace {222065000, Modes::Echo, IARURegions::R2}, {222065000, Modes::JT65, IARURegions::R2}, - {222065000, Modes::QRA64, IARURegions::R2}, + {222065000, Modes::Q65, IARURegions::R2}, {432065000, Modes::Echo, IARURegions::ALL}, {432065000, Modes::JT65, IARURegions::ALL}, {432300000, Modes::WSPR, IARURegions::ALL}, {432360000, Modes::MSK144, IARURegions::ALL}, - {432065000, Modes::QRA64, IARURegions::ALL}, + {432065000, Modes::Q65, IARURegions::ALL}, {902065000, Modes::JT65, IARURegions::R2}, - {902065000, Modes::QRA64, IARURegions::R2}, + {902065000, Modes::Q65, IARURegions::R2}, {1296065000, Modes::Echo, IARURegions::ALL}, {1296065000, Modes::JT65, IARURegions::ALL}, {1296500000, Modes::WSPR, IARURegions::ALL}, - {1296065000, Modes::QRA64, IARURegions::ALL}, + {1296065000, Modes::Q65, IARURegions::ALL}, {2301000000, Modes::Echo, IARURegions::ALL}, {2301065000, Modes::JT4, IARURegions::ALL}, {2301065000, Modes::JT65, IARURegions::ALL}, - {2301065000, Modes::QRA64, IARURegions::ALL}, + {2301065000, Modes::Q65, IARURegions::ALL}, {2304065000, Modes::Echo, IARURegions::ALL}, {2304065000, Modes::JT4, IARURegions::ALL}, {2304065000, Modes::JT65, IARURegions::ALL}, - {2304065000, Modes::QRA64, IARURegions::ALL}, + {2304065000, Modes::Q65, IARURegions::ALL}, {2320065000, Modes::Echo, IARURegions::ALL}, {2320065000, Modes::JT4, IARURegions::ALL}, {2320065000, Modes::JT65, IARURegions::ALL}, - {2320065000, Modes::QRA64, IARURegions::ALL}, + {2320065000, Modes::Q65, IARURegions::ALL}, {3400065000, Modes::Echo, IARURegions::ALL}, {3400065000, Modes::JT4, IARURegions::ALL}, {3400065000, Modes::JT65, IARURegions::ALL}, - {3400065000, Modes::QRA64, IARURegions::ALL}, + {3400065000, Modes::Q65, IARURegions::ALL}, {5760065000, Modes::Echo, IARURegions::ALL}, {5760065000, Modes::JT4, IARURegions::ALL}, {5760065000, Modes::JT65, IARURegions::ALL}, - {5760200000, Modes::QRA64, IARURegions::ALL}, + {5760200000, Modes::Q65, IARURegions::ALL}, {10368100000, Modes::Echo, IARURegions::ALL}, {10368200000, Modes::JT4, IARURegions::ALL}, - {10368200000, Modes::QRA64, IARURegions::ALL}, + {10368200000, Modes::Q65, IARURegions::ALL}, {24048100000, Modes::Echo, IARURegions::ALL}, {24048200000, Modes::JT4, IARURegions::ALL}, - {24048200000, Modes::QRA64, IARURegions::ALL}, + {24048200000, Modes::Q65, IARURegions::ALL}, }; } diff --git a/models/Modes.cpp b/models/Modes.cpp index 0d3c544d4..b341ebef4 100644 --- a/models/Modes.cpp +++ b/models/Modes.cpp @@ -21,7 +21,6 @@ namespace "Echo", "ISCAT", "MSK144", - "QRA64", "FreqCal", "FT8", "FT4", diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index f347318e0..bc87c6132 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -134,9 +134,6 @@ extern "C" { void gen65_(char* msg, int* ichk, char* msgsent, int itone[], int* itext, fortran_charlen_t, fortran_charlen_t); - void genqra64_(char* msg, int* ichk, char* msgsent, int itone[], - int* itext, fortran_charlen_t, fortran_charlen_t); - void genq65_(char* msg, int* ichk, char* msgsent, int itone[], int* i3, int* n3, fortran_charlen_t, fortran_charlen_t); @@ -600,7 +597,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, ui->actionEcho->setActionGroup(modeGroup); ui->actionISCAT->setActionGroup(modeGroup); ui->actionMSK144->setActionGroup(modeGroup); - ui->actionQRA64->setActionGroup(modeGroup); ui->actionQ65->setActionGroup(modeGroup); ui->actionFreqCal->setActionGroup(modeGroup); @@ -1400,9 +1396,6 @@ void MainWindow::fixStop() } else if (m_mode=="JT65"){ m_hsymStop=174; if(m_config.decode_at_52s()) m_hsymStop=179; - } else if (m_mode=="QRA64"){ - m_hsymStop=179; - if(m_config.decode_at_52s()) m_hsymStop=186; } else if (m_mode=="Q65"){ m_hsymStop=48; if(m_TRperiod==30) m_hsymStop=96; @@ -1880,7 +1873,7 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog setup_status_bar (vhf); bool b = vhf && (m_mode=="JT4" or m_mode=="JT65" or m_mode=="ISCAT" or - m_mode=="JT9" or m_mode=="MSK144" or m_mode=="QRA64"); + m_mode=="JT9" or m_mode=="MSK144" or m_mode=="Q65"); if(b) VHF_features_enabled(b); set_mode (m_mode); if(b) VHF_features_enabled(b); @@ -2394,8 +2387,6 @@ void MainWindow::setup_status_bar (bool vhf) mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #66ffff}"); } else if ("JT65" == m_mode) { 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 ("Q65" == m_mode) { mode_label.setStyleSheet ("QLabel{color: #000000; background-color: #99ff33}"); } else if ("MSK144" == m_mode) { @@ -3145,8 +3136,6 @@ void MainWindow::decode() //decode() if(m_mode=="JT65") dec_data.params.nmode=65; if(m_mode=="JT65") dec_data.params.ljt65apon = ui->actionEnable_AP_JT65->isVisible () && 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=="Q65") dec_data.params.nmode=66; if(m_mode=="Q65") dec_data.params.ntxmode=66; if(m_mode=="JT4") { @@ -3165,7 +3154,6 @@ void MainWindow::decode() //decode() if(m_mode=="FST4W") dec_data.params.nmode=241; dec_data.params.ntrperiod=m_TRperiod; dec_data.params.nsubmode=m_nSubMode; - if(m_mode=="QRA64") dec_data.params.nsubmode=100 + m_nSubMode; dec_data.params.minw=0; dec_data.params.nclearave=m_nclearave; if(m_nclearave!=0) { @@ -3304,7 +3292,7 @@ void MainWindow::to_jt9(qint32 n, qint32 istart, qint32 idone) void MainWindow::decodeDone () { if(m_mode!="FT8" or dec_data.params.nzhsym==50) m_nDecodes=0; - if(m_mode=="QRA64" or m_mode=="Q65") m_wideGraph->drawRed(0,0); + if(m_mode=="Q65") m_wideGraph->drawRed(0,0); if ("FST4W" == m_mode) { if (m_uploadWSPRSpots @@ -3384,7 +3372,8 @@ void MainWindow::readFromStdout() //readFromStdout } else { m_nDecodes+=1; ndecodes_label.setText(QString::number(m_nDecodes)); - if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64") { + if(m_mode=="JT4" or m_mode=="JT65") { + //### Do something about Q65 here ? ### int nf=line_read.indexOf("f"); if(nf>0) { navg=line_read.mid(nf+1,1).toInt(); @@ -3563,7 +3552,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=="Q65" + if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="Q65" or m_mode=="JT4" or m_mode=="JT65" or m_mode=="JT9" or m_mode=="FST4") { auto_sequence (decodedtext, 25, 50); } @@ -3590,7 +3579,7 @@ void MainWindow::readFromStdout() //readFromStdout } else { if (stdMsg && okToPost) pskPost(decodedtext); } - if((m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64" or m_mode=="Q65") and + if((m_mode=="JT4" or m_mode=="JT65" or m_mode=="Q65") and m_msgAvgWidget!=NULL) { if(m_msgAvgWidget->isVisible()) { QFile f(m_config.temp_dir ().absoluteFilePath ("avemsg.txt")); @@ -3769,8 +3758,7 @@ void MainWindow::guiUpdate() if(m_modeTx=="JT4") txDuration=1.0 + 207.0*2520/11025.0; // JT4 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=="Q65") { // Q65 + if(m_modeTx=="Q65") { // Q65 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*7200/12000.0; @@ -4026,8 +4014,6 @@ void MainWindow::guiUpdate() &m_currentMessageType, 22, 22); if(m_modeTx=="JT65") gen65_(message, &ichk, msgsent, const_cast (itone), &m_currentMessageType, 22, 22); - if(m_modeTx=="QRA64") genqra64_(message, &ichk, msgsent, const_cast (itone), - &m_currentMessageType, 22, 22); if(m_modeTx=="Q65") { int i3=-1; int n3=-1; @@ -4769,7 +4755,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie if (("JT65" == m_mode && mode != "#") || ("JT9" == m_mode && mode != "@") || ("MSK144" == m_mode && !("&" == mode || "^" == mode)) - || ("QRA64" == m_mode && mode.left (1) != ":") || ("Q65" == m_mode && mode.left (1) != ":")) { return; //Currently we do auto-sequencing only in FT4, FT8, MSK144, FST4, and Q65 } @@ -4867,8 +4852,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 != "Q65" && m_mode!="FT8" && - m_mode!="FT4" && m_mode!="FST4") { + m_mode != "Q65" && m_mode!="FT8" && m_mode!="FT4" && m_mode!="FST4") { return; } } @@ -5216,7 +5200,7 @@ void MainWindow::genCQMsg () msgtype (QString {"%1 %2"}.arg(m_CQtype).arg(m_config.my_callsign()),ui->tx6); } } - if ((m_mode=="JT4" or m_mode=="QRA64" or m_mode=="Q65") and ui->cbShMsgs->isChecked()) { + if ((m_mode=="JT4" or m_mode=="Q65") and ui->cbShMsgs->isChecked()) { if (ui->cbTx6->isChecked ()) { msgtype ("@1250 (SEND MSGS)", ui->tx6); } else { @@ -5400,7 +5384,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) if(!bHisCall and bMyCall) t=hisCall + " <" + my_callsign + "> " + (m_send_RR73 ? "RR73" : "RRR"); if(bHisCall and !bMyCall) t="<" + hisCall + "> " + my_callsign + " " + (m_send_RR73 ? "RR73" : "RRR"); } - if ((m_mode=="JT4" || m_mode=="QRA64") && m_bShMsgs) t="@1500 (RRR)"; + if ((m_mode=="JT4" || m_mode=="Q65") && m_bShMsgs) t="@1500 (RRR)"; msgtype(t, ui->tx4); t=t0 + "73"; @@ -5408,7 +5392,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) if(!bHisCall and bMyCall) t=hisCall + " <" + my_callsign + "> 73"; if(bHisCall and !bMyCall) t="<" + hisCall + "> " + my_callsign + " 73"; } - if (m_mode=="JT4" || m_mode=="QRA64") { + if (m_mode=="JT4" || m_mode=="Q65") { if (m_bShMsgs) t="@1750 (73)"; msgtype(t, ui->tx5->lineEdit()); } else if ("MSK144" == m_mode && m_bShMsgs) { @@ -5439,7 +5423,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) } else { msgtype(t + "R" + rpt, ui->tx3); } - if ((m_mode != "JT4" && m_mode != "QRA64") || !m_bShMsgs) { + if ((m_mode != "JT4" && m_mode != "Q65") || !m_bShMsgs) { msgtype(t + "73", ui->tx5->lineEdit ()); } } @@ -5454,7 +5438,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) msgtype(t00 + my_grid, ui->tx1); msgtype(t + "R" + rpt, ui->tx3); } - if (!eme_short_codes && ((m_mode != "JT4" && m_mode != "QRA64") || !m_bShMsgs)) { + if (!eme_short_codes && ((m_mode != "JT4" && m_mode != "Q65") || !m_bShMsgs)) { msgtype(t + "73", ui->tx5->lineEdit ()); } break; @@ -6372,40 +6356,6 @@ void MainWindow::on_actionJT65_triggered() statusChanged(); } -void MainWindow::on_actionQRA64_triggered() -{ - int n=m_nSubMode; - on_actionJT65_triggered(); - m_nSubMode=n; - m_mode="QRA64"; - m_modeTx="QRA64"; - ui->actionQRA64->setChecked(true); - switch_mode (Modes::QRA64); - setup_status_bar (true); - m_hsymStop=180; - if(m_config.decode_at_52s()) m_hsymStop=188; - m_wideGraph->setMode(m_mode); - m_wideGraph->setModeTx(m_modeTx); - ui->sbSubmode->setMaximum(4); - ui->sbSubmode->setValue(m_nSubMode); - ui->actionInclude_averaging->setVisible (false); - ui->actionInclude_correlation->setVisible (false); -// ui->RxFreqSpinBox->setValue(1000); -// ui->TxFreqSpinBox->setValue(1000); - QString fname {QDir::toNativeSeparators(m_config.temp_dir ().absoluteFilePath ("red.dat"))}; - m_wideGraph->setRedFile(fname); - m_wideGraph->setMode(m_mode); - m_wideGraph->setModeTx(m_modeTx); - m_wideGraph->setPeriod(m_TRperiod,6912); - m_wideGraph->setTxFreq(ui->TxFreqSpinBox->value()); - m_wideGraph->setRxFreq(ui->RxFreqSpinBox->value()); - m_wideGraph->setTol(ui->sbFtol->value()); - switch_mode (Modes::QRA64); -// 012345678901234567890123456789012345 - displayWidgets(nWidgets("111110010010110110010000001000000000")); - statusChanged(); -} - void MainWindow::on_actionQ65_triggered() { // on_actionFST4_triggered(); @@ -6484,7 +6434,6 @@ void MainWindow::on_actionMSK144_triggered() if("JT9"==m_mode) ui->actionJT9->setChecked(true); if("JT65"==m_mode) ui->actionJT65->setChecked(true); if("ISCAT"==m_mode) ui->actionISCAT->setChecked(true); - if("QRA64"==m_mode) ui->actionQRA64->setChecked(true); if("Q65"==m_mode) ui->actionQ65->setChecked(true); if("WSPR"==m_mode) ui->actionWSPR->setChecked(true); if("Echo"==m_mode) ui->actionEcho->setChecked(true); @@ -7306,18 +7255,6 @@ void MainWindow::transmit (double snr) true, false, snr, m_TRperiod); } - if (m_modeTx == "QRA64") { - if(m_nSubMode==0) toneSpacing=12000.0/6912.0; - if(m_nSubMode==1) toneSpacing=2*12000.0/6912.0; - if(m_nSubMode==2) toneSpacing=4*12000.0/6912.0; - if(m_nSubMode==3) toneSpacing=8*12000.0/6912.0; - if(m_nSubMode==4) toneSpacing=16*12000.0/6912.0; - Q_EMIT sendMessage (m_mode, NUM_QRA64_SYMBOLS, - 6912.0, ui->TxFreqSpinBox->value () - m_XIT, - toneSpacing, m_soundOutput, m_config.audio_output_channel (), - true, false, snr, m_TRperiod); - } - if (m_modeTx == "Q65") { int nsps=1800; if(m_TRperiod==30) nsps=3600; @@ -7566,7 +7503,6 @@ void::MainWindow::VHF_features_enabled(bool b) ui->actionInclude_averaging->setVisible (b); ui->actionInclude_correlation->setVisible (b && m_mode!="Q65"); ui->actionMessage_averaging->setEnabled(b); - ui->actionEnable_AP_DXcall->setVisible (m_mode=="QRA64"); ui->actionEnable_AP_JT65->setVisible (b && m_mode=="JT65"); if(!b && m_msgAvgWidget and (SpecOp::FOX != m_config.special_op_id()) and !m_config.autoLog()) { @@ -7622,7 +7558,7 @@ void MainWindow::on_sbTR_FST4W_valueChanged(int value) QChar MainWindow::current_submode () const { QChar submode {0}; - if (m_mode.contains (QRegularExpression {R"(^(JT65|JT9|JT4|ISCAT|QRA64|Q65)$)"}) + if (m_mode.contains (QRegularExpression {R"(^(JT65|JT9|JT4|ISCAT|Q65)$)"}) && (m_config.enable_VHF_features () || "JT4" == m_mode || "ISCAT" == m_mode)) { submode = m_nSubMode + 65; @@ -9274,7 +9210,6 @@ void MainWindow::set_mode (QString const& mode) else if ("JT4" == mode) on_actionJT4_triggered (); else if ("JT9" == mode) on_actionJT9_triggered (); else if ("JT65" == mode) on_actionJT65_triggered (); - else if ("QRA64" == mode) on_actionQRA64_triggered (); else if ("Q65" == mode) on_actionQ65_triggered (); else if ("FreqCal" == mode) on_actionFreqCal_triggered (); else if ("ISCAT" == mode) on_actionISCAT_triggered (); diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 9f85d9e7d..51898842c 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -49,7 +49,6 @@ #define NUM_WSPR_SYMBOLS 162 //(50+31)*2, embedded sync #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_Q65_SYMBOLS 85 //63 data + 22 sync #define NUM_FT8_SYMBOLS 79 #define NUM_FT4_SYMBOLS 105 @@ -304,7 +303,6 @@ private slots: void on_sbCQTxFreq_valueChanged(int n); void on_cbCQTx_toggled(bool b); void on_actionMSK144_triggered(); - void on_actionQRA64_triggered(); void on_actionQ65_triggered(); void on_actionFreqCal_triggered(); void splash_done (); diff --git a/widgets/mainwindow.ui b/widgets/mainwindow.ui index b945e9210..d030cd0f0 100644 --- a/widgets/mainwindow.ui +++ b/widgets/mainwindow.ui @@ -2,6 +2,14 @@ MainWindow + + + 0 + 0 + 1124 + 582 + + WSJT-X by K1JT @@ -2793,7 +2801,7 @@ Double-click to reset to the standard 73 message 0 0 - 1110 + 1124 21 @@ -2884,7 +2892,6 @@ Double-click to reset to the standard 73 message - diff --git a/widgets/plotter.cpp b/widgets/plotter.cpp index 4b5d2a7d8..30981ab3b 100644 --- a/widgets/plotter.cpp +++ b/widgets/plotter.cpp @@ -110,6 +110,7 @@ void CPlotter::resizeEvent(QResizeEvent* ) //resizeEvent() m_ScalePixmap = QPixmap(m_w,30); m_ScalePixmap.fill(Qt::white); m_Percent2DScreen0 = m_Percent2DScreen; + m_bResized = true; } DrawOverlay(); } @@ -140,9 +141,10 @@ void CPlotter::draw(float swide[], bool bScroll, bool bRed) //move current data down one line (must do this before attaching a QPainter object) if(bScroll and !m_bReplot) m_WaterfallPixmap.scroll(0,1,0,0,m_w,m_h1); QPainter painter1(&m_WaterfallPixmap); - if(m_bFirst or bRed or !m_bQ65_Sync or m_mode!=m_mode0) { + if(m_bFirst or bRed or !m_bQ65_Sync or m_mode!=m_mode0 or m_bResized) { m_2DPixmap = m_OverlayPixmap.copy(0,0,m_w,m_h2); m_bFirst=false; + m_bResized=false; } m_mode0=m_mode; QPainter painter2D(&m_2DPixmap); @@ -252,8 +254,8 @@ void CPlotter::draw(float swide[], bool bScroll, bool bRed) painter1.drawText (5, painter1.fontMetrics ().ascent (), t); } - if(m_mode=="JT4" or m_mode=="QRA64") { - QPen pen3(Qt::yellow); //Mark freqs of JT4 single-tone msgs + if(m_mode=="JT4") { + QPen pen3(Qt::yellow); //Mark freqs of JT4/Q65 single-tone msgs painter2D.setPen(pen3); Font.setWeight(QFont::Bold); painter2D.setFont(Font); @@ -464,14 +466,6 @@ void CPlotter::DrawOverlay() //DrawOverlay() if(m_nSubMode==7) bw=128*bw; //H } - if(m_mode=="QRA64") { //QRA64 - bw=63.0*12000.0/m_nsps; - if(m_nSubMode==1) bw=2*bw; //B - if(m_nSubMode==2) bw=4*bw; //C - if(m_nSubMode==3) bw=8*bw; //D - if(m_nSubMode==4) bw=16*bw; //E - } - if(m_mode=="Q65") { //Q65 int h=int(pow(2.0,m_nSubMode)); int nsps=1800; @@ -513,7 +507,7 @@ 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=="Q65" or m_mode=="FT8" or m_mode=="FT4" + or m_mode=="Q65" or m_mode=="FT8" or m_mode=="FT4" or m_mode.startsWith("FST4")) { if(m_mode=="FST4" and !m_bSingleDecode) { @@ -525,7 +519,7 @@ void CPlotter::DrawOverlay() //DrawOverlay() painter0.drawLine(x2,25,x2-5,20); } - if(m_mode=="QRA64" or m_mode=="Q65" or (m_mode=="JT65" and m_bVHF)) { + if(m_mode=="Q65" or (m_mode=="JT65" and m_bVHF)) { painter0.setPen(penGreen); x1=XfromFreq(m_rxFreq-m_tol); x2=XfromFreq(m_rxFreq+m_tol); @@ -563,7 +557,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=="Q65" or m_mode=="FT8" + m_mode.mid(0,4)=="WSPR" or m_mode=="Q65" or m_mode=="FT8" or m_mode=="FT4" or m_mode.startsWith("FST4")) { painter0.setPen(penRed); x1=XfromFreq(m_txFreq); diff --git a/widgets/plotter.h b/widgets/plotter.h index c4ecded15..3f8f00574 100644 --- a/widgets/plotter.h +++ b/widgets/plotter.h @@ -119,6 +119,7 @@ private: bool m_bVHF; bool m_bSingleDecode; bool m_bFirst=true; + bool m_bResized; float m_fSpan; diff --git a/widgets/widegraph.cpp b/widgets/widegraph.cpp index 0c6af8348..2bcb5936a 100644 --- a/widgets/widegraph.cpp +++ b/widgets/widegraph.cpp @@ -482,7 +482,7 @@ void WideGraph::on_gain2dSlider_valueChanged(int value) //Gain2 ui->widePlot->setPlot2dGain(value); if(ui->widePlot->scaleOK ()) { ui->widePlot->draw(m_swide,false,false); - if(m_mode=="QRA64" or m_mode=="Q65") ui->widePlot->draw(m_swide,false,true); + if(m_mode=="Q65") ui->widePlot->draw(m_swide,false,true); } } @@ -491,7 +491,7 @@ void WideGraph::on_zero2dSlider_valueChanged(int value) //Zero2 ui->widePlot->setPlot2dZero(value); if(ui->widePlot->scaleOK ()) { ui->widePlot->draw(m_swide,false,false); - if(m_mode=="QRA64" or m_mode=="Q65") ui->widePlot->draw(m_swide,false,true); + if(m_mode=="Q65") ui->widePlot->draw(m_swide,false,true); } }