diff --git a/rig/Rig.cpp b/rig/Rig.cpp index 3a7eb222..9a35f3b0 100644 --- a/rig/Rig.cpp +++ b/rig/Rig.cpp @@ -1,6 +1,11 @@ #include "Rig.h" #include "core/debug.h" +#include "macros.h" #include "rig/drivers/HamlibDrv.h" +#ifdef Q_OS_WIN +#include "rig/drivers/OmnirigDrv.h" +#include "rig/drivers/Omnirigv2Drv.h" +#endif MODULE_IDENTIFICATION("qlog.rig.rig"); @@ -18,6 +23,23 @@ Rig::Rig(QObject *parent) { FCT_IDENTIFICATION; + drvMapping[HAMLIB_DRIVER] = DrvParams(HAMLIB_DRIVER, + "Hamlib", + &HamlibDrv::getModelList, + &HamlibDrv::getCaps); +#ifdef Q_OS_WIN + drvMapping[OMNIRIG_DRIVER] = DrvParams(OMNIRIG_DRIVER, + "Omnirig v1", + &OmnirigDrv::getModelList, + &OmnirigDrv::getCaps); + + drvMapping[OMNIRIGV2_DRIVER] = DrvParams(OMNIRIGV2_DRIVER, + "Omnirig v2", + &OmnirigV2Drv::getModelList, + &OmnirigV2Drv::getCaps); +#endif + + } Rig* Rig::instance() diff --git a/rig/Rig.h b/rig/Rig.h index 736b1046..8f8c04d9 100644 --- a/rig/Rig.h +++ b/rig/Rig.h @@ -4,14 +4,8 @@ #include #include #include +#include #include "rig/drivers/GenericDrv.h" -#include "rig/drivers/HamlibDrv.h" -#ifdef Q_OS_WIN -#include "rig/drivers/OmnirigDrv.h" -#include "rig/drivers/Omnirigv2Drv.h" -#endif - -#include "macros.h" #include "RigCaps.h" enum VFOID @@ -119,23 +113,7 @@ private slots: RigCaps (*getCapsFunction)(int); }; - QMap drvMapping = - { - {HAMLIB_DRIVER, DrvParams(HAMLIB_DRIVER, - "Hamlib", - &HamlibDrv::getModelList, - &HamlibDrv::getCaps) }, -#ifdef Q_OS_WIN - {OMNIRIG_DRIVER, DrvParams(OMNIRIG_DRIVER, - "Omnirig v1", - &OmnirigDrv::getModelList, - &OmnirigDrv::getCaps) }, - {OMNIRIGV2_DRIVER, DrvParams(OMNIRIGV2_DRIVER, - "Omnirig v2", - &OmnirigV2Drv::getModelList, - &OmnirigV2Drv::getCaps) }, -#endif - }; + QMap drvMapping; void __closeRig(); void __openRig(); diff --git a/rig/macros.h b/rig/macros.h index 508015bb..b65e96b3 100644 --- a/rig/macros.h +++ b/rig/macros.h @@ -1,6 +1,7 @@ #ifndef RIG_MACROS_H #define RIG_MACROS_H +#define BANDWIDTH_UNKNOWN 0 #define QSTRING_FREQ(f) (QString::number((f), 'f', 5)) #define Hz2MHz(f) ((double)((f)/1e6)) #define mW2W(f) ((double)((f)/1000.0)) diff --git a/ui/BandmapWidget.cpp b/ui/BandmapWidget.cpp index 2b7f09ca..3ed77ad5 100644 --- a/ui/BandmapWidget.cpp +++ b/ui/BandmapWidget.cpp @@ -13,6 +13,7 @@ #include "data/Data.h" #include "data/BandPlan.h" #include "core/debug.h" +#include "rig/macros.h" MODULE_IDENTIFICATION("qlog.ui.bandmapwidget"); diff --git a/ui/NewContactWidget.cpp b/ui/NewContactWidget.cpp index 739e56d0..2bb49c58 100644 --- a/ui/NewContactWidget.cpp +++ b/ui/NewContactWidget.cpp @@ -9,6 +9,7 @@ #include #include "rig/Rig.h" +#include "rig/macros.h" #include "core/Rotator.h" #include "NewContactWidget.h" #include "ui_NewContactWidget.h" @@ -40,7 +41,7 @@ NewContactWidget::NewContactWidget(QWidget *parent) : uiDynamic(new NewContactDynamicWidgets(true, this)), prop_cond(nullptr), QSOFreq(0.0), - bandwidthFilter(RIG_PASSBAND_NORMAL), + bandwidthFilter(BANDWIDTH_UNKNOWN), rigOnline(false), isManualEnterMode(false) { @@ -1303,7 +1304,7 @@ void NewContactWidget::QSYContactWiping(double newFreq) return; } - if ( QSYWipingWidth <= RIG_PASSBAND_NORMAL ) + if ( QSYWipingWidth <= BANDWIDTH_UNKNOWN ) { QSYWipingWidth = Rig::getNormalBandwidth(ui->modeEdit->currentText(), ui->submodeEdit->currentText()); @@ -1323,7 +1324,7 @@ void NewContactWidget::QSYContactWiping(double newFreq) && rigOnline // only if Rig is connected && QSOFreq > 0.0 // it means that Form is "dirty" and contain freq when it got dirty && !isQSOTimeStarted() // operator is not in QSO - && QSYWipingWidth != RIG_PASSBAND_NORMAL + && QSYWipingWidth != BANDWIDTH_UNKNOWN && qAbs(QSOFreq - newFreq) > Hz2MHz(QSYWipingWidth) / 1.5 ) //1.5 is a magic constant - determined experimentally { resetContact(); diff --git a/ui/WsjtxWidget.cpp b/ui/WsjtxWidget.cpp index 862004c9..296a502f 100644 --- a/ui/WsjtxWidget.cpp +++ b/ui/WsjtxWidget.cpp @@ -8,6 +8,7 @@ #include "data/Data.h" #include "core/debug.h" #include "rig/Rig.h" +#include "rig/macros.h" #include "data/StationProfile.h" #include "ui/ColumnSettingDialog.h" #include "ui/WsjtxFilterDialog.h"