mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05: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