mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 12:08:43 -04:00
Remove all vestiges of the QRA64 mode. It has been replaced by Q65.
This commit is contained in:
parent
36a089de21
commit
044aa80dc4
@ -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
|
||||
)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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},
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,6 @@ namespace
|
||||
"Echo",
|
||||
"ISCAT",
|
||||
"MSK144",
|
||||
"QRA64",
|
||||
"FreqCal",
|
||||
"FT8",
|
||||
"FT4",
|
||||
|
@ -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<int *> (itone),
|
||||
&m_currentMessageType, 22, 22);
|
||||
if(m_modeTx=="QRA64") genqra64_(message, &ichk, msgsent, const_cast<int *> (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 ();
|
||||
|
@ -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 ();
|
||||
|
@ -2,6 +2,14 @@
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1124</width>
|
||||
<height>582</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>WSJT-X by K1JT</string>
|
||||
</property>
|
||||
@ -2793,7 +2801,7 @@ Double-click to reset to the standard 73 message</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1110</width>
|
||||
<width>1124</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -2884,7 +2892,6 @@ Double-click to reset to the standard 73 message</string>
|
||||
<addaction name="actionJT4"/>
|
||||
<addaction name="actionJT9"/>
|
||||
<addaction name="actionJT65"/>
|
||||
<addaction name="actionQRA64"/>
|
||||
<addaction name="actionQ65"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionISCAT"/>
|
||||
|
@ -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);
|
||||
|
@ -119,6 +119,7 @@ private:
|
||||
bool m_bVHF;
|
||||
bool m_bSingleDecode;
|
||||
bool m_bFirst=true;
|
||||
bool m_bResized;
|
||||
|
||||
float m_fSpan;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user