mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-07-31 21:22:27 -04:00
Adjust decodes displays and processing for extra csync indicator after mode
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6674 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
4f822d3862
commit
f057453da4
@ -28,13 +28,13 @@ class DecodedText
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// These define the columns in the decoded text where fields are to be found.
|
// These define the columns in the decoded text where fields are to be found.
|
||||||
// We rely on these columns being the same in the fortran code (lib/decode.f90) that formats the decoded text
|
// We rely on these columns being the same in the fortran code (lib/decoder.f90) that formats the decoded text
|
||||||
enum Columns { column_time = 0,
|
enum Columns { column_time = 0,
|
||||||
column_snr = 5,
|
column_snr = 5,
|
||||||
column_dt = 9,
|
column_dt = 9,
|
||||||
column_freq = 14,
|
column_freq = 14,
|
||||||
column_mode = 19,
|
column_mode = 19,
|
||||||
column_qsoText = 21 };
|
column_qsoText = 22 };
|
||||||
|
|
||||||
void operator=(const QString &rhs)
|
void operator=(const QString &rhs)
|
||||||
{
|
{
|
||||||
|
@ -86,9 +86,9 @@ void DisplayText::_appendDXCCWorkedB4(DecodedText& t1, QString& bg,
|
|||||||
|
|
||||||
int charsAvail = 48;
|
int charsAvail = 48;
|
||||||
|
|
||||||
// the decoder (seems) to always generate 40 chars. For a normal CQ call, the last five are spaces
|
// the decoder (seems) to always generate 41 chars. For a normal CQ call, the last five are spaces
|
||||||
// TODO this magic 36 characters is also referenced in MainWindow::doubleClickOnCall()
|
// TODO this magic 37 characters is also referenced in MainWindow::doubleClickOnCall()
|
||||||
int nmin=35;
|
int nmin=37;
|
||||||
int i=t1.indexOf(" CQ ");
|
int i=t1.indexOf(" CQ ");
|
||||||
int k=t1.string().mid(i+4,3).toInt();
|
int k=t1.string().mid(i+4,3).toInt();
|
||||||
if(k>0 and k<999) nmin += 4;
|
if(k>0 and k<999) nmin += 4;
|
||||||
|
@ -23,7 +23,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
end type counting_jt9_decoder
|
end type counting_jt9_decoder
|
||||||
|
|
||||||
real ss(184,NSMAX)
|
real ss(184,NSMAX)
|
||||||
logical baddata,newdat65,newdat9
|
logical baddata,newdat65,newdat9,single_decode
|
||||||
integer*2 id2(NTMAX*12000)
|
integer*2 id2(NTMAX*12000)
|
||||||
type(params_block) :: params
|
type(params_block) :: params
|
||||||
real*4 dd(NTMAX*12000)
|
real*4 dd(NTMAX*12000)
|
||||||
@ -32,6 +32,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
type(counting_jt65_decoder) :: my_jt65
|
type(counting_jt65_decoder) :: my_jt65
|
||||||
type(counting_jt9_decoder) :: my_jt9
|
type(counting_jt9_decoder) :: my_jt9
|
||||||
|
|
||||||
|
single_decode=iand(params%nexp_decode,32).ne.0
|
||||||
if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2)
|
if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2)
|
||||||
if(mod(params%nranera,2).eq.1) ntrials=3*10**(params%nranera/2)
|
if(mod(params%nranera,2).eq.1) ntrials=3*10**(params%nranera/2)
|
||||||
if(params%nranera.eq.0) ntrials=0
|
if(params%nranera.eq.0) ntrials=0
|
||||||
@ -223,7 +224,7 @@ contains
|
|||||||
integer, intent(in) :: minsync
|
integer, intent(in) :: minsync
|
||||||
|
|
||||||
integer i,n
|
integer i,n
|
||||||
character*5 ctail,decoded*22,csync*2,fmt*33
|
character*5 ctail,decoded*22,csync*2
|
||||||
character*36 c
|
character*36 c
|
||||||
data c/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
data c/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
||||||
|
|
||||||
@ -231,12 +232,11 @@ contains
|
|||||||
! write(*,3301) ft,qual,nsmo,nsum,minsync,naggressive,sync !###
|
! write(*,3301) ft,qual,nsmo,nsum,minsync,naggressive,sync !###
|
||||||
!3301 format('decoded.f90:',6i3,f5.1) !###
|
!3301 format('decoded.f90:',6i3,f5.1) !###
|
||||||
|
|
||||||
if (iand(params%nexp_decode,32).ne.0) print *, 'OK'
|
|
||||||
decoded=decoded0
|
decoded=decoded0
|
||||||
fmt='(i4.4,i4,f5.1,i5,1x,a1,1x,a22,a5)'
|
! fmt='(i4.4,i4,f5.1,i5,1x,a1,1x,a22,a5)'
|
||||||
if(iand(params%nexp_decode,32).ne.0) fmt='(i4.4,i4,f5.1,i5,1x,a2,1x,a22,a5)'
|
! if(single_decode) fmt='(i4.4,i4,f5.1,i5,1x,a2,1x,a22,a5)'
|
||||||
if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
|
if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
|
||||||
write(*,fmt) params%nutc,snr,dt,freq
|
write(*,1010) params%nutc,snr,dt,freq
|
||||||
else
|
else
|
||||||
ctail=' '
|
ctail=' '
|
||||||
if(params%naggressive.gt.0 .and. ft.gt.0) then
|
if(params%naggressive.gt.0 .and. ft.gt.0) then
|
||||||
@ -254,7 +254,7 @@ contains
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
csync='# '
|
csync='# '
|
||||||
if(nflip.ne.0 .and. sync.ge.max(0.0,float(minsync))) then
|
if(single_decode .and. nflip.ne.0 .and. sync.ge.max(0.0,float(minsync))) then
|
||||||
csync='#*'
|
csync='#*'
|
||||||
if(nflip.eq.-1) then
|
if(nflip.eq.-1) then
|
||||||
csync='##'
|
csync='##'
|
||||||
@ -266,7 +266,8 @@ contains
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
write(*,fmt) params%nutc,snr,dt,freq,csync,decoded,ctail
|
write(*,1010) params%nutc,snr,dt,freq,csync,decoded,ctail
|
||||||
|
1010 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,a5)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
write(13,1012) params%nutc,nint(sync),snr,dt,float(freq),drift,decoded,ft,nsum,nsmo
|
write(13,1012) params%nutc,nint(sync),snr,dt,float(freq),drift,decoded,ft,nsum,nsmo
|
||||||
@ -294,7 +295,7 @@ contains
|
|||||||
|
|
||||||
!$omp critical(decode_results)
|
!$omp critical(decode_results)
|
||||||
write(*,1000) params%nutc,snr,dt,nint(freq),decoded
|
write(*,1000) params%nutc,snr,dt,nint(freq),decoded
|
||||||
1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a22)
|
1000 format(i4.4,i4,f5.1,i5,1x,'@ ',1x,a22)
|
||||||
write(13,1002) params%nutc,nint(sync),snr,dt,freq,drift,decoded
|
write(13,1002) params%nutc,nint(sync),snr,dt,freq,drift,decoded
|
||||||
1002 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT9')
|
1002 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT9')
|
||||||
call flush(6)
|
call flush(6)
|
||||||
|
@ -560,7 +560,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
ui->labAz->setStyleSheet("border: 0px;");
|
ui->labAz->setStyleSheet("border: 0px;");
|
||||||
ui->labDist->setStyleSheet("border: 0px;");
|
ui->labDist->setStyleSheet("border: 0px;");
|
||||||
|
|
||||||
auto t = "UTC dB DT Freq Message";
|
auto t = "UTC dB DT Freq Message";
|
||||||
ui->decodedTextLabel->setText(t);
|
ui->decodedTextLabel->setText(t);
|
||||||
ui->decodedTextLabel2->setText(t);
|
ui->decodedTextLabel2->setText(t);
|
||||||
|
|
||||||
@ -2860,10 +2860,10 @@ void MainWindow::processMessage(QString const& messages, int position, bool ctrl
|
|||||||
decodedtext = t2a;
|
decodedtext = t2a;
|
||||||
|
|
||||||
if (decodedtext.indexOf(" CQ ") > 0) {
|
if (decodedtext.indexOf(" CQ ") > 0) {
|
||||||
// TODO this magic 36 characters is also referenced in DisplayText::_appendDXCCWorkedB4()
|
// TODO this magic 37 characters is also referenced in DisplayText::_appendDXCCWorkedB4()
|
||||||
auto eom_pos = decodedtext.string ().indexOf (' ', 35);
|
auto eom_pos = decodedtext.string ().indexOf (' ', 36);
|
||||||
if (eom_pos < 35) eom_pos = decodedtext.string ().size () - 1; // we always want at least the characters
|
if (eom_pos < 36) eom_pos = decodedtext.string ().size () - 1; // we always want at least the characters
|
||||||
// to position 35
|
// to position 36
|
||||||
decodedtext = decodedtext.string ().left (eom_pos + 1); // remove DXCC entity and worked B4 status. TODO need a better way to do this
|
decodedtext = decodedtext.string ().left (eom_pos + 1); // remove DXCC entity and worked B4 status. TODO need a better way to do this
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3558,8 +3558,8 @@ void MainWindow::on_actionJT9_triggered()
|
|||||||
ui->sbTR->setVisible(true);
|
ui->sbTR->setVisible(true);
|
||||||
} else {
|
} else {
|
||||||
m_TRperiod=60;
|
m_TRperiod=60;
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
||||||
ui->decodedTextLabel2->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB DT Freq Message");
|
||||||
ui->sbTR->setVisible(false);
|
ui->sbTR->setVisible(false);
|
||||||
}
|
}
|
||||||
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
||||||
@ -3895,7 +3895,7 @@ void MainWindow::WSPR_config(bool b)
|
|||||||
}
|
}
|
||||||
m_bSimplex = true;
|
m_bSimplex = true;
|
||||||
} else {
|
} else {
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
||||||
auto_tx_label->setText (m_config.quick_call () ? "Auto-Tx-Enable Armed" : "Auto-Tx-Enable Disarmed");
|
auto_tx_label->setText (m_config.quick_call () ? "Auto-Tx-Enable Armed" : "Auto-Tx-Enable Disarmed");
|
||||||
m_bSimplex = false;
|
m_bSimplex = false;
|
||||||
}
|
}
|
||||||
@ -4968,7 +4968,7 @@ void MainWindow::postDecode (bool is_new, QString const& message)
|
|||||||
if (parts.size () >= 5)
|
if (parts.size () >= 5)
|
||||||
{
|
{
|
||||||
m_messageClient->decode (is_new, QTime::fromString (parts[0], "hhmm"), parts[1].toInt ()
|
m_messageClient->decode (is_new, QTime::fromString (parts[0], "hhmm"), parts[1].toInt ()
|
||||||
, parts[2].toFloat (), parts[3].toUInt (), parts[4], decode.mid (21));
|
, parts[2].toFloat (), parts[3].toUInt (), parts[4][0], decode.mid (21));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user