mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-21 11:38:34 -04:00
Add code to support use of SuperFox digital signatures.
This commit is contained in:
parent
e1be3ad4e8
commit
3812f2f9bc
@ -66,6 +66,7 @@ typedef struct dec_data {
|
|||||||
char hisgrid[6];
|
char hisgrid[6];
|
||||||
bool b_even_seq;
|
bool b_even_seq;
|
||||||
bool b_superfox;
|
bool b_superfox;
|
||||||
|
int yymmdd;
|
||||||
} params;
|
} params;
|
||||||
} dec_data_t;
|
} dec_data_t;
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
ntr0=params%ntr
|
ntr0=params%ntr
|
||||||
rms=sqrt(dot_product(float(id2(1:180000)), &
|
rms=sqrt(dot_product(float(id2(1:180000)), &
|
||||||
float(id2(1:180000)))/180000.0)
|
float(id2(1:180000)))/180000.0)
|
||||||
if(rms.lt.3.0) go to 800
|
if(rms.lt.0.5) go to 800
|
||||||
|
|
||||||
!cast C character arrays to Fortran character strings
|
!cast C character arrays to Fortran character strings
|
||||||
datetime=transfer(params%datetime, datetime)
|
datetime=transfer(params%datetime, datetime)
|
||||||
@ -143,7 +143,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
if(params%nzhsym.lt.50) go to 800
|
if(params%nzhsym.lt.50) go to 800
|
||||||
! Call the superFox decoder
|
! Call the superFox decoder
|
||||||
open(47,file='fort.47',status='unknown',access='stream')
|
open(47,file='fort.47',status='unknown',access='stream')
|
||||||
write(47) params%nutc,id2(1:20),id2(1:180000)
|
write(47) params%yymmdd,params%nutc,id2(1:20),id2(1:180000)
|
||||||
close(47)
|
close(47)
|
||||||
call execute_command_line('.\sfrx fort.47')
|
call execute_command_line('.\sfrx fort.47')
|
||||||
else
|
else
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
character(kind=c_char) :: hisgrid(6)
|
character(kind=c_char) :: hisgrid(6)
|
||||||
logical(c_bool) :: b_even_seq
|
logical(c_bool) :: b_even_seq
|
||||||
logical(c_bool) :: b_superfox
|
logical(c_bool) :: b_superfox
|
||||||
|
integer(c_int) :: yymmdd
|
||||||
end type params_block
|
end type params_block
|
||||||
|
|
||||||
type, bind(C) :: dec_data
|
type, bind(C) :: dec_data
|
||||||
|
@ -3132,6 +3132,7 @@ void MainWindow::read_wav_file (QString const& fname)
|
|||||||
dec_data.params.newdat = 0;
|
dec_data.params.newdat = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dec_data.params.yymmdd=basename.left(6).toInt();
|
||||||
if(basename.mid(0,10)=="000000_000" && m_mode == "FT8") {
|
if(basename.mid(0,10)=="000000_000" && m_mode == "FT8") {
|
||||||
int isec=15*basename.mid(10,3).toInt();
|
int isec=15*basename.mid(10,3).toInt();
|
||||||
int ih=isec/3600;
|
int ih=isec/3600;
|
||||||
@ -3406,8 +3407,10 @@ void MainWindow::decode() //decode()
|
|||||||
m_dateTimeLastTX = now.addSecs(-900);
|
m_dateTimeLastTX = now.addSecs(-900);
|
||||||
dec_data.params.lapcqonly=true;
|
dec_data.params.lapcqonly=true;
|
||||||
}
|
}
|
||||||
if( m_diskData ) {
|
if(m_diskData) {
|
||||||
dec_data.params.lapcqonly=false;
|
dec_data.params.lapcqonly=false;
|
||||||
|
} else {
|
||||||
|
dec_data.params.yymmdd=-1;
|
||||||
}
|
}
|
||||||
if(!m_dataAvailable or m_TRperiod==0.0) return;
|
if(!m_dataAvailable or m_TRperiod==0.0) return;
|
||||||
ui->DecodeButton->setChecked (true);
|
ui->DecodeButton->setChecked (true);
|
||||||
@ -10940,7 +10943,7 @@ void MainWindow::sfox_tx()
|
|||||||
auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_1.dat")).toLocal8Bit()};
|
auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_1.dat")).toLocal8Bit()};
|
||||||
QStringList args{fname};
|
QStringList args{fname};
|
||||||
args.append(m_config.FoxKey());
|
args.append(m_config.FoxKey());
|
||||||
qDebug() << "aa" << args;
|
// qDebug() << "aa" << args;
|
||||||
p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", args);
|
p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", args);
|
||||||
p2.waitForFinished();
|
p2.waitForFinished();
|
||||||
auto fname2 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_2.dat")).toLocal8Bit()};
|
auto fname2 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_2.dat")).toLocal8Bit()};
|
||||||
|
Loading…
Reference in New Issue
Block a user