mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-09-27 15:46:51 -04:00
Additional changes to enable Fox to use a compound callsign.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8364 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
f492a2560d
commit
c353ec244f
@ -85,7 +85,7 @@ extern struct {
|
|||||||
int nslots;
|
int nslots;
|
||||||
int i3bit[5];
|
int i3bit[5];
|
||||||
char cmsg[5][40];
|
char cmsg[5][40];
|
||||||
char mycall[6];
|
char mycall[12];
|
||||||
} foxcom_;
|
} foxcom_;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -31,7 +31,7 @@ subroutine foxgen()
|
|||||||
real x(NFFT)
|
real x(NFFT)
|
||||||
real*8 dt,twopi,f0,fstep,dfreq,phi,dphi
|
real*8 dt,twopi,f0,fstep,dfreq,phi,dphi
|
||||||
complex cx(0:NH)
|
complex cx(0:NH)
|
||||||
common/foxcom/wave(NWAVE),nslots,i3bit(5),cmsg(5),mycall(6)
|
common/foxcom/wave(NWAVE),nslots,i3bit(5),cmsg(5),mycall(12)
|
||||||
common/foxcom2/itone2(NN),msgbits2(KK)
|
common/foxcom2/itone2(NN),msgbits2(KK)
|
||||||
equivalence (x,cx),(y,cy)
|
equivalence (x,cx),(y,cy)
|
||||||
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern
|
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern
|
||||||
@ -58,11 +58,11 @@ subroutine foxgen()
|
|||||||
msg=cmsg(n)(1:i1)//cmsg(n)(i2+1:i3-2)//' '
|
msg=cmsg(n)(1:i1)//cmsg(n)(i2+1:i3-2)//' '
|
||||||
read(cmsg(n)(i4+2:i4+4),*) irpt
|
read(cmsg(n)(i4+2:i4+4),*) irpt
|
||||||
endif
|
endif
|
||||||
! print*,'Foxgen:',n,cmsg(n)
|
|
||||||
call genft8(msg,mygrid,bcontest,0,msgsent,msgbits,itone)
|
call genft8(msg,mygrid,bcontest,0,msgsent,msgbits,itone)
|
||||||
|
print*,'Foxgen:',n,cmsg(n),msgsent
|
||||||
|
|
||||||
if(i3b.eq.1) then
|
if(i3b.eq.1) then
|
||||||
icrc10=crc10(c_loc(mycall),6)
|
icrc10=crc10(c_loc(mycall),12)
|
||||||
nrpt=irpt+30
|
nrpt=irpt+30
|
||||||
write(cbits,1001) msgbits(1:56),icrc10,nrpt,i3b,0
|
write(cbits,1001) msgbits(1:56),icrc10,nrpt,i3b,0
|
||||||
1001 format(56b1.1,b10.10,b6.6,b3.3,b12.12)
|
1001 format(56b1.1,b10.10,b6.6,b3.3,b12.12)
|
||||||
|
@ -4,16 +4,16 @@ subroutine foxgen_wrap(msg40,msgbits,itone)
|
|||||||
parameter (NWAVE=NN*NSPS)
|
parameter (NWAVE=NN*NSPS)
|
||||||
|
|
||||||
character*40 msg40,cmsg
|
character*40 msg40,cmsg
|
||||||
character*6 mycall6
|
character*12 mycall12
|
||||||
integer*1 msgbits(KK),msgbits2
|
integer*1 msgbits(KK),msgbits2
|
||||||
integer itone(NN)
|
integer itone(NN)
|
||||||
common/foxcom/wave(NWAVE),nslots,i3bit(5),cmsg(5),mycall6
|
common/foxcom/wave(NWAVE),nslots,i3bit(5),cmsg(5),mycall12
|
||||||
common/foxcom2/itone2(NN),msgbits2(KK)
|
common/foxcom2/itone2(NN),msgbits2(KK)
|
||||||
|
|
||||||
nslots=1
|
nslots=1
|
||||||
i1=index(msg40,'<')
|
i1=index(msg40,'<')
|
||||||
i2=index(msg40,'>')
|
i2=index(msg40,'>')
|
||||||
mycall6=msg40(i1+1:i2-1)//' '
|
mycall12=msg40(i1+1:i2-1)//' '
|
||||||
cmsg(1)=msg40
|
cmsg(1)=msg40
|
||||||
i3bit(1)=1
|
i3bit(1)=1
|
||||||
call foxgen()
|
call foxgen()
|
||||||
|
@ -27,7 +27,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
|
|||||||
integer icos7(0:6),ip(1)
|
integer icos7(0:6),ip(1)
|
||||||
integer nappasses(0:5) !Number of decoding passes to use for each QSO state
|
integer nappasses(0:5) !Number of decoding passes to use for each QSO state
|
||||||
integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now
|
integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now
|
||||||
integer*1, target:: i1hiscall(6)
|
integer*1, target:: i1hiscall(12)
|
||||||
complex cd0(3200)
|
complex cd0(3200)
|
||||||
complex ctwk(32)
|
complex ctwk(32)
|
||||||
complex csymb(32)
|
complex csymb(32)
|
||||||
@ -398,11 +398,10 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
|
|||||||
if(xsnr .lt. -24.0) xsnr=-24.0
|
if(xsnr .lt. -24.0) xsnr=-24.0
|
||||||
|
|
||||||
if(i3bit.eq.1) then
|
if(i3bit.eq.1) then
|
||||||
hiscall6=hiscall12(1:6)
|
do i=1,12
|
||||||
do i=1,6
|
i1hiscall(i)=ichar(hiscall12(i:i))
|
||||||
i1hiscall(i)=ichar(hiscall6(i:i))
|
|
||||||
enddo
|
enddo
|
||||||
icrc10=crc10(c_loc(i1hiscall),6)
|
icrc10=crc10(c_loc(i1hiscall),12)
|
||||||
write(cbits,1001) decoded
|
write(cbits,1001) decoded
|
||||||
1001 format(87i1)
|
1001 format(87i1)
|
||||||
read(cbits,1002) ncrc10,nrpt
|
read(cbits,1002) ncrc10,nrpt
|
||||||
|
@ -7433,12 +7433,12 @@ void MainWindow::foxTxSequencer()
|
|||||||
if(islot >= m_Nslots) goto Transmit;
|
if(islot >= m_Nslots) goto Transmit;
|
||||||
}
|
}
|
||||||
|
|
||||||
//One or more Tx slots are still available
|
//One or more Tx slots are still available, repeat call to a Hound in the QSOqueue
|
||||||
while (!m_foxQSOqueue.isEmpty()) {
|
while (!m_foxQSOqueue.isEmpty()) {
|
||||||
//should limit repeat transmissions here
|
//should limit repeat transmissions here
|
||||||
hc1=m_foxQSOqueue.dequeue(); //Recover hound callsign from QSO queue
|
hc1=m_foxQSOqueue.dequeue(); //Recover hound callsign from QSO queue
|
||||||
m_foxQSOqueue.enqueue(hc1); //Put him back in, at the end
|
m_foxQSOqueue.enqueue(hc1); //Put him back in, at the end
|
||||||
fm = hc1 + " " + m_config.my_callsign() + " " + m_foxQSO[hc1].sent; //Tx msg
|
fm = hc1 + " " + m_baseCall + " " + m_foxQSO[hc1].sent; //Tx msg
|
||||||
islot++;
|
islot++;
|
||||||
//Generate tx waveform
|
//Generate tx waveform
|
||||||
foxGenWaveform(islot-1,fm);
|
foxGenWaveform(islot-1,fm);
|
||||||
@ -7455,7 +7455,7 @@ void MainWindow::foxTxSequencer()
|
|||||||
m_foxQSO[hc1].sent=rpt; //Report to send him
|
m_foxQSO[hc1].sent=rpt; //Report to send him
|
||||||
m_foxQSO[hc1].t0=now; //QSO start time
|
m_foxQSO[hc1].t0=now; //QSO start time
|
||||||
rm_tb4(hc1); //Remove this hound from tb4
|
rm_tb4(hc1); //Remove this hound from tb4
|
||||||
fm = hc1 + " " + m_config.my_callsign() + " " + rpt; //Tx msg
|
fm = hc1 + " " + m_baseCall + " " + rpt; //Tx msg
|
||||||
islot++;
|
islot++;
|
||||||
//Generate tx waveform
|
//Generate tx waveform
|
||||||
foxGenWaveform(islot-1,fm);
|
foxGenWaveform(islot-1,fm);
|
||||||
@ -7472,8 +7472,8 @@ void MainWindow::foxTxSequencer()
|
|||||||
|
|
||||||
Transmit:
|
Transmit:
|
||||||
foxcom_.nslots=islot;
|
foxcom_.nslots=islot;
|
||||||
QString foxCall=m_config.my_callsign() + " ";
|
QString foxCall=m_config.my_callsign() + " ";
|
||||||
strncpy(&foxcom_.mycall[0], foxCall.toLatin1(),6); //Copy Fox callsign into foxcom_
|
strncpy(&foxcom_.mycall[0], foxCall.toLatin1(),12); //Copy Fox callsign into foxcom_
|
||||||
foxgen_();
|
foxgen_();
|
||||||
|
|
||||||
int maxAge=30*ui->sbMaxTime->value(); //60 ==> max 4 calls (0 30 60 90) to a new Fox
|
int maxAge=30*ui->sbMaxTime->value(); //60 ==> max 4 calls (0 30 60 90) to a new Fox
|
||||||
|
Loading…
Reference in New Issue
Block a user