mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-30 21:32:29 -04:00
Send MyCall, HisCall, and state of Sh checkbox to mskrtd, to enable MSK144 Sh messages with the realtime decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7150 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
c69c1be97c
commit
bda40d5c5d
@ -1,5 +1,5 @@
|
|||||||
subroutine hspec(id2,k,nutc0,ntrpdepth,nrxfreq,ntol,bmsk144,ingain, &
|
subroutine hspec(id2,k,nutc0,ntrpdepth,nrxfreq,ntol,bmsk144,ingain, &
|
||||||
green,s,jh,line1)
|
mycall,hiscall,bshmsg,green,s,jh,line1)
|
||||||
|
|
||||||
! Input:
|
! Input:
|
||||||
! k pointer to the most recent new data
|
! k pointer to the most recent new data
|
||||||
@ -17,8 +17,9 @@ subroutine hspec(id2,k,nutc0,ntrpdepth,nrxfreq,ntol,bmsk144,ingain, &
|
|||||||
|
|
||||||
parameter (JZ=703)
|
parameter (JZ=703)
|
||||||
character*80 line1
|
character*80 line1
|
||||||
|
character*12 mycall,hiscall
|
||||||
integer*2 id2(0:120*12000-1)
|
integer*2 id2(0:120*12000-1)
|
||||||
logical*1 bmsk144
|
logical*1 bmsk144,bshmsg
|
||||||
real green(0:JZ-1)
|
real green(0:JZ-1)
|
||||||
real s(0:63,0:JZ-1)
|
real s(0:63,0:JZ-1)
|
||||||
real x(512)
|
real x(512)
|
||||||
@ -75,7 +76,8 @@ subroutine hspec(id2,k,nutc0,ntrpdepth,nrxfreq,ntol,bmsk144,ingain, &
|
|||||||
if(bmsk144) then
|
if(bmsk144) then
|
||||||
if(k.ge.7168) then
|
if(k.ge.7168) then
|
||||||
tsec=(k-7168)/12000.0
|
tsec=(k-7168)/12000.0
|
||||||
call mskrtd(id2(k-7168+1:k),nutc0,tsec,ntol,nrxfreq,ndepth,line1)
|
call mskrtd(id2(k-7168+1:k),nutc0,tsec,ntol,nrxfreq,ndepth, &
|
||||||
|
mycall,hiscall,bshmsg,line1)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ subroutine msk40spd(cbig,n,ntol,mycall,hiscall,nsuccess,msgreceived,fc,fret,tret
|
|||||||
0,1,1, &
|
0,1,1, &
|
||||||
1,1,1/
|
1,1,1/
|
||||||
data tpat/1.5,0.5,2.5,1.0,2.0,1.5/
|
data tpat/1.5,0.5,2.5,1.0,2.0,1.5/
|
||||||
|
|
||||||
save df,first,fs,pi,twopi,dt,tframe,rcw
|
save df,first,fs,pi,twopi,dt,tframe,rcw
|
||||||
|
|
||||||
if(first) then
|
if(first) then
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,hiscall, &
|
||||||
|
bshmsg,line)
|
||||||
|
|
||||||
! Real-time decoder for MSK144.
|
! Real-time decoder for MSK144.
|
||||||
! Analysis block size = NZ = 7168 samples, t_block = 0.597333 s
|
! Analysis block size = NZ = 7168 samples, t_block = 0.597333 s
|
||||||
@ -13,8 +14,7 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
|||||||
character*22 msgreceived !Decoded message
|
character*22 msgreceived !Decoded message
|
||||||
character*22 msglast !!! temporary - used for dupechecking
|
character*22 msglast !!! temporary - used for dupechecking
|
||||||
character*80 line !Formatted line with UTC dB T Freq Msg
|
character*80 line !Formatted line with UTC dB T Freq Msg
|
||||||
!##### TEMPORARY
|
character*12 mycall,hiscall
|
||||||
character*6 mycall,hiscall
|
|
||||||
|
|
||||||
complex cdat(NFFT1) !Analytic signal
|
complex cdat(NFFT1) !Analytic signal
|
||||||
complex c(NSPM) !Coherently averaged complex data
|
complex c(NSPM) !Coherently averaged complex data
|
||||||
@ -28,6 +28,8 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
|||||||
real d(NFFT1)
|
real d(NFFT1)
|
||||||
real pow(8)
|
real pow(8)
|
||||||
real xmc(NPATTERNS)
|
real xmc(NPATTERNS)
|
||||||
|
|
||||||
|
logical*1 bshmsg
|
||||||
logical first
|
logical first
|
||||||
data first/.true./
|
data first/.true./
|
||||||
data iavpatterns/ &
|
data iavpatterns/ &
|
||||||
@ -35,11 +37,7 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
|||||||
0,0,1,1,1,1,0,0, &
|
0,0,1,1,1,1,0,0, &
|
||||||
1,1,1,1,1,0,0,0, &
|
1,1,1,1,1,0,0,0, &
|
||||||
1,1,1,1,1,1,1,0/
|
1,1,1,1,1,1,1,0/
|
||||||
data xmc/2.0,4.5,2.5,3.5/ !Used to label decode with time at center of averaging mask
|
data xmc/2.0,4.5,2.5,3.5/ !Used to set time at center of averaging mask
|
||||||
!###### TEMPORARY
|
|
||||||
data mycall/'K9AN'/
|
|
||||||
data hiscall/'K1JT'/
|
|
||||||
|
|
||||||
save first,tsec0,nutc00,pnoise,nsnrlast,msglast,cdat
|
save first,tsec0,nutc00,pnoise,nsnrlast,msglast,cdat
|
||||||
|
|
||||||
if(first) then
|
if(first) then
|
||||||
@ -93,8 +91,9 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
|||||||
|
|
||||||
!############################################################
|
!############################################################
|
||||||
!##### hardwired for testing - need to bring in Sh box status
|
!##### hardwired for testing - need to bring in Sh box status
|
||||||
if( nsuccess .eq. 0 .and. .false. ) then
|
if(nsuccess.eq.0 .and. bshmsg) then
|
||||||
call msk40spd(cdat,np,ntol,mycall,hiscall,nsuccess,msgreceived,fc,fest,tdec,navg)
|
call msk40spd(cdat,np,ntol,mycall(1:6),hiscall(1:6),nsuccess, &
|
||||||
|
msgreceived,fc,fest,tdec,navg)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if( nsuccess .eq. 1 ) then
|
if( nsuccess .eq. 1 ) then
|
||||||
|
@ -64,12 +64,12 @@
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
//----------------------------------------------------- C and Fortran routines
|
//----------------------------------------------------- C and Fortran routines
|
||||||
void symspec_(struct dec_data *, int* k, int* ntrperiod, int* nsps, int* ingain, int* minw,
|
void symspec_(struct dec_data *, int* k, int* ntrperiod, int* nsps, int* ingain,
|
||||||
float* px, float s[], float* df3, int* nhsym, int* npts8);
|
int* minw, float* px, float s[], float* df3, int* nhsym, int* npts8);
|
||||||
|
|
||||||
void hspec_(short int d2[], int* k, int* nutc0, int* ntrperiod, int* nrxfreq, int* ntol,
|
void hspec_(short int d2[], int* k, int* nutc0, int* ntrperiod, int* nrxfreq, int* ntol,
|
||||||
bool* bmsk144, int* ingain, float green[], float s[], int* jh,
|
bool* bmsk144, int* ingain, char mycall[], char hiscall[], bool* bshmsg,
|
||||||
char line[], int len1);
|
float green[], float s[], int* jh, char line[], int len1, int len2, int len3);
|
||||||
|
|
||||||
void gen4_(char* msg, int* ichk, char* msgsent, int itone[],
|
void gen4_(char* msg, int* ichk, char* msgsent, int itone[],
|
||||||
int* itext, int len1, int len2);
|
int* itext, int len1, int len2);
|
||||||
@ -1282,8 +1282,13 @@ void MainWindow::fastSink(qint64 frames)
|
|||||||
m_RxFreq=ui->RxFreqSpinBox->value ();
|
m_RxFreq=ui->RxFreqSpinBox->value ();
|
||||||
int nTRpDepth=m_TRperiod + 1000*(m_ndepth & 3);
|
int nTRpDepth=m_TRperiod + 1000*(m_ndepth & 3);
|
||||||
qint64 ms0 = QDateTime::currentMSecsSinceEpoch();
|
qint64 ms0 = QDateTime::currentMSecsSinceEpoch();
|
||||||
|
strncpy(dec_data.params.mycall, (m_config.my_callsign()+" ").toLatin1(),12);
|
||||||
|
QString hisCall {ui->dxCallEntry->text ()};
|
||||||
|
bool bshmsg=ui->cbShMsgs->isChecked();
|
||||||
|
strncpy(dec_data.params.hiscall,(hisCall + " ").toLatin1 ().constData (), 12);
|
||||||
hspec_(dec_data.d2,&k,&nutc0,&nTRpDepth,&m_RxFreq,&m_Ftol,&bmsk144,&m_inGain,
|
hspec_(dec_data.d2,&k,&nutc0,&nTRpDepth,&m_RxFreq,&m_Ftol,&bmsk144,&m_inGain,
|
||||||
fast_green,fast_s,&fast_jh, &line[0],80);
|
&dec_data.params.mycall[0],&dec_data.params.hiscall[0],&bshmsg,
|
||||||
|
fast_green,fast_s,&fast_jh,&line[0],12,12,80);
|
||||||
float px = fast_green[fast_jh];
|
float px = fast_green[fast_jh];
|
||||||
QString t;
|
QString t;
|
||||||
t.sprintf(" Rx noise: %5.1f ",px);
|
t.sprintf(" Rx noise: %5.1f ",px);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user