From f0a329c4d2b33b0d5a953eac362df1948dc3f0a8 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 17 Sep 2024 11:29:16 -0400 Subject: [PATCH] Call sftx_sub() rather than invoking external process sftx[.exe]. --- CMakeLists.txt | 2 +- widgets/mainwindow.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b1e06cc6..363a88e0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -616,7 +616,7 @@ set (wsjt_FSRCS lib/superfox/sfox_wave.f90 lib/superfox/sfox_wave_gfsk.f90 lib/superfox/sfrx_sub.f90 - lib/superfox/sftx.f90 + lib/superfox/sftx_sub.f90 lib/superfox/twkfreq2.f90 ) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 163ed9486..c3ca57730 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -182,6 +182,8 @@ extern "C" { void sfox_wave_gfsk_(char const * fname, FCL len); + void sftx_sub_(char const * fname, char const * foxcall, char const * otp_key, FCL len1, FCL len2, FCL len3); + void plotsave_(float swide[], int* m_w , int* m_h1, int* irow); void chk_samples_(int* m_ihsym,int* k, int* m_hsymStop); @@ -11454,11 +11456,13 @@ void MainWindow::sfox_tx() { } } #endif -// qDebug() << "aa" << QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx"; -// qDebug() << "bb" << args; LOG_INFO(QString("%1 %2").arg(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx").arg(args.join(" ")).toStdString()); - p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", args); - p2.waitForFinished(); + auto fname1 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_1.dat")).toLocal8Bit()}; +// qDebug() << "aa" << fname1; +// qDebug() << "bb" << args[0] << args[1] << args[2]; + sftx_sub_(fname1.constData(), args[1].toLatin1().constData() , args[2].toLatin1().constData(), (FCL)fname1.size(), + (FCL)args[1].size(), (FCL)args[2].size()); auto fname2 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_2.dat")).toLocal8Bit()}; + sfox_wave_gfsk_(fname2.constData(), (FCL)fname2.size()); }