Adjust the GUI to accommodate JTMSK shorthand messages. (NB: Tx message

echoed with yellow background is incomplete.)


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6403 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2016-01-15 21:53:27 +00:00
parent 45a4bcf894
commit 50daadf7f9
3 changed files with 9 additions and 5 deletions

View File

@ -54,7 +54,7 @@ subroutine genmsk(msg0,ichk,msgsent,i4tone,itype)
call genmsk_short(message,msgsent,i4tone,itype)
if(itype.lt.0) go to 999
i4tone(38)=-37
go to 900
go to 999
endif
call packmsg(message,i4Msg6BitWords,itype) !Pack into 12 6-bit bytes
@ -100,7 +100,7 @@ subroutine genmsk(msg0,ichk,msgsent,i4tone,itype)
if(mod(nn3,2).eq.0) i4tone(36+n1+n2+n3)=1 !1 parity bit
endif
900 n=count(i4tone.eq.0)
n=count(i4tone.eq.0)
if(mod(n,2).ne.0) stop 'Parity error in genmsk.'
999 return

View File

@ -15,6 +15,7 @@ subroutine genmsk_short(msg,msgsent,itone,itype)
itone=0
i1=index(msg,'>')
if(i1.lt.9) go to 900
call fmtmsg(msg,iz)
crpt=msg(i1+2:i1+5)
do i=0,7
if(crpt.eq.rpt(i)) go to 10

View File

@ -120,7 +120,7 @@ QVector<QColor> g_ColorTbl;
namespace
{
Radio::Frequency constexpr default_frequency {14076000};
QRegExp message_alphabet {"[- @A-Za-z0-9+./?#]*"};
QRegExp message_alphabet {"[- @A-Za-z0-9+./?#<>]*"};
bool message_is_73 (int type, QStringList const& msg_parts)
{
@ -3309,7 +3309,8 @@ void MainWindow::msgtype(QString t, QLineEdit* tx) //msgtype()
tx->setPalette(p);
int len=t.length();
auto pos = tx->cursorPosition ();
if(text) {
// if(text) {
if(text && m_mode!="JTMSK" && t.mid(0,1)!="<") {
len=qMin(len,13);
tx->setText(t.mid(0,len).toUpper());
} else {
@ -4338,7 +4339,9 @@ void MainWindow::transmit (double snr)
m_nsps=6;
m_toneSpacing=6000.0/m_nsps;
double f0=1000.0;
Q_EMIT sendMessage (NUM_JTMSK_SYMBOLS, double(m_nsps), f0, m_toneSpacing,
int nsym=NUM_JTMSK_SYMBOLS;
if(itone[37] < 0) nsym=37;
Q_EMIT sendMessage (nsym, double(m_nsps), f0, m_toneSpacing,
m_soundOutput, m_config.audio_output_channel (),
true, true, snr, m_TRperiod);
}