mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 10:22:26 -04:00
Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop
This commit is contained in:
commit
93223ea455
@ -177,15 +177,6 @@ unsigned DecodedText::timeInSeconds() const
|
|||||||
+ (padding_ ? string_.mid (column_time + 2 + padding_, 2).toUInt () : 0U);
|
+ (padding_ ? string_.mid (column_time + 2 + padding_, 2).toUInt () : 0U);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
2343 -11 0.8 1259 # YV6BFE F6GUU R-08
|
|
||||||
2343 -19 0.3 718 # VE6WQ SQ2NIJ -14
|
|
||||||
2343 -7 0.3 815 # KK4DSD W7VP -16
|
|
||||||
2343 -13 0.1 3627 @ CT1FBK IK5YZT R+02
|
|
||||||
|
|
||||||
0605 Tx 1259 # CQ VK3ACF QF22
|
|
||||||
*/
|
|
||||||
|
|
||||||
QString DecodedText::report() const // returns a string of the SNR field with a leading + or - followed by two digits
|
QString DecodedText::report() const // returns a string of the SNR field with a leading + or - followed by two digits
|
||||||
{
|
{
|
||||||
int sr = snr();
|
int sr = snr();
|
||||||
|
@ -40,6 +40,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
character(len=20) :: datetime
|
character(len=20) :: datetime
|
||||||
character(len=12) :: mycall, hiscall
|
character(len=12) :: mycall, hiscall
|
||||||
character(len=6) :: mygrid, hisgrid
|
character(len=6) :: mygrid, hisgrid
|
||||||
|
character*60 line
|
||||||
data ndec8/0/
|
data ndec8/0/
|
||||||
save
|
save
|
||||||
type(counting_jt4_decoder) :: my_jt4
|
type(counting_jt4_decoder) :: my_jt4
|
||||||
@ -62,6 +63,21 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
my_ft8%decoded = 0
|
my_ft8%decoded = 0
|
||||||
my_ft4%decoded = 0
|
my_ft4%decoded = 0
|
||||||
|
|
||||||
|
! For testing only: return Rx messages stored in a file as decodes
|
||||||
|
inquire(file='rx_messages.txt',exist=ex)
|
||||||
|
if(ex) then
|
||||||
|
if(params%nzhsym.eq.41) then
|
||||||
|
open(39,file='rx_messages.txt',status='old')
|
||||||
|
do i=1,9999
|
||||||
|
read(39,'(a60)',end=5) line
|
||||||
|
if(line(1:1).eq.' ' .or. line(1:1).eq.'-') go to 800
|
||||||
|
write(*,'(a)') trim(line)
|
||||||
|
enddo
|
||||||
|
5 close(39)
|
||||||
|
endif
|
||||||
|
go to 800
|
||||||
|
endif
|
||||||
|
|
||||||
ncontest=iand(params%nexp_decode,7)
|
ncontest=iand(params%nexp_decode,7)
|
||||||
single_decode=iand(params%nexp_decode,32).ne.0
|
single_decode=iand(params%nexp_decode,32).ne.0
|
||||||
bVHF=iand(params%nexp_decode,64).ne.0
|
bVHF=iand(params%nexp_decode,64).ne.0
|
||||||
|
@ -4517,6 +4517,19 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
ui->dxCallEntry->setText(hiscall);
|
ui->dxCallEntry->setText(hiscall);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList w=message.string().mid(22).remove("<").remove(">").split(" ",QString::SkipEmptyParts);
|
||||||
|
int nw=w.size();
|
||||||
|
if(nw>=4) {
|
||||||
|
if(message_words.size()<3) return;
|
||||||
|
// Temporary? Correct for the fact that message.deCallAndGrid() does not work for EU VHF contest messages
|
||||||
|
QString t=message_words.at(nw-2);
|
||||||
|
int n=w.at(nw-2).toInt();
|
||||||
|
if(n>=520001 and n<=592047) {
|
||||||
|
hiscall=w.at(1);
|
||||||
|
hisgrid=w.at(nw-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool is_73 = message_words.filter (QRegularExpression {"^(73|RR73)$"}).size ();
|
bool is_73 = message_words.filter (QRegularExpression {"^(73|RR73)$"}).size ();
|
||||||
if (!is_73 and !message.isStandardMessage() and !message.string().contains("<")) {
|
if (!is_73 and !message.isStandardMessage() and !message.string().contains("<")) {
|
||||||
qDebug () << "Not processing message - hiscall:" << hiscall << "hisgrid:" << hisgrid
|
qDebug () << "Not processing message - hiscall:" << hiscall << "hisgrid:" << hisgrid
|
||||||
@ -4577,7 +4590,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
|| dtext.contains (" " + m_baseCall + "/")
|
|| dtext.contains (" " + m_baseCall + "/")
|
||||||
|| (firstcall == "DE")) {
|
|| (firstcall == "DE")) {
|
||||||
|
|
||||||
QStringList w=message.string().mid(22).remove("<").remove(">").split(" ",QString::SkipEmptyParts);
|
|
||||||
QString w2;
|
QString w2;
|
||||||
if(w.size()>=3) w2=w.at(2);
|
if(w.size()>=3) w2=w.at(2);
|
||||||
QString w34;
|
QString w34;
|
||||||
@ -4589,15 +4601,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
}
|
}
|
||||||
bool bEU_VHF_w2=(nrpt>=520001 and nrpt<=594000);
|
bool bEU_VHF_w2=(nrpt>=520001 and nrpt<=594000);
|
||||||
if(bEU_VHF_w2 and SpecOp::EU_VHF!=m_config.special_op_id()) {
|
if(bEU_VHF_w2 and SpecOp::EU_VHF!=m_config.special_op_id()) {
|
||||||
// Switch automatically to EU VHF Contest mode
|
MessageBox::information_message (this, tr ("Should you switch to EU VHF Contest mode?"));
|
||||||
m_config.setEU_VHF_Contest();
|
|
||||||
// m_nContest=EU_VHF;
|
|
||||||
if(m_transmitting) m_restart=true;
|
|
||||||
ui->decodedTextBrowser2->displayQSY (QString{"Enabled EU VHF Contest messages."});
|
|
||||||
QString t0="EU VHF";
|
|
||||||
ui->labDXped->setVisible(true);
|
|
||||||
ui->labDXped->setText(t0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList t=message.string().split(' ', QString::SkipEmptyParts);
|
QStringList t=message.string().split(' ', QString::SkipEmptyParts);
|
||||||
int n=t.size();
|
int n=t.size();
|
||||||
QString t0=t.at(n-2);
|
QString t0=t.at(n-2);
|
||||||
@ -4609,7 +4615,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
m_xRcvd=t.at(n-2) + " " + t.at(n-1);
|
m_xRcvd=t.at(n-2) + " " + t.at(n-1);
|
||||||
t0=t.at(n-3);
|
t0=t.at(n-3);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(bFieldDay_msg and SpecOp::FIELD_DAY!=m_config.special_op_id()) {
|
if(bFieldDay_msg and SpecOp::FIELD_DAY!=m_config.special_op_id()) {
|
||||||
// ### Should be in ARRL Field Day mode ??? ###
|
// ### Should be in ARRL Field Day mode ??? ###
|
||||||
MessageBox::information_message (this, tr ("Should you switch to ARRL Field Day mode?"));
|
MessageBox::information_message (this, tr ("Should you switch to ARRL Field Day mode?"));
|
||||||
@ -4622,9 +4627,15 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
// ### Should be in RTTY contest mode ??? ###
|
// ### Should be in RTTY contest mode ??? ###
|
||||||
MessageBox::information_message (this, tr ("Should you switch to RTTY contest mode?"));
|
MessageBox::information_message (this, tr ("Should you switch to RTTY contest mode?"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(SpecOp::EU_VHF==m_config.special_op_id() and message_words.at(1).contains(m_baseCall) and
|
||||||
|
(!message_words.at(2).contains(qso_partner_base_call)) and (!m_bDoubleClicked)) {
|
||||||
|
// qDebug() << "aa" << "Ignoring:" << message.string().mid(24);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(message_words.size () > 3 // enough fields for a normal message
|
if(message_words.size () > 3 // enough fields for a normal message
|
||||||
&& (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1))
|
&& (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1))
|
||||||
// && (message_words.at(2).contains(qso_partner_base_call) or bEU_VHF_w2)) {
|
|
||||||
&& (message_words.at(2).contains(qso_partner_base_call) or m_bDoubleClicked
|
&& (message_words.at(2).contains(qso_partner_base_call) or m_bDoubleClicked
|
||||||
or bEU_VHF_w2 or (m_QSOProgress==CALLING))) {
|
or bEU_VHF_w2 or (m_QSOProgress==CALLING))) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user