Merge latest master and make USB controllers a compile time directive

half-duplex
Phil Taylor 2023-01-12 19:20:52 +00:00
rodzic 93f18fae9e
commit 0d9a01cd1f
10 zmienionych plików z 63 dodań i 22 usunięć

Wyświetl plik

@ -1,4 +1,5 @@
#if defined(USB_CONTROLLER)
#include "usbcontroller.h" #include "usbcontroller.h"
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
@ -538,3 +539,4 @@ void usbController::buttonState(QString name, double val)
} }
*/ */
} }
#endif

Wyświetl plik

@ -10,6 +10,8 @@
#include <QGraphicsTextItem> #include <QGraphicsTextItem>
#include <QColor> #include <QColor>
#include <QVector> #include <QVector>
#if defined(USB_CONTROLLER)
#include <QGamepad> #include <QGamepad>
#ifndef Q_OS_WIN #ifndef Q_OS_WIN
@ -22,6 +24,7 @@
//Headers needed for sleeping. //Headers needed for sleeping.
#include <unistd.h> #include <unistd.h>
#endif #endif
#endif
// Include these so we have the various enums // Include these so we have the various enums
#include "rigidentities.h" #include "rigidentities.h"
@ -75,6 +78,7 @@ struct BUTTON {
}; };
#if defined(USB_CONTROLLER)
class usbController : public QObject class usbController : public QObject
{ {
Q_OBJECT Q_OBJECT
@ -125,5 +129,6 @@ private:
protected: protected:
}; };
#endif
#endif #endif

Wyświetl plik

@ -163,10 +163,14 @@ wfmain::wfmain(const QString settingsFile, const QString logFile, bool debugMode
amTransmitting = false; amTransmitting = false;
#if defined(USB_CONTROLLER)
// Setup USB Controller // Setup USB Controller
setupUsbControllerDevice(); setupUsbControllerDevice();
emit sendUsbControllerCommands(&usbCommands); emit sendUsbControllerCommands(&usbCommands);
emit sendUsbControllerButtons(&usbButtons); emit sendUsbControllerButtons(&usbButtons);
#else
ui->usbControllerBtn->setVisible(false);
#endif
connect(ui->txPowerSlider, &QSlider::sliderMoved, connect(ui->txPowerSlider, &QSlider::sliderMoved,
[&](int value) { [&](int value) {
@ -201,10 +205,12 @@ wfmain::~wfmain()
delete rpt; delete rpt;
delete ui; delete ui;
delete settings; delete settings;
#if defined(USB_CONTROLLER)
if (usbControllerThread != Q_NULLPTR) { if (usbControllerThread != Q_NULLPTR) {
usbControllerThread->quit(); usbControllerThread->quit();
usbControllerThread->wait(); usbControllerThread->wait();
} }
#endif
} }
void wfmain::closeEvent(QCloseEvent *event) void wfmain::closeEvent(QCloseEvent *event)
@ -1440,6 +1446,7 @@ void wfmain::setupKeyShortcuts()
void wfmain::setupUsbControllerDevice() void wfmain::setupUsbControllerDevice()
{ {
#if defined (USB_CONTROLLER)
usbControllerDev = new usbController(); usbControllerDev = new usbController();
usbControllerThread = new QThread(this); usbControllerThread = new QThread(this);
usbControllerDev->moveToThread(usbControllerThread); usbControllerDev->moveToThread(usbControllerThread);
@ -1455,7 +1462,7 @@ void wfmain::setupUsbControllerDevice()
connect(this, SIGNAL(sendUsbControllerCommands(QVector<COMMAND>*)), usbControllerDev, SLOT(receiveCommands(QVector<COMMAND>*))); connect(this, SIGNAL(sendUsbControllerCommands(QVector<COMMAND>*)), usbControllerDev, SLOT(receiveCommands(QVector<COMMAND>*)));
connect(this, SIGNAL(sendUsbControllerButtons(QVector<BUTTON>*)), usbControllerDev, SLOT(receiveButtons(QVector<BUTTON>*))); connect(this, SIGNAL(sendUsbControllerButtons(QVector<BUTTON>*)), usbControllerDev, SLOT(receiveButtons(QVector<BUTTON>*)));
#endif
} }
void wfmain::pttToggle(bool status) void wfmain::pttToggle(bool status)
@ -2075,6 +2082,7 @@ void wfmain::loadSettings()
settings->endArray(); settings->endArray();
settings->endGroup(); settings->endGroup();
#if defined (USB_CONTROLLER)
/* Load USB buttons*/ /* Load USB buttons*/
settings->beginGroup("USB"); settings->beginGroup("USB");
int numCommands = settings->beginReadArray("Commands"); int numCommands = settings->beginReadArray("Commands");
@ -2253,7 +2261,7 @@ void wfmain::loadSettings()
} }
settings->endGroup(); settings->endGroup();
#endif
} }
void wfmain::serverAddUserLine(const QString& user, const QString& pass, const int& type) void wfmain::serverAddUserLine(const QString& user, const QString& pass, const int& type)
@ -2615,6 +2623,7 @@ void wfmain::saveSettings()
settings->endGroup(); settings->endGroup();
#if defined(USB_CONTROLLER)
settings->beginGroup("USB"); settings->beginGroup("USB");
// Store USB Controller // Store USB Controller
@ -2639,6 +2648,7 @@ void wfmain::saveSettings()
settings->endArray(); settings->endArray();
settings->endGroup(); settings->endGroup();
#endif
settings->sync(); // Automatic, not needed (supposedly) settings->sync(); // Automatic, not needed (supposedly)
} }
@ -3499,7 +3509,7 @@ void wfmain::doCmd(commandtype cmddata)
case cmdGetBandStackReg: case cmdGetBandStackReg:
{ {
char band = (*std::static_pointer_cast<char>(data)); char band = (*std::static_pointer_cast<char>(data));
//bandStkBand = rigCaps.bsr[(bandType)band]; // 23cm Needs fixing bandStkBand = rigCaps.bsr[band]; // 23cm Needs fixing
bandStkRegCode = ui->bandStkPopdown->currentIndex() + 1; bandStkRegCode = ui->bandStkPopdown->currentIndex() + 1;
emit getBandStackReg(bandStkBand, bandStkRegCode); emit getBandStackReg(bandStkBand, bandStkRegCode);
break; break;

Wyświetl plik

@ -1072,12 +1072,13 @@ private:
SERVERCONFIG serverConfig; SERVERCONFIG serverConfig;
void serverAddUserLine(const QString& user, const QString& pass, const int& type); void serverAddUserLine(const QString& user, const QString& pass, const int& type);
#if defined (USB_CONTROLLER)
usbController *usbControllerDev = Q_NULLPTR; usbController *usbControllerDev = Q_NULLPTR;
QThread *usbControllerThread = Q_NULLPTR; QThread *usbControllerThread = Q_NULLPTR;
QString usbDeviceName; QString usbDeviceName;
QVector<COMMAND> usbCommands; QVector<COMMAND> usbCommands;
QVector<BUTTON> usbButtons; QVector<BUTTON> usbButtons;
#endif
dxClusterClient* cluster = Q_NULLPTR; dxClusterClient* cluster = Q_NULLPTR;
QThread* clusterThread = Q_NULLPTR; QThread* clusterThread = Q_NULLPTR;

Wyświetl plik

@ -1798,7 +1798,6 @@
<font> <font>
<family>DejaVu Sans Mono</family> <family>DejaVu Sans Mono</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -3383,8 +3382,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>858</width> <width>579</width>
<height>287</height> <height>224</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
@ -5333,7 +5332,6 @@
<widget class="QPushButton" name="exitBtn"> <widget class="QPushButton" name="exitBtn">
<property name="font"> <property name="font">
<font> <font>
<weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
@ -5353,7 +5351,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1082</width> <width>1082</width>
<height>21</height> <height>22</height>
</rect> </rect>
</property> </property>
</widget> </widget>

Wyświetl plik

@ -4,7 +4,7 @@
# #
#------------------------------------------------- #-------------------------------------------------
QT += core gui serialport network multimedia xml gamepad QT += core gui serialport network multimedia xml
#QT += sql #QT += sql
#DEFINES += USESQL #DEFINES += USESQL
@ -18,13 +18,13 @@ DEFINES += WFVIEW_VERSION=\\\"1.56\\\"
DEFINES += BUILD_WFVIEW DEFINES += BUILD_WFVIEW
#Uncomment The following 5 lines enable USB controllers (Shuttle/RC-28 etc.) #Uncomment The following 6 lines to enable USB controllers (Shuttle/RC-28 etc.)
#DEFINES += USB_CONTROLLERS #DEFINES += USB_CONTROLLERS
#linux:LIBS += -L./ -l$$QCPLIB -lhidapi-libusb #linux:LIBS += -L./ -l$$QCPLIB -lhidapi-libusb
#macx:LIBS += -framework CoreAudio -framework CoreFoundation -lhidapi #macx:LIBS += -framework CoreAudio -framework CoreFoundation -lhidapi
#win32:INCLUDEPATH += ../hidapi/hidapi #win32:INCLUDEPATH += ../hidapi/hidapi
#win32:SOURCES += ../hidapi/windows/hid.c #win32:SOURCES += ../hidapi/windows/hid.c
#QT += gamepad
CONFIG(debug, release|debug) { CONFIG(debug, release|debug) {
# For Debug builds only: # For Debug builds only:

Wyświetl plik

@ -111,11 +111,11 @@
<OutDir>$(SolutionDir)wfview-release\</OutDir> <OutDir>$(SolutionDir)wfview-release\</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>msvc2019</QtInstall> <QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules> <QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings">
<QtInstall>msvc2019</QtInstall> <QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules> <QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -123,7 +123,7 @@
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules> <QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings">
<QtInstall>msvc2019</QtInstall> <QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules> <QtModules>core;gui;network;widgets;multimedia;printsupport;serialport;xml</QtModules>
</PropertyGroup> </PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"> <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
@ -414,6 +414,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug</Com
<ClCompile Include="calibrationwindow.cpp" /> <ClCompile Include="calibrationwindow.cpp" />
<ClCompile Include="cluster.cpp" /> <ClCompile Include="cluster.cpp" />
<ClCompile Include="commhandler.cpp" /> <ClCompile Include="commhandler.cpp" />
<ClCompile Include="controllersetup.cpp" />
<ClCompile Include="freqmemory.cpp" /> <ClCompile Include="freqmemory.cpp" />
<ClCompile Include="logcategories.cpp" /> <ClCompile Include="logcategories.cpp" />
<ClCompile Include="loggingwindow.cpp" /> <ClCompile Include="loggingwindow.cpp" />
@ -437,15 +438,18 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug</Com
<ClCompile Include="udpcivdata.cpp" /> <ClCompile Include="udpcivdata.cpp" />
<ClCompile Include="udphandler.cpp" /> <ClCompile Include="udphandler.cpp" />
<ClCompile Include="udpserver.cpp" /> <ClCompile Include="udpserver.cpp" />
<ClCompile Include="usbcontroller.cpp" />
<ClCompile Include="wfmain.cpp" /> <ClCompile Include="wfmain.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\rtaudio\RTAUdio.h" /> <ClInclude Include="..\rtaudio\RTAUdio.h" />
<QtMoc Include="usbcontroller.h" />
<QtMoc Include="aboutbox.h"> <QtMoc Include="aboutbox.h">
</QtMoc> </QtMoc>
<QtMoc Include="audiodevices.h" /> <QtMoc Include="audiodevices.h" />
<QtMoc Include="loggingwindow.h" /> <QtMoc Include="loggingwindow.h" />
<QtMoc Include="cluster.h" /> <QtMoc Include="cluster.h" />
<QtMoc Include="controllersetup.h" />
<ClInclude Include="resampler\arch.h" /> <ClInclude Include="resampler\arch.h" />
<QtMoc Include="audioconverter.h"> <QtMoc Include="audioconverter.h">
</QtMoc> </QtMoc>
@ -533,6 +537,7 @@ cmd /c copy /y ..\portaudio\msvc\Win32\Debug\portaudio_x86.dll wfview-debug</Com
</QtUic> </QtUic>
<QtUic Include="calibrationwindow.ui"> <QtUic Include="calibrationwindow.ui">
</QtUic> </QtUic>
<QtUic Include="controllersetup.ui" />
<QtUic Include="loggingwindow.ui" /> <QtUic Include="loggingwindow.ui" />
<QtUic Include="repeatersetup.ui"> <QtUic Include="repeatersetup.ui">
</QtUic> </QtUic>

Wyświetl plik

@ -143,6 +143,12 @@
<ClCompile Include="wfmain.cpp"> <ClCompile Include="wfmain.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="usbcontroller.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="controllersetup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\rtaudio\RTAUdio.h"> <ClInclude Include="..\rtaudio\RTAUdio.h">
@ -272,6 +278,9 @@
<QtUic Include="calibrationwindow.ui"> <QtUic Include="calibrationwindow.ui">
<Filter>Form Files</Filter> <Filter>Form Files</Filter>
</QtUic> </QtUic>
<QtUic Include="controllersetup.ui">
<Filter>Form Files</Filter>
</QtUic>
<QtUic Include="loggingwindow.ui"> <QtUic Include="loggingwindow.ui">
<Filter>Form Files</Filter> <Filter>Form Files</Filter>
</QtUic> </QtUic>
@ -425,4 +434,12 @@
<ItemGroup> <ItemGroup>
<ResourceCompile Include=".\wfview_resource.rc" /> <ResourceCompile Include=".\wfview_resource.rc" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<QtMoc Include="usbcontroller.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="controllersetup.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
</Project> </Project>

Wyświetl plik

@ -45,10 +45,10 @@
<QtLastBackgroundBuild>2022-08-21T18:58:23.4329764Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-21T18:58:23.4329764Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2023-01-01T21:18:41.6777849Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2023-01-12T19:02:11.7122024Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings">
<QtLastBackgroundBuild>2023-01-01T21:18:41.0898794Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2023-01-12T19:02:11.0783744Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<QtLastBackgroundBuild>2022-08-22T10:47:49.1255783Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-22T10:47:49.1255783Z</QtLastBackgroundBuild>
@ -60,9 +60,9 @@
<QtLastBackgroundBuild>2022-08-20T19:06:43.4553894Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-20T19:06:43.4553894Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2023-01-02T15:55:24.4600387Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2023-01-12T19:02:13.6556090Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings">
<QtLastBackgroundBuild>2023-01-01T21:18:42.4124187Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2023-01-12T19:02:12.4064183Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

Wyświetl plik

@ -1,6 +1,6 @@
#include <windows.h> #include <windows.h>
IDI_ICON1 ICON DISCARDABLE "C:\\Users\\Phil\\source\\repos\\wfview\\resources\\wfview.ico" IDI_ICON1 ICON "C:\\Users\\Phil\\source\\repos\\wfview\\resources\\wfview.ico"
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,0,0 FILEVERSION 0,0,0,0
@ -11,9 +11,9 @@ VS_VERSION_INFO VERSIONINFO
#else #else
FILEFLAGS 0x0L FILEFLAGS 0x0L
#endif #endif
FILEOS VOS__WINDOWS32 FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL FILETYPE VFT_DLL
FILESUBTYPE 0x0L FILESUBTYPE VFT2_UNKNOWN
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
@ -26,6 +26,9 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "wfview.exe\0" VALUE "OriginalFilename", "wfview.exe\0"
VALUE "ProductName", "wfview\0" VALUE "ProductName", "wfview\0"
VALUE "ProductVersion", "0.0.0.0\0" VALUE "ProductVersion", "0.0.0.0\0"
VALUE "InternalName", "\0"
VALUE "Comments", "\0"
VALUE "LegalTrademarks", "\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"