mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 04:11:16 -05: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 i3bit[5];
|
||||
char cmsg[5][40];
|
||||
char mycall[6];
|
||||
char mycall[12];
|
||||
} foxcom_;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -31,7 +31,7 @@ subroutine foxgen()
|
||||
real x(NFFT)
|
||||
real*8 dt,twopi,f0,fstep,dfreq,phi,dphi
|
||||
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)
|
||||
equivalence (x,cx),(y,cy)
|
||||
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)//' '
|
||||
read(cmsg(n)(i4+2:i4+4),*) irpt
|
||||
endif
|
||||
! print*,'Foxgen:',n,cmsg(n)
|
||||
call genft8(msg,mygrid,bcontest,0,msgsent,msgbits,itone)
|
||||
print*,'Foxgen:',n,cmsg(n),msgsent
|
||||
|
||||
if(i3b.eq.1) then
|
||||
icrc10=crc10(c_loc(mycall),6)
|
||||
icrc10=crc10(c_loc(mycall),12)
|
||||
nrpt=irpt+30
|
||||
write(cbits,1001) msgbits(1:56),icrc10,nrpt,i3b,0
|
||||
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)
|
||||
|
||||
character*40 msg40,cmsg
|
||||
character*6 mycall6
|
||||
character*12 mycall12
|
||||
integer*1 msgbits(KK),msgbits2
|
||||
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)
|
||||
|
||||
nslots=1
|
||||
i1=index(msg40,'<')
|
||||
i2=index(msg40,'>')
|
||||
mycall6=msg40(i1+1:i2-1)//' '
|
||||
mycall12=msg40(i1+1:i2-1)//' '
|
||||
cmsg(1)=msg40
|
||||
i3bit(1)=1
|
||||
call foxgen()
|
||||
|
@ -27,7 +27,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
|
||||
integer icos7(0:6),ip(1)
|
||||
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*1, target:: i1hiscall(6)
|
||||
integer*1, target:: i1hiscall(12)
|
||||
complex cd0(3200)
|
||||
complex ctwk(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(i3bit.eq.1) then
|
||||
hiscall6=hiscall12(1:6)
|
||||
do i=1,6
|
||||
i1hiscall(i)=ichar(hiscall6(i:i))
|
||||
do i=1,12
|
||||
i1hiscall(i)=ichar(hiscall12(i:i))
|
||||
enddo
|
||||
icrc10=crc10(c_loc(i1hiscall),6)
|
||||
icrc10=crc10(c_loc(i1hiscall),12)
|
||||
write(cbits,1001) decoded
|
||||
1001 format(87i1)
|
||||
read(cbits,1002) ncrc10,nrpt
|
||||
|
@ -7433,12 +7433,12 @@ void MainWindow::foxTxSequencer()
|
||||
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()) {
|
||||
//should limit repeat transmissions here
|
||||
hc1=m_foxQSOqueue.dequeue(); //Recover hound callsign from QSO queue
|
||||
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++;
|
||||
//Generate tx waveform
|
||||
foxGenWaveform(islot-1,fm);
|
||||
@ -7455,7 +7455,7 @@ void MainWindow::foxTxSequencer()
|
||||
m_foxQSO[hc1].sent=rpt; //Report to send him
|
||||
m_foxQSO[hc1].t0=now; //QSO start time
|
||||
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++;
|
||||
//Generate tx waveform
|
||||
foxGenWaveform(islot-1,fm);
|
||||
@ -7472,8 +7472,8 @@ void MainWindow::foxTxSequencer()
|
||||
|
||||
Transmit:
|
||||
foxcom_.nslots=islot;
|
||||
QString foxCall=m_config.my_callsign() + " ";
|
||||
strncpy(&foxcom_.mycall[0], foxCall.toLatin1(),6); //Copy Fox callsign into foxcom_
|
||||
QString foxCall=m_config.my_callsign() + " ";
|
||||
strncpy(&foxcom_.mycall[0], foxCall.toLatin1(),12); //Copy Fox callsign into foxcom_
|
||||
foxgen_();
|
||||
|
||||
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