diff --git a/Modulator.hpp b/Modulator.hpp index ff5975205..09974b65e 100644 --- a/Modulator.hpp +++ b/Modulator.hpp @@ -32,6 +32,7 @@ public: bool isActive () const {return m_state != Idle;} void setSpread(double s) {m_fSpread=s;} void setPeriod(unsigned p) {m_period=p;} + void set_nsym(int n) {m_symbolsLength=n;} Q_SLOT void start (unsigned symbolsLength, double framesPerSymbol, double frequency, double toneSpacing, SoundOutput *, Channel = Mono, diff --git a/lib/genmsk144.f90 b/lib/genmsk144.f90 index 949621393..586831cc9 100644 --- a/lib/genmsk144.f90 +++ b/lib/genmsk144.f90 @@ -83,7 +83,7 @@ subroutine genmsk144(msg0,ichk,msgsent,i4tone,itype,pchk_file) if(message(1:1).eq.'<') then call genmsk32(message,msgsent,ichk,i4tone,itype) if(itype.lt.0) go to 999 - i4tone(33)=-35 + i4tone(33)=-32 go to 999 endif diff --git a/mainwindow.cpp b/mainwindow.cpp index 5b0dc264e..b642bb714 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2744,18 +2744,24 @@ void MainWindow::guiUpdate() len1, len1); if(m_modeTx=="JTMSK") genmsk_(message, &ichk, msgsent, const_cast (itone), &m_currentMessageType, len1, len1); - if(m_modeTx=="MSK144") genmsk144_(message, &ichk, msgsent, const_cast (itone), - &m_currentMessageType, &m_pchkFile[0], len1, len1, 512); + if(m_modeTx=="MSK144") { + genmsk144_(message, &ichk, msgsent, const_cast (itone), + &m_currentMessageType, &m_pchkFile[0], len1, len1, 512); + if(m_restart) { + int nsym=144; + if(itone[32]==-32) nsym=32; + m_modulator->set_nsym(nsym); + } + } msgsent[22]=0; } } m_currentMessage = QString::fromLatin1(msgsent); - if (m_tune) - { - m_currentMessage = "TUNE"; - m_currentMessageType = -1; - } + if (m_tune) { + m_currentMessage = "TUNE"; + m_currentMessageType = -1; + } last_tx_label.setText("Last Tx: " + m_currentMessage); if(m_restart) { QFile f {m_dataDir.absoluteFilePath ("ALL.TXT")};