mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-06 00:22:30 -04:00
- Force the use of standardized CQ modifier for FT4/FT8 contest operation.
- Pass CQ modifier string to the ft4 decoder.
This commit is contained in:
parent
52075fca24
commit
a63e6e1209
@ -65,6 +65,7 @@ extern struct dec_data {
|
|||||||
char mygrid[6];
|
char mygrid[6];
|
||||||
char hiscall[12];
|
char hiscall[12];
|
||||||
char hisgrid[6];
|
char hisgrid[6];
|
||||||
|
char cqstr[4];
|
||||||
} params;
|
} params;
|
||||||
} dec_data;
|
} dec_data;
|
||||||
|
|
||||||
|
@ -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(len=4) :: cqstr
|
||||||
save
|
save
|
||||||
type(counting_jt4_decoder) :: my_jt4
|
type(counting_jt4_decoder) :: my_jt4
|
||||||
type(counting_jt65_decoder) :: my_jt65
|
type(counting_jt65_decoder) :: my_jt65
|
||||||
@ -53,6 +54,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
hiscall=transfer(params%hiscall,hiscall)
|
hiscall=transfer(params%hiscall,hiscall)
|
||||||
mygrid=transfer(params%mygrid,mygrid)
|
mygrid=transfer(params%mygrid,mygrid)
|
||||||
hisgrid=transfer(params%hisgrid,hisgrid)
|
hisgrid=transfer(params%hisgrid,hisgrid)
|
||||||
|
cqstr=transfer(params%cqstr,cqstr)
|
||||||
|
|
||||||
! initialize decode counts
|
! initialize decode counts
|
||||||
my_jt4%decoded = 0
|
my_jt4%decoded = 0
|
||||||
@ -153,7 +155,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
call timer('decft4 ',0)
|
call timer('decft4 ',0)
|
||||||
call my_ft4%decode(ft4_decoded,id2,params%nQSOProgress,params%nfqso, &
|
call my_ft4%decode(ft4_decoded,id2,params%nQSOProgress,params%nfqso, &
|
||||||
params%nutc,params%nfa,params%nfb,params%ndepth, &
|
params%nutc,params%nfa,params%nfb,params%ndepth, &
|
||||||
logical(params%lapcqonly),ncontest,mycall,hiscall)
|
logical(params%lapcqonly),ncontest,cqstr,mycall,hiscall)
|
||||||
call timer('decft4 ',1)
|
call timer('decft4 ',1)
|
||||||
go to 800
|
go to 800
|
||||||
endif
|
endif
|
||||||
|
@ -24,7 +24,7 @@ module ft4_decode
|
|||||||
contains
|
contains
|
||||||
|
|
||||||
subroutine decode(this,callback,iwave,nQSOProgress,nfqso, &
|
subroutine decode(this,callback,iwave,nQSOProgress,nfqso, &
|
||||||
nutc,nfa,nfb,ndepth,lapcqonly,ncontest,mycall,hiscall)
|
nutc,nfa,nfb,ndepth,lapcqonly,ncontest,cqstr,mycall,hiscall)
|
||||||
use timer_module, only: timer
|
use timer_module, only: timer
|
||||||
use packjt77
|
use packjt77
|
||||||
include 'ft4/ft4_params.f90'
|
include 'ft4/ft4_params.f90'
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
character(kind=c_char) :: mygrid(6)
|
character(kind=c_char) :: mygrid(6)
|
||||||
character(kind=c_char) :: hiscall(12)
|
character(kind=c_char) :: hiscall(12)
|
||||||
character(kind=c_char) :: hisgrid(6)
|
character(kind=c_char) :: hisgrid(6)
|
||||||
|
character(kind=c_char) :: cqstr(4)
|
||||||
end type params_block
|
end type params_block
|
||||||
|
|
||||||
type, bind(C) :: dec_data
|
type, bind(C) :: dec_data
|
||||||
|
@ -331,6 +331,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
tx_status_label {"Receiving"},
|
tx_status_label {"Receiving"},
|
||||||
wsprNet {new WSPRNet {&m_network_manager, this}},
|
wsprNet {new WSPRNet {&m_network_manager, this}},
|
||||||
m_appDir {QApplication::applicationDirPath ()},
|
m_appDir {QApplication::applicationDirPath ()},
|
||||||
|
m_cqStr {""},
|
||||||
m_palette {"Linrad"},
|
m_palette {"Linrad"},
|
||||||
m_mode {"JT9"},
|
m_mode {"JT9"},
|
||||||
m_rpt {"-15"},
|
m_rpt {"-15"},
|
||||||
@ -2932,6 +2933,7 @@ void MainWindow::decode() //decode()
|
|||||||
QString hisGrid {ui->dxGridEntry->text ()};
|
QString hisGrid {ui->dxGridEntry->text ()};
|
||||||
memcpy(dec_data.params.hiscall,(hisCall + " ").toLatin1 ().constData (), sizeof dec_data.params.hiscall);
|
memcpy(dec_data.params.hiscall,(hisCall + " ").toLatin1 ().constData (), sizeof dec_data.params.hiscall);
|
||||||
memcpy(dec_data.params.hisgrid,(hisGrid + " ").toLatin1 ().constData (), sizeof dec_data.params.hisgrid);
|
memcpy(dec_data.params.hisgrid,(hisGrid + " ").toLatin1 ().constData (), sizeof dec_data.params.hisgrid);
|
||||||
|
memcpy(dec_data.params.cqstr,(m_cqStr + " ").toLatin1 ().constData (), sizeof dec_data.params.cqstr);
|
||||||
|
|
||||||
//newdat=1 ==> this is new data, must do the big FFT
|
//newdat=1 ==> this is new data, must do the big FFT
|
||||||
//nagain=1 ==> decode only at fQSO +/- Tol
|
//nagain=1 ==> decode only at fQSO +/- Tol
|
||||||
@ -4929,16 +4931,23 @@ void MainWindow::genCQMsg ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString t=ui->tx6->text();
|
QString t=ui->tx6->text();
|
||||||
|
QStringList tlist=t.split(" ");
|
||||||
if((m_mode=="FT4" or m_mode=="FT8" or m_mode=="MSK144") and
|
if((m_mode=="FT4" or m_mode=="FT8" or m_mode=="MSK144") and
|
||||||
SpecOp::NONE != m_config.special_op_id() and
|
SpecOp::NONE != m_config.special_op_id() and
|
||||||
t.split(" ").at(1)==m_config.my_callsign() and
|
( tlist.at(1)==m_config.my_callsign() or
|
||||||
|
tlist.at(2)==m_config.my_callsign() ) and
|
||||||
stdCall(m_config.my_callsign())) {
|
stdCall(m_config.my_callsign())) {
|
||||||
if(SpecOp::NA_VHF == m_config.special_op_id()) t="CQ TEST" + t.mid(2,-1);
|
if(SpecOp::NA_VHF == m_config.special_op_id()) m_cqStr="TEST";
|
||||||
if(SpecOp::EU_VHF == m_config.special_op_id()) t="CQ TEST" + t.mid(2,-1);
|
if(SpecOp::EU_VHF == m_config.special_op_id()) m_cqStr="TEST";
|
||||||
if(SpecOp::FIELD_DAY == m_config.special_op_id()) t="CQ FD" + t.mid(2,-1);
|
if(SpecOp::FIELD_DAY == m_config.special_op_id()) m_cqStr="FD";
|
||||||
if(SpecOp::RTTY == m_config.special_op_id()) {
|
if(SpecOp::RTTY == m_config.special_op_id()) {
|
||||||
if(m_config.RTTY_Exchange()!="SCC") t="CQ RU" + t.mid(2,-1);
|
if(m_config.RTTY_Exchange()!="SCC") m_cqStr="RU";
|
||||||
if(m_config.RTTY_Exchange()=="SCC") t="CQ SCC" + t.mid(2,-1);
|
if(m_config.RTTY_Exchange()=="SCC") m_cqStr="SCC";
|
||||||
|
}
|
||||||
|
if( tlist.at(1)==m_config.my_callsign() ) {
|
||||||
|
t="CQ " + m_cqStr + " " + tlist.at(1) + " " + tlist.at(2);
|
||||||
|
} else {
|
||||||
|
t="CQ " + m_cqStr + " " + tlist.at(2) + " " + tlist.at(3);
|
||||||
}
|
}
|
||||||
ui->tx6->setText(t);
|
ui->tx6->setText(t);
|
||||||
}
|
}
|
||||||
|
@ -589,6 +589,7 @@ private:
|
|||||||
QString m_hisCall;
|
QString m_hisCall;
|
||||||
QString m_hisGrid;
|
QString m_hisGrid;
|
||||||
QString m_appDir;
|
QString m_appDir;
|
||||||
|
QString m_cqStr;
|
||||||
QString m_palette;
|
QString m_palette;
|
||||||
QString m_dateTime;
|
QString m_dateTime;
|
||||||
QString m_mode;
|
QString m_mode;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user