diff --git a/lib/fast_decode.f90 b/lib/fast_decode.f90 index 3f9b11e29..a297011ea 100644 --- a/lib/fast_decode.f90 +++ b/lib/fast_decode.f90 @@ -61,7 +61,7 @@ subroutine fast_decode(id2,narg,ntrperiod,bShMsgs,line,pchk_file, & if(ib.gt.ntrperiod*12000) ib=ntrperiod*12000 nz=ib-ia+1 ! print*,ia,ib,nz,ndat0,t0,t1 - if(npick.ne.0) go to 900 !### TEMPORARILY DISABLE PICK DECODES ### + if(npick.gt.1) go to 900 !### DISABLE PICK FROM LOWER PANEL### if(newdat.eq.1 .or. npick.le.1) then call msk144_decode(id2(ia),nz,nutc,0,pchk_file,mycall,hiscall, & bShMsgs,ntol,t0,line) diff --git a/lib/genmsk144.f90 b/lib/genmsk144.f90 index c00ad7a0d..6b4b844b7 100644 --- a/lib/genmsk144.f90 +++ b/lib/genmsk144.f90 @@ -1,4 +1,5 @@ -subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file,ldpc_msg) +subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file,ldpc_msg, & + encodeExeFile) !!!!!!!!!!!!!!!!!! Experimental small blocklength ldpc version ! s8 + 48bits + s8 + 80 bits = 144 bits (72ms message duration) @@ -22,7 +23,7 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file,ldpc_msg) use iso_c_binding, only: c_loc,c_size_t use packjt use hashing - character*512 pchk_file,gen_file,ldpc_msg,ldpc_cw + character*512 pchk_file,gen_file,ldpc_msg,ldpc_cw,encodeExeFile character*120 fname1,fname2 character*2048 cmnd character*22 msg0 @@ -139,9 +140,9 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file,ldpc_msg) write(24,1010) msgbits 1010 format(80i1) close(24) - cmnd='encode "'//trim(pchk_file)//'" "'//trim(gen_file)//'" "' & - //trim(fname1)//'" "'//trim(fname2)//'"' - call system(cmnd) + cmnd=trim(encodeExeFile)//' "'//trim(pchk_file)//'" "'// & + trim(gen_file)//'" "'//trim(fname1)//'" "'//trim(fname2)//'"' + call system(trim(cmnd)) open(24,file=fname2,status='old') read(24,1020) codeword 1020 format(128i1) diff --git a/mainwindow.cpp b/mainwindow.cpp index 1a1733817..bfb2de1e3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -78,8 +78,8 @@ extern "C" { int* itext, int len1, int len2); void genmsk144_(char* msg, int* ichk, char* msgsent, int itone[], - int* itext, char pchkFile[], char ldpcMsgFile[], - int len1, int len2, int len3, int len4); + int* itext, char pchkFile[], char ldpcMsgFile[], char encodeExeFile[], + int len1, int len2, int len3, int len4, int len5); void gen65_(char* msg, int* ichk, char* msgsent, int itone[], int* itext, int len1, int len2); @@ -844,6 +844,13 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, if(icbFast9->setVisible(false); } m_config.transceiver_online (); @@ -2764,7 +2772,7 @@ void MainWindow::guiUpdate() if(m_modeTx=="MSK144") { genmsk144_(message, &ichk, msgsent, const_cast (itone), &m_currentMessageType, &m_pchkFile[0], &m_ldpcMsgFile[0], - len1, len1, 512, 512); + &m_encodeExeFile[0], len1, len1, 512, 512, 512); if(m_restart) { int nsym=144; if(itone[40]==-40) nsym=40; @@ -3902,7 +3910,6 @@ void MainWindow::on_actionJT9_triggered() m_nsps=6912; m_FFTSize = m_nsps / 2; Q_EMIT FFTSize (m_FFTSize); - QString t1=(QString)QChar(short(m_nSubMode+65)); m_hsymStop=173; if(m_config.decode_at_52s()) m_hsymStop=179; bool bVHF=m_config.enable_VHF_features(); @@ -4008,6 +4015,9 @@ void MainWindow::on_actionMSK144_triggered() ui->rptSpinBox->setSingleStep(1); ui->sbFtol->setMinimum(23); ui->sbFtol->setMaximum(25); + bool b=m_config.my_callsign()=="K1JT" or m_config.my_callsign()=="K9AN"; + ui->cbCQRx->setEnabled(b); + ui->cbFast9->setVisible(false); } void MainWindow::on_actionQRA64_triggered() @@ -4297,6 +4307,7 @@ void MainWindow::switch_mode (Mode mode) ui->rptSpinBox->setMaximum(49); ui->sbFtol->setMinimum(21); ui->sbFtol->setMaximum(27); + ui->RxFreqSpinBox->setVisible(m_mode!="MSK144"); } void MainWindow::WSPR_config(bool b) @@ -5180,7 +5191,8 @@ void MainWindow::on_sbSubmode_valueChanged(int n) m_nSubMode=n; m_wideGraph->setSubMode(m_nSubMode); mode_label.setText (m_mode); - if (m_mode != "JT9+JT65" || !m_config.enable_VHF_features ()) { + if ((m_mode != "JT9+JT65" and m_mode != "MSK144" and m_mode != "JTMSK" and + !m_mode.startsWith ("WSPR")) || !m_config.enable_VHF_features ()) { mode_label.setText (mode_label.text () + " " + QChar {short (m_nSubMode + 65)}); } if(m_mode=="ISCAT") { diff --git a/mainwindow.h b/mainwindow.h index 8a9b1f919..0847aab4c 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -427,6 +427,7 @@ private: char m_msg[100][80]; char m_pchkFile[512]; char m_ldpcMsgFile[512]; + char m_encodeExeFile[512]; // labels in status bar QLabel tx_status_label; diff --git a/mainwindow.ui b/mainwindow.ui index 3583cc856..d80bd63a7 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -913,7 +913,7 @@ QLabel[oob="true"] { - true + false @@ -2516,7 +2516,7 @@ QPushButton[state="ok"] { true - false + true Save decoded