kopia lustrzana https://gitlab.com/eliggett/wfview
Merge branch 'master' into opus
commit
eb2f897a81
94
CHANGELOG
94
CHANGELOG
|
@ -1,5 +1,99 @@
|
||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
- 20210809
|
||||||
|
|
||||||
|
Add constants to make parsing (hopefully) easier
|
||||||
|
|
||||||
|
- 20210808
|
||||||
|
|
||||||
|
Fake known functions
|
||||||
|
|
||||||
|
Fix float warning
|
||||||
|
|
||||||
|
Remove calibration debugging
|
||||||
|
|
||||||
|
Add proper s-meter calibration
|
||||||
|
|
||||||
|
- 20210807
|
||||||
|
|
||||||
|
Add ritctl model to rigCaps
|
||||||
|
|
||||||
|
Fix to make wsjt-x work again!
|
||||||
|
|
||||||
|
Add split/duplex support
|
||||||
|
|
||||||
|
Update rigctld.cpp
|
||||||
|
|
||||||
|
Correct lack of parentheses in conditionals
|
||||||
|
|
||||||
|
Fix typo
|
||||||
|
|
||||||
|
Remove some debug logging
|
||||||
|
|
||||||
|
More rigctl features/fixes
|
||||||
|
|
||||||
|
- 20210806
|
||||||
|
|
||||||
|
Fix for get_powerstat
|
||||||
|
|
||||||
|
Update rigctld.cpp
|
||||||
|
|
||||||
|
Add some levels and other functions
|
||||||
|
|
||||||
|
Fix compile warnings
|
||||||
|
|
||||||
|
Add frequency ranges from rigcaps
|
||||||
|
|
||||||
|
- 20210806
|
||||||
|
|
||||||
|
Move rigctld settings in Ui
|
||||||
|
|
||||||
|
Fixes for setting freq/mode
|
||||||
|
|
||||||
|
Support for more rigctld commands
|
||||||
|
|
||||||
|
More fixes to rigctld
|
||||||
|
|
||||||
|
Change the way rigctl response is built
|
||||||
|
|
||||||
|
More rigctld fixes
|
||||||
|
|
||||||
|
- 20210804
|
||||||
|
|
||||||
|
Add rigctld config to ui and fix some bugs
|
||||||
|
|
||||||
|
- 20210802
|
||||||
|
|
||||||
|
added derSuessman prefix code
|
||||||
|
|
||||||
|
- 20210801
|
||||||
|
|
||||||
|
Fix broken 8bit audio
|
||||||
|
|
||||||
|
added derSuessmann additions to have a linux install prefix
|
||||||
|
|
||||||
|
Fedora build/install notes, see merge request eliggett/wfview!4
|
||||||
|
|
||||||
|
- 20210730
|
||||||
|
|
||||||
|
Added a little extra logic, also some cross-platform help, to the custom
|
||||||
|
stylesheet loader.
|
||||||
|
|
||||||
|
- 20210729
|
||||||
|
|
||||||
|
fix: set the style once
|
||||||
|
|
||||||
|
|
||||||
|
added /usr/local to search path for the stylesheet
|
||||||
|
|
||||||
|
- 20210726
|
||||||
|
|
||||||
|
Fixed error in IC-7410 attenuator spec.
|
||||||
|
|
||||||
|
- 20210726
|
||||||
|
|
||||||
|
Fix for blank username/password in server
|
||||||
|
|
||||||
- 20210724
|
- 20210724
|
||||||
|
|
||||||
small changes to INSTAll.md and addition of mint 20.2/openSUSE 15.3
|
small changes to INSTAll.md and addition of mint 20.2/openSUSE 15.3
|
||||||
|
|
31
INSTALL.md
31
INSTALL.md
|
@ -40,15 +40,16 @@ git clone https://gitlab.com/eliggett/wfview.git
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### 3. Create a build directory, compile, and install:
|
### 3. Create a build directory, compile, and install:
|
||||||
|
If you want to change the default install path from `/usr/local` to a different prefix (e.g. `/opt`), you must call `qmake ../wfview/wfview.pro PREFIX=/opt`
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
qmake ../wfview/wfview.pro
|
qmake ../wfview/wfview.pro
|
||||||
make -j
|
make -j
|
||||||
sudo ./install.sh
|
sudo make install
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
### 4. You can now launch wfview, either from the terminal or from your desktop environment. If you encounter issues using the serial port, run the following command:
|
### 4. You can now launch wfview, either from the terminal or from your desktop environment. If you encounter issues using the serial port, run the following command:
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -65,7 +66,7 @@ sudo usermod -aG dialout $USER
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### opensuse/sles/tumbleweed install ###
|
### opensuse/sles/tumbleweed install
|
||||||
---
|
---
|
||||||
|
|
||||||
install wfview on suse 15.x sles 15.x or tumbleweed; this was done on a clean install/updated OS.
|
install wfview on suse 15.x sles 15.x or tumbleweed; this was done on a clean install/updated OS.
|
||||||
|
@ -99,3 +100,27 @@ in this case, use your homedir:
|
||||||
wfview is now installed in /usr/local/bin
|
wfview is now installed in /usr/local/bin
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Fedora install ###
|
||||||
|
---
|
||||||
|
|
||||||
|
Tested under Fedora 33/34.
|
||||||
|
|
||||||
|
Install qt5 dependencies:
|
||||||
|
- sudo dnf install qt5-qtbase-common qt5-qtbase qt5-qtbase-gui qt5-qtserialport qt5-qtmultimedia mingw64-qt5-qmake qt5-qtbase-devel qt5-qtserialport-devel qt5-qtmultimedia-devel
|
||||||
|
|
||||||
|
Install qcustomplot:
|
||||||
|
- sudo dnf install qcustomplot qcustomplot-devel
|
||||||
|
|
||||||
|
When done, create a build area, clone the repo, build and install:
|
||||||
|
|
||||||
|
- mkdir -p ~/src/build && cd src
|
||||||
|
- git clone https://gitlab.com/eliggett/wfview.git
|
||||||
|
- cd build
|
||||||
|
- qmake-qt5 ../wfview/wfview.pro
|
||||||
|
- make -j
|
||||||
|
- sudo ./install.sh
|
||||||
|
|
||||||
|
wfview is now installed in /usr/local/bin
|
||||||
|
|
||||||
|
---
|
||||||
|
|
19
WHATSNEW
19
WHATSNEW
|
@ -1,16 +1,9 @@
|
||||||
|
|
||||||
The following highlights are in this dot-release:
|
The following highlights are in this 1.x-release:
|
||||||
|
|
||||||
|
many changes/mods/updates/enhancements to rigctld
|
||||||
|
rigctld box added in the UI
|
||||||
|
build process changed: you can add the install prefix (derSuessmann)
|
||||||
|
added "do not ask again" for switching off rig and exiting wfview
|
||||||
|
|
||||||
added IC7700, 718, 7100. (more testing needed)
|
|
||||||
fixes and improvements to audio
|
|
||||||
ability to choose between rtaudio and qtmultimedia (default) as compile time option
|
|
||||||
fixes and lots of improvements at the usb-server end
|
|
||||||
waterfall length can be adjusted now
|
|
||||||
no need to restart to change CIV address
|
|
||||||
seamless changing rigs without restart
|
|
||||||
started support for older rigs like the 718
|
|
||||||
wf display disappears when there is no wf capable rig
|
|
||||||
IC R8600 support improved
|
|
||||||
for older rigs added a polling timing box to keep stuff keeping smooth
|
|
||||||
Local af gain now has anti-log audio pot taper.
|
|
||||||
|
|
||||||
|
|
|
@ -539,7 +539,7 @@ void audioHandler::incomingAudio(audioPacket inPacket)
|
||||||
{
|
{
|
||||||
for (int g = setup.radioChan; g <= devChannels; g++)
|
for (int g = setup.radioChan; g <= devChannels; g++)
|
||||||
{
|
{
|
||||||
if (isUlaw)
|
if (setup.ulaw)
|
||||||
*out++ = ulaw_decode[(quint8)inPacket.data[f]] * this->volume;
|
*out++ = ulaw_decode[(quint8)inPacket.data[f]] * this->volume;
|
||||||
else
|
else
|
||||||
*out++ = (qint16)(((quint8)inPacket.data[f] << 8) - 32640 * this->volume);
|
*out++ = (qint16)(((quint8)inPacket.data[f] << 8) - 32640 * this->volume);
|
||||||
|
@ -690,7 +690,7 @@ void audioHandler::getNextAudioChunk(QByteArray& ret)
|
||||||
for (int f = 0; f < outPacket.length(); f++)
|
for (int f = 0; f < outPacket.length(); f++)
|
||||||
{
|
{
|
||||||
quint8 outdata = 0;
|
quint8 outdata = 0;
|
||||||
if (isUlaw) {
|
if (setup.ulaw) {
|
||||||
qint16 enc = qFromLittleEndian<quint16>(in + f);
|
qint16 enc = qFromLittleEndian<quint16>(in + f);
|
||||||
if (enc >= 0)
|
if (enc >= 0)
|
||||||
outdata = ulaw_encode[enc];
|
outdata = ulaw_encode[enc];
|
||||||
|
|
|
@ -162,9 +162,7 @@ private:
|
||||||
#endif
|
#endif
|
||||||
SpeexResamplerState* resampler = Q_NULLPTR;
|
SpeexResamplerState* resampler = Q_NULLPTR;
|
||||||
|
|
||||||
bool isUlaw;
|
|
||||||
quint16 audioLatency;
|
quint16 audioLatency;
|
||||||
bool isInput; // Used to determine whether input or output audio
|
|
||||||
unsigned int chunkSize;
|
unsigned int chunkSize;
|
||||||
bool chunkAvailable;
|
bool chunkAvailable;
|
||||||
|
|
||||||
|
|
|
@ -311,7 +311,7 @@ void meter::drawScaleCenter(QPainter *qp)
|
||||||
void meter::drawScalePo(QPainter *qp)
|
void meter::drawScalePo(QPainter *qp)
|
||||||
{
|
{
|
||||||
//From the manual: "0000=0% to 0143=50% to 0213=100%"
|
//From the manual: "0000=0% to 0143=50% to 0213=100%"
|
||||||
float dnPerWatt = 143.0 / 50.0;
|
float dnPerWatt = 143.0f / 50.0f;
|
||||||
|
|
||||||
qp->setPen(lowTextColor);
|
qp->setPen(lowTextColor);
|
||||||
//qp->setFont(QFont("Arial", fontSize));
|
//qp->setFont(QFont("Arial", fontSize));
|
||||||
|
@ -332,7 +332,7 @@ void meter::drawScalePo(QPainter *qp)
|
||||||
// Higher scale:
|
// Higher scale:
|
||||||
i = i - (int)(10*dnPerWatt); // back one tick first. Otherwise i starts at 178.
|
i = i - (int)(10*dnPerWatt); // back one tick first. Otherwise i starts at 178.
|
||||||
//qDebug() << "meter i: " << i;
|
//qDebug() << "meter i: " << i;
|
||||||
dnPerWatt = (213-143.0) / 50.0; // 1.4 dn per watt
|
dnPerWatt = (213-143.0f) / 50.0f; // 1.4 dn per watt
|
||||||
// P=5 here.
|
// P=5 here.
|
||||||
qp->setPen(Qt::yellow);
|
qp->setPen(Qt::yellow);
|
||||||
int k=0;
|
int k=0;
|
||||||
|
|
|
@ -25,6 +25,9 @@ rigCommander::rigCommander()
|
||||||
rigState.filter = 0;
|
rigState.filter = 0;
|
||||||
rigState.mode = 0;
|
rigState.mode = 0;
|
||||||
rigState.ptt = 0;
|
rigState.ptt = 0;
|
||||||
|
rigState.currentVfo = 0;
|
||||||
|
rigState.duplex = dmSplitOff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rigCommander::~rigCommander()
|
rigCommander::~rigCommander()
|
||||||
|
@ -140,7 +143,7 @@ void rigCommander::commSetup(unsigned char rigCivAddr, udpPreferences prefs, aud
|
||||||
// data from the comm port to the program:
|
// data from the comm port to the program:
|
||||||
|
|
||||||
emit commReady();
|
emit commReady();
|
||||||
emit stateInfo(&rigState);
|
sendState(); // Send current rig state to rigctld
|
||||||
|
|
||||||
pttAllowed = true; // This is for developing, set to false for "safe" debugging. Set to true for deployment.
|
pttAllowed = true; // This is for developing, set to false for "safe" debugging. Set to true for deployment.
|
||||||
|
|
||||||
|
@ -1218,12 +1221,16 @@ void rigCommander::parseCommand()
|
||||||
break;
|
break;
|
||||||
case '\x0F':
|
case '\x0F':
|
||||||
emit haveDuplexMode((duplexMode)(unsigned char)payloadIn[1]);
|
emit haveDuplexMode((duplexMode)(unsigned char)payloadIn[1]);
|
||||||
|
rigState.duplex = (duplexMode)(unsigned char)payloadIn[1];
|
||||||
break;
|
break;
|
||||||
case '\x11':
|
case '\x11':
|
||||||
emit haveAttenuator((unsigned char)payloadIn.at(1));
|
emit haveAttenuator((unsigned char)payloadIn.at(1));
|
||||||
|
rigState.attenuator = (unsigned char)payloadIn.at(1);
|
||||||
break;
|
break;
|
||||||
case '\x12':
|
case '\x12':
|
||||||
emit haveAntenna((unsigned char)payloadIn.at(1), (bool)payloadIn.at(2));
|
emit haveAntenna((unsigned char)payloadIn.at(1), (bool)payloadIn.at(2));
|
||||||
|
rigState.antenna = (unsigned char)payloadIn.at(1);
|
||||||
|
rigState.rxAntenna = (bool)payloadIn.at(2);
|
||||||
break;
|
break;
|
||||||
case '\x14':
|
case '\x14':
|
||||||
// read levels
|
// read levels
|
||||||
|
@ -1311,7 +1318,7 @@ void rigCommander::parseLevels()
|
||||||
unsigned char tens = (payloadIn[3] & 0xf0) >> 4;
|
unsigned char tens = (payloadIn[3] & 0xf0) >> 4;
|
||||||
unsigned char units = (payloadIn[3] & 0x0f);
|
unsigned char units = (payloadIn[3] & 0x0f);
|
||||||
|
|
||||||
unsigned char level = (100*hundreds) + (10*tens) + units;
|
unsigned char level = ((unsigned char)100*hundreds) + (10*tens) + units;
|
||||||
|
|
||||||
//qInfo(logRig()) << "Level is: " << (int)level << " or " << 100.0*level/255.0 << "%";
|
//qInfo(logRig()) << "Level is: " << (int)level << " or " << 100.0*level/255.0 << "%";
|
||||||
|
|
||||||
|
@ -2288,7 +2295,7 @@ void rigCommander::parsePTT()
|
||||||
// PTT on
|
// PTT on
|
||||||
emit havePTTStatus(true);
|
emit havePTTStatus(true);
|
||||||
}
|
}
|
||||||
rigState.ptt = (unsigned char)payloadIn[2];
|
rigState.ptt = (bool)payloadIn[2];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2852,6 +2859,7 @@ void rigCommander::determineRigCaps()
|
||||||
switch(model){
|
switch(model){
|
||||||
case model7300:
|
case model7300:
|
||||||
rigCaps.modelName = QString("IC-7300");
|
rigCaps.modelName = QString("IC-7300");
|
||||||
|
rigCaps.rigctlModel = 3073;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 11;
|
rigCaps.spectSeqMax = 11;
|
||||||
rigCaps.spectAmpMax = 160;
|
rigCaps.spectAmpMax = 160;
|
||||||
|
@ -2875,6 +2883,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case modelR8600:
|
case modelR8600:
|
||||||
rigCaps.modelName = QString("IC-R8600");
|
rigCaps.modelName = QString("IC-R8600");
|
||||||
|
rigCaps.rigctlModel = 3079;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 11;
|
rigCaps.spectSeqMax = 11;
|
||||||
rigCaps.spectAmpMax = 160;
|
rigCaps.spectAmpMax = 160;
|
||||||
|
@ -2909,6 +2918,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model9700:
|
case model9700:
|
||||||
rigCaps.modelName = QString("IC-9700");
|
rigCaps.modelName = QString("IC-9700");
|
||||||
|
rigCaps.rigctlModel = 3081;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 11;
|
rigCaps.spectSeqMax = 11;
|
||||||
rigCaps.spectAmpMax = 160;
|
rigCaps.spectAmpMax = 160;
|
||||||
|
@ -2936,6 +2946,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model910h:
|
case model910h:
|
||||||
rigCaps.modelName = QString("IC-910H");
|
rigCaps.modelName = QString("IC-910H");
|
||||||
|
rigCaps.rigctlModel = 3044;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
rigCaps.hasEthernet = false;
|
rigCaps.hasEthernet = false;
|
||||||
|
@ -2957,6 +2968,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7600:
|
case model7600:
|
||||||
rigCaps.modelName = QString("IC-7600");
|
rigCaps.modelName = QString("IC-7600");
|
||||||
|
rigCaps.rigctlModel = 3063;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputACC);
|
rigCaps.inputs.append(inputACC);
|
||||||
rigCaps.inputs.append(inputUSB);
|
rigCaps.inputs.append(inputUSB);
|
||||||
|
@ -2980,6 +2992,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7610:
|
case model7610:
|
||||||
rigCaps.modelName = QString("IC-7610");
|
rigCaps.modelName = QString("IC-7610");
|
||||||
|
rigCaps.rigctlModel = 3078;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 15;
|
rigCaps.spectSeqMax = 15;
|
||||||
rigCaps.spectAmpMax = 200;
|
rigCaps.spectAmpMax = 200;
|
||||||
|
@ -3010,6 +3023,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7850:
|
case model7850:
|
||||||
rigCaps.modelName = QString("IC-785x");
|
rigCaps.modelName = QString("IC-785x");
|
||||||
|
rigCaps.rigctlModel = 3075;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 15;
|
rigCaps.spectSeqMax = 15;
|
||||||
rigCaps.spectAmpMax = 136;
|
rigCaps.spectAmpMax = 136;
|
||||||
|
@ -3041,6 +3055,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model705:
|
case model705:
|
||||||
rigCaps.modelName = QString("IC-705");
|
rigCaps.modelName = QString("IC-705");
|
||||||
|
rigCaps.rigctlModel = 3085;
|
||||||
rigCaps.hasSpectrum = true;
|
rigCaps.hasSpectrum = true;
|
||||||
rigCaps.spectSeqMax = 11;
|
rigCaps.spectSeqMax = 11;
|
||||||
rigCaps.spectAmpMax = 160;
|
rigCaps.spectAmpMax = 160;
|
||||||
|
@ -3076,6 +3091,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7000:
|
case model7000:
|
||||||
rigCaps.modelName = QString("IC-7000");
|
rigCaps.modelName = QString("IC-7000");
|
||||||
|
rigCaps.rigctlModel = 3060;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputACC);
|
rigCaps.inputs.append(inputACC);
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3097,6 +3113,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7410:
|
case model7410:
|
||||||
rigCaps.modelName = QString("IC-7410");
|
rigCaps.modelName = QString("IC-7410");
|
||||||
|
rigCaps.rigctlModel = 3067;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputACC);
|
rigCaps.inputs.append(inputACC);
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3106,7 +3123,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
rigCaps.attenuators.push_back('\x12');
|
rigCaps.attenuators.push_back('\x20');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
rigCaps.antennas = {0x00, 0x01};
|
rigCaps.antennas = {0x00, 0x01};
|
||||||
|
@ -3117,6 +3134,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7100:
|
case model7100:
|
||||||
rigCaps.modelName = QString("IC-7100");
|
rigCaps.modelName = QString("IC-7100");
|
||||||
|
rigCaps.rigctlModel = 3070;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputUSB);
|
rigCaps.inputs.append(inputUSB);
|
||||||
rigCaps.inputs.append(inputACC);
|
rigCaps.inputs.append(inputACC);
|
||||||
|
@ -3143,6 +3161,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7200:
|
case model7200:
|
||||||
rigCaps.modelName = QString("IC-7200");
|
rigCaps.modelName = QString("IC-7200");
|
||||||
|
rigCaps.rigctlModel = 3061;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputUSB);
|
rigCaps.inputs.append(inputUSB);
|
||||||
rigCaps.inputs.append(inputACC);
|
rigCaps.inputs.append(inputACC);
|
||||||
|
@ -3162,6 +3181,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model7700:
|
case model7700:
|
||||||
rigCaps.modelName = QString("IC-7700");
|
rigCaps.modelName = QString("IC-7700");
|
||||||
|
rigCaps.rigctlModel = 3062;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.append(inputLAN);
|
rigCaps.inputs.append(inputLAN);
|
||||||
//rigCaps.inputs.append(inputSPDIF);
|
//rigCaps.inputs.append(inputSPDIF);
|
||||||
|
@ -3187,6 +3207,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model706:
|
case model706:
|
||||||
rigCaps.modelName = QString("IC-706");
|
rigCaps.modelName = QString("IC-706");
|
||||||
|
rigCaps.rigctlModel = 3009;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.clear();
|
rigCaps.inputs.clear();
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3205,6 +3226,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model718:
|
case model718:
|
||||||
rigCaps.modelName = QString("IC-718");
|
rigCaps.modelName = QString("IC-718");
|
||||||
|
rigCaps.rigctlModel = 3013;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.clear();
|
rigCaps.inputs.clear();
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3227,6 +3249,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model756pro:
|
case model756pro:
|
||||||
rigCaps.modelName = QString("IC-756 Pro");
|
rigCaps.modelName = QString("IC-756 Pro");
|
||||||
|
rigCaps.rigctlModel = 3027;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.clear();
|
rigCaps.inputs.clear();
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3245,6 +3268,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model756proii:
|
case model756proii:
|
||||||
rigCaps.modelName = QString("IC-756 Pro II");
|
rigCaps.modelName = QString("IC-756 Pro II");
|
||||||
|
rigCaps.rigctlModel = 3027;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.clear();
|
rigCaps.inputs.clear();
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3263,6 +3287,7 @@ void rigCommander::determineRigCaps()
|
||||||
break;
|
break;
|
||||||
case model756proiii:
|
case model756proiii:
|
||||||
rigCaps.modelName = QString("IC-756 Pro III");
|
rigCaps.modelName = QString("IC-756 Pro III");
|
||||||
|
rigCaps.rigctlModel = 3027;
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
rigCaps.inputs.clear();
|
rigCaps.inputs.clear();
|
||||||
rigCaps.hasLan = false;
|
rigCaps.hasLan = false;
|
||||||
|
@ -3785,6 +3810,11 @@ QByteArray rigCommander::stripData(const QByteArray &data, unsigned char cutPosi
|
||||||
return rtndata;
|
return rtndata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rigCommander::sendState()
|
||||||
|
{
|
||||||
|
emit stateInfo(&rigState);
|
||||||
|
}
|
||||||
|
|
||||||
void rigCommander::getDebug()
|
void rigCommander::getDebug()
|
||||||
{
|
{
|
||||||
// generic debug function for development.
|
// generic debug function for development.
|
||||||
|
|
|
@ -62,10 +62,14 @@ struct timekind {
|
||||||
struct rigStateStruct {
|
struct rigStateStruct {
|
||||||
freqt vfoAFreq;
|
freqt vfoAFreq;
|
||||||
freqt vfoBFreq;
|
freqt vfoBFreq;
|
||||||
unsigned char ptt;
|
unsigned char currentVfo;
|
||||||
|
bool ptt;
|
||||||
unsigned char mode;
|
unsigned char mode;
|
||||||
unsigned char filter;
|
unsigned char filter;
|
||||||
|
duplexMode duplex;
|
||||||
bool datamode;
|
bool datamode;
|
||||||
|
unsigned char antenna;
|
||||||
|
bool rxAntenna;
|
||||||
// Tones
|
// Tones
|
||||||
quint16 ctcss;
|
quint16 ctcss;
|
||||||
quint16 tsql;
|
quint16 tsql;
|
||||||
|
@ -73,6 +77,7 @@ struct rigStateStruct {
|
||||||
quint16 csql;
|
quint16 csql;
|
||||||
// Levels
|
// Levels
|
||||||
unsigned char preamp;
|
unsigned char preamp;
|
||||||
|
unsigned char attenuator;
|
||||||
unsigned char modInput;
|
unsigned char modInput;
|
||||||
unsigned char afGain;
|
unsigned char afGain;
|
||||||
unsigned char rfGain;
|
unsigned char rfGain;
|
||||||
|
@ -91,6 +96,38 @@ struct rigStateStruct {
|
||||||
unsigned char compMeter;
|
unsigned char compMeter;
|
||||||
unsigned char voltageMeter;
|
unsigned char voltageMeter;
|
||||||
unsigned char currentMeter;
|
unsigned char currentMeter;
|
||||||
|
// Functions
|
||||||
|
bool fagcFunc=false;
|
||||||
|
bool nbFunc=false;
|
||||||
|
bool compFunc=false;
|
||||||
|
bool voxFunc = false;
|
||||||
|
bool toneFunc = false;
|
||||||
|
bool tsqlFunc = false;
|
||||||
|
bool sbkinFunc = false;
|
||||||
|
bool fbkinFunc = false;
|
||||||
|
bool anfFunc = false;
|
||||||
|
bool nrFunc = false;
|
||||||
|
bool aipFunc = false;
|
||||||
|
bool apfFunc = false;
|
||||||
|
bool monFunc = false;
|
||||||
|
bool mnFunc = false;
|
||||||
|
bool rfFunc = false;
|
||||||
|
bool aroFunc = false;
|
||||||
|
bool muteFunc = false;
|
||||||
|
bool vscFunc = false;
|
||||||
|
bool revFunc = false;
|
||||||
|
bool sqlFunc = false;
|
||||||
|
bool abmFunc = false;
|
||||||
|
bool bcFunc = false;
|
||||||
|
bool mbcFunc = false;
|
||||||
|
bool ritFunc = false;
|
||||||
|
bool afcFunc = false;
|
||||||
|
bool satmodeFunc = false;
|
||||||
|
bool scopeFunc = false;
|
||||||
|
bool resumeFunc = false;
|
||||||
|
bool tburstFunc = false;
|
||||||
|
bool tunerFunc = false;
|
||||||
|
bool lockFunc = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
class rigCommander : public QObject
|
class rigCommander : public QObject
|
||||||
|
@ -270,6 +307,7 @@ public slots:
|
||||||
|
|
||||||
// Housekeeping:
|
// Housekeeping:
|
||||||
void handleStatusUpdate(const QString text);
|
void handleStatusUpdate(const QString text);
|
||||||
|
void sendState();
|
||||||
void getDebug();
|
void getDebug();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
1098
rigctld.cpp
1098
rigctld.cpp
Plik diff jest za duży
Load Diff
377
rigctld.h
377
rigctld.h
|
@ -1,3 +1,9 @@
|
||||||
|
/* This file contains portions of the Hamlib Interface - API header
|
||||||
|
* Copyright(c) 2000 - 2003 by Frank Singleton
|
||||||
|
* Copyright(c) 2000 - 2012 by Stephane Fillod
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef RIGCTLD_H
|
#ifndef RIGCTLD_H
|
||||||
#define RIGCTLD_H
|
#define RIGCTLD_H
|
||||||
|
|
||||||
|
@ -14,6 +20,345 @@
|
||||||
|
|
||||||
#include "rigcommander.h"
|
#include "rigcommander.h"
|
||||||
|
|
||||||
|
#define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT))
|
||||||
|
|
||||||
|
#define RIG_MODE_NONE 0 /*!< '' -- None */
|
||||||
|
#define RIG_MODE_AM CONSTANT_64BIT_FLAG (0) /*!< \c AM -- Amplitude Modulation */
|
||||||
|
#define RIG_MODE_CW CONSTANT_64BIT_FLAG (1) /*!< \c CW -- CW "normal" sideband */
|
||||||
|
#define RIG_MODE_USB CONSTANT_64BIT_FLAG (2) /*!< \c USB -- Upper Side Band */
|
||||||
|
#define RIG_MODE_LSB CONSTANT_64BIT_FLAG (3) /*!< \c LSB -- Lower Side Band */
|
||||||
|
#define RIG_MODE_RTTY CONSTANT_64BIT_FLAG (4) /*!< \c RTTY -- Radio Teletype */
|
||||||
|
#define RIG_MODE_FM CONSTANT_64BIT_FLAG (5) /*!< \c FM -- "narrow" band FM */
|
||||||
|
#define RIG_MODE_WFM CONSTANT_64BIT_FLAG (6) /*!< \c WFM -- broadcast wide FM */
|
||||||
|
#define RIG_MODE_CWR CONSTANT_64BIT_FLAG (7) /*!< \c CWR -- CW "reverse" sideband */
|
||||||
|
#define RIG_MODE_RTTYR CONSTANT_64BIT_FLAG (8) /*!< \c RTTYR -- RTTY "reverse" sideband */
|
||||||
|
#define RIG_MODE_AMS CONSTANT_64BIT_FLAG (9) /*!< \c AMS -- Amplitude Modulation Synchronous */
|
||||||
|
#define RIG_MODE_PKTLSB CONSTANT_64BIT_FLAG (10) /*!< \c PKTLSB -- Packet/Digital LSB mode (dedicated port) */
|
||||||
|
#define RIG_MODE_PKTUSB CONSTANT_64BIT_FLAG (11) /*!< \c PKTUSB -- Packet/Digital USB mode (dedicated port) */
|
||||||
|
#define RIG_MODE_PKTFM CONSTANT_64BIT_FLAG (12) /*!< \c PKTFM -- Packet/Digital FM mode (dedicated port) */
|
||||||
|
#define RIG_MODE_ECSSUSB CONSTANT_64BIT_FLAG (13) /*!< \c ECSSUSB -- Exalted Carrier Single Sideband USB */
|
||||||
|
#define RIG_MODE_ECSSLSB CONSTANT_64BIT_FLAG (14) /*!< \c ECSSLSB -- Exalted Carrier Single Sideband LSB */
|
||||||
|
#define RIG_MODE_FAX CONSTANT_64BIT_FLAG (15) /*!< \c FAX -- Facsimile Mode */
|
||||||
|
#define RIG_MODE_SAM CONSTANT_64BIT_FLAG (16) /*!< \c SAM -- Synchronous AM double sideband */
|
||||||
|
#define RIG_MODE_SAL CONSTANT_64BIT_FLAG (17) /*!< \c SAL -- Synchronous AM lower sideband */
|
||||||
|
#define RIG_MODE_SAH CONSTANT_64BIT_FLAG (18) /*!< \c SAH -- Synchronous AM upper (higher) sideband */
|
||||||
|
#define RIG_MODE_DSB CONSTANT_64BIT_FLAG (19) /*!< \c DSB -- Double sideband suppressed carrier */
|
||||||
|
#define RIG_MODE_FMN CONSTANT_64BIT_FLAG (21) /*!< \c FMN -- FM Narrow Kenwood ts990s */
|
||||||
|
#define RIG_MODE_PKTAM CONSTANT_64BIT_FLAG (22) /*!< \c PKTAM -- Packet/Digital AM mode e.g. IC7300 */
|
||||||
|
#define RIG_MODE_P25 CONSTANT_64BIT_FLAG (23) /*!< \c P25 -- APCO/P25 VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_DSTAR CONSTANT_64BIT_FLAG (24) /*!< \c D-Star -- VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_DPMR CONSTANT_64BIT_FLAG (25) /*!< \c dPMR -- digital PMR, VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_NXDNVN CONSTANT_64BIT_FLAG (26) /*!< \c NXDN-VN -- VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_NXDN_N CONSTANT_64BIT_FLAG (27) /*!< \c NXDN-N -- VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_DCR CONSTANT_64BIT_FLAG (28) /*!< \c DCR -- VHF,UHF digital mode IC-R8600 */
|
||||||
|
#define RIG_MODE_AMN CONSTANT_64BIT_FLAG (29) /*!< \c AM-N -- Narrow band AM mode IC-R30 */
|
||||||
|
#define RIG_MODE_PSK CONSTANT_64BIT_FLAG (30) /*!< \c PSK - Kenwood PSK and others */
|
||||||
|
#define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31) /*!< \c PSKR - Kenwood PSKR and others */
|
||||||
|
#define RIG_MODE_DD CONSTANT_64BIT_FLAG (32) /*!< \c DD Mode IC-9700 */
|
||||||
|
#define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33) /*!< \c Yaesu C4FM mode */
|
||||||
|
#define RIG_MODE_PKTFMN CONSTANT_64BIT_FLAG (34) /*!< \c Yaesu DATA-FM-N */
|
||||||
|
#define RIG_MODE_SPEC CONSTANT_64BIT_FLAG (35) /*!< \c Unfiltered as in PowerSDR */
|
||||||
|
|
||||||
|
#define RIG_LEVEL_NONE 0 /*!< '' -- No Level */
|
||||||
|
#define RIG_LEVEL_PREAMP CONSTANT_64BIT_FLAG(0) /*!< \c PREAMP -- Preamp, arg int (dB) */
|
||||||
|
#define RIG_LEVEL_ATT CONSTANT_64BIT_FLAG(1) /*!< \c ATT -- Attenuator, arg int (dB) */
|
||||||
|
#define RIG_LEVEL_VOXDELAY CONSTANT_64BIT_FLAG(2) /*!< \c VOXDELAY -- VOX delay, arg int (tenth of seconds) */
|
||||||
|
#define RIG_LEVEL_AF CONSTANT_64BIT_FLAG(3) /*!< \c AF -- Volume, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_RF CONSTANT_64BIT_FLAG(4) /*!< \c RF -- RF gain (not TX power) arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_SQL CONSTANT_64BIT_FLAG(5) /*!< \c SQL -- Squelch, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_IF CONSTANT_64BIT_FLAG(6) /*!< \c IF -- IF, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_APF CONSTANT_64BIT_FLAG(7) /*!< \c APF -- Audio Peak Filter, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_NR CONSTANT_64BIT_FLAG(8) /*!< \c NR -- Noise Reduction, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_PBT_IN CONSTANT_64BIT_FLAG(9) /*!< \c PBT_IN -- Twin PBT (inside) arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_PBT_OUT CONSTANT_64BIT_FLAG(10) /*!< \c PBT_OUT -- Twin PBT (outside) arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_CWPITCH CONSTANT_64BIT_FLAG(11) /*!< \c CWPITCH -- CW pitch, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_RFPOWER CONSTANT_64BIT_FLAG(12) /*!< \c RFPOWER -- RF Power, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_MICGAIN CONSTANT_64BIT_FLAG(13) /*!< \c MICGAIN -- MIC Gain, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_KEYSPD CONSTANT_64BIT_FLAG(14) /*!< \c KEYSPD -- Key Speed, arg int (WPM) */
|
||||||
|
#define RIG_LEVEL_NOTCHF CONSTANT_64BIT_FLAG(15) /*!< \c NOTCHF -- Notch Freq., arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_COMP CONSTANT_64BIT_FLAG(16) /*!< \c COMP -- Compressor, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17) /*!< \c AGC -- AGC, arg int (see enum agc_level_e) */
|
||||||
|
#define RIG_LEVEL_BKINDL CONSTANT_64BIT_FLAG(18) /*!< \c BKINDL -- BKin Delay, arg int (tenth of dots) */
|
||||||
|
#define RIG_LEVEL_BALANCE CONSTANT_64BIT_FLAG(19) /*!< \c BAL -- Balance (Dual Watch) arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20) /*!< \c METER -- Display meter, arg int (see enum meter_level_e) */
|
||||||
|
#define RIG_LEVEL_VOXGAIN CONSTANT_64BIT_FLAG(21) /*!< \c VOXGAIN -- VOX gain level, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_ANTIVOX CONSTANT_64BIT_FLAG(22) /*!< \c ANTIVOX -- anti-VOX level, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_SLOPE_LOW CONSTANT_64BIT_FLAG(23) /*!< \c SLOPE_LOW -- Slope tune, low frequency cut, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_SLOPE_HIGH CONSTANT_64BIT_FLAG(24) /*!< \c SLOPE_HIGH -- Slope tune, high frequency cut, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_BKIN_DLYMS CONSTANT_64BIT_FLAG(25) /*!< \c BKIN_DLYMS -- BKin Delay, arg int Milliseconds */
|
||||||
|
|
||||||
|
/*!< These are not settable */
|
||||||
|
#define RIG_LEVEL_RAWSTR CONSTANT_64BIT_FLAG(26) /*!< \c RAWSTR -- Raw (A/D) value for signal strength, specific to each rig, arg int */
|
||||||
|
//#define RIG_LEVEL_SQLSTAT CONSTANT_64BIT_FLAG(27) /*!< \c SQLSTAT -- SQL status, arg int (open=1/closed=0). Deprecated, use get_dcd instead */
|
||||||
|
#define RIG_LEVEL_SWR CONSTANT_64BIT_FLAG(28) /*!< \c SWR -- SWR, arg float [0.0 ... infinite] */
|
||||||
|
#define RIG_LEVEL_ALC CONSTANT_64BIT_FLAG(29) /*!< \c ALC -- ALC, arg float */
|
||||||
|
#define RIG_LEVEL_STRENGTH CONSTANT_64BIT_FLAG(30) /*!< \c STRENGTH -- Effective (calibrated) signal strength relative to S9, arg int (dB) */
|
||||||
|
/* RIG_LEVEL_BWC (1<<31) */ /*!< Bandwidth Control, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_RFPOWER_METER CONSTANT_64BIT_FLAG(32) /*!< \c RFPOWER_METER -- RF power output meter, arg float [0.0 ... 1.0] (percentage of maximum power) */
|
||||||
|
#define RIG_LEVEL_COMP_METER CONSTANT_64BIT_FLAG(33) /*!< \c COMP_METER -- Audio output level compression meter, arg float (dB) */
|
||||||
|
#define RIG_LEVEL_VD_METER CONSTANT_64BIT_FLAG(34) /*!< \c VD_METER -- Input voltage level meter, arg float (V, volts) */
|
||||||
|
#define RIG_LEVEL_ID_METER CONSTANT_64BIT_FLAG(35) /*!< \c ID_METER -- Current draw meter, arg float (A, amperes) */
|
||||||
|
#define RIG_LEVEL_NOTCHF_RAW CONSTANT_64BIT_FLAG(36) /*!< \c NOTCHF_RAW -- Notch Freq., arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37) /*!< \c MONITOR_GAIN -- Monitor gain (level for monitoring of transmitted audio) arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38) /*!< \c NB -- Noise Blanker level, arg float [0.0 ... 1.0] */
|
||||||
|
#define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39) /*!< \c RFPOWER_METER_WATTS -- RF power output meter, arg float [0.0 ... MAX] (output power in watts) */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) /*!< \c SPECTRUM_MODE -- Spectrum scope mode, arg int (see enum rig_spectrum_mode_e). Supported modes defined in rig caps. */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41) /*!< \c SPECTRUM_SPAN -- Spectrum scope span in center mode, arg int (Hz). Supported spans defined in rig caps. */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42) /*!< \c SPECTRUM_EDGE_LOW -- Spectrum scope low edge in fixed mode, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43) /*!< \c SPECTRUM_EDGE_HIGH -- Spectrum scope high edge in fixed mode, arg int (Hz) */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_SPEED CONSTANT_64BIT_FLAG(44) /*!< \c SPECTRUM_SPEED -- Spectrum scope update speed, arg int (highest is fastest, define rig-specific granularity) */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_REF CONSTANT_64BIT_FLAG(45) /*!< \c SPECTRUM_REF -- Spectrum scope reference display level, arg float (dB, define rig-specific granularity) */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_AVG CONSTANT_64BIT_FLAG(46) /*!< \c SPECTRUM_AVG -- Spectrum scope averaging mode, arg int (see struct rig_spectrum_avg_mode). Supported averaging modes defined in rig caps. */
|
||||||
|
#define RIG_LEVEL_SPECTRUM_ATT CONSTANT_64BIT_FLAG(47) /*!< \c SPECTRUM_ATT -- Spectrum scope attenuator, arg int (dB). Supported attenuator values defined in rig caps. */
|
||||||
|
#define RIG_LEVEL_TEMP_METER CONSTANT_64BIT_FLAG(48) /*!< \c TEMP_METER -- arg int (C, centigrade) */
|
||||||
|
|
||||||
|
#define RIG_FUNC_NONE 0 /*!< '' -- No Function */
|
||||||
|
#define RIG_FUNC_FAGC CONSTANT_64BIT_FLAG (0) /*!< \c FAGC -- Fast AGC */
|
||||||
|
#define RIG_FUNC_NB CONSTANT_64BIT_FLAG (1) /*!< \c NB -- Noise Blanker */
|
||||||
|
#define RIG_FUNC_COMP CONSTANT_64BIT_FLAG (2) /*!< \c COMP -- Speech Compression */
|
||||||
|
#define RIG_FUNC_VOX CONSTANT_64BIT_FLAG (3) /*!< \c VOX -- Voice Operated Relay */
|
||||||
|
#define RIG_FUNC_TONE CONSTANT_64BIT_FLAG (4) /*!< \c TONE -- CTCSS Tone TX */
|
||||||
|
#define RIG_FUNC_TSQL CONSTANT_64BIT_FLAG (5) /*!< \c TSQL -- CTCSS Activate/De-activate RX */
|
||||||
|
#define RIG_FUNC_SBKIN CONSTANT_64BIT_FLAG (6) /*!< \c SBKIN -- Semi Break-in (CW mode) */
|
||||||
|
#define RIG_FUNC_FBKIN CONSTANT_64BIT_FLAG (7) /*!< \c FBKIN -- Full Break-in (CW mode) */
|
||||||
|
#define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8) /*!< \c ANF -- Automatic Notch Filter (DSP) */
|
||||||
|
#define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9) /*!< \c NR -- Noise Reduction (DSP) */
|
||||||
|
#define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10) /*!< \c AIP -- RF pre-amp (AIP on Kenwood, IPO on Yaesu, etc.) */
|
||||||
|
#define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11) /*!< \c APF -- Auto Passband/Audio Peak Filter */
|
||||||
|
#define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12) /*!< \c MON -- Monitor transmitted signal */
|
||||||
|
#define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13) /*!< \c MN -- Manual Notch */
|
||||||
|
#define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14) /*!< \c RF -- RTTY Filter */
|
||||||
|
#define RIG_FUNC_ARO CONSTANT_64BIT_FLAG (15) /*!< \c ARO -- Auto Repeater Offset */
|
||||||
|
#define RIG_FUNC_LOCK CONSTANT_64BIT_FLAG (16) /*!< \c LOCK -- Lock */
|
||||||
|
#define RIG_FUNC_MUTE CONSTANT_64BIT_FLAG (17) /*!< \c MUTE -- Mute */
|
||||||
|
#define RIG_FUNC_VSC CONSTANT_64BIT_FLAG (18) /*!< \c VSC -- Voice Scan Control */
|
||||||
|
#define RIG_FUNC_REV CONSTANT_64BIT_FLAG (19) /*!< \c REV -- Reverse transmit and receive frequencies */
|
||||||
|
#define RIG_FUNC_SQL CONSTANT_64BIT_FLAG (20) /*!< \c SQL -- Turn Squelch Monitor on/off */
|
||||||
|
#define RIG_FUNC_ABM CONSTANT_64BIT_FLAG (21) /*!< \c ABM -- Auto Band Mode */
|
||||||
|
#define RIG_FUNC_BC CONSTANT_64BIT_FLAG (22) /*!< \c BC -- Beat Canceller */
|
||||||
|
#define RIG_FUNC_MBC CONSTANT_64BIT_FLAG (23) /*!< \c MBC -- Manual Beat Canceller */
|
||||||
|
#define RIG_FUNC_RIT CONSTANT_64BIT_FLAG (24) /*!< \c RIT -- Receiver Incremental Tuning */
|
||||||
|
#define RIG_FUNC_AFC CONSTANT_64BIT_FLAG (25) /*!< \c AFC -- Auto Frequency Control ON/OFF */
|
||||||
|
#define RIG_FUNC_SATMODE CONSTANT_64BIT_FLAG (26) /*!< \c SATMODE -- Satellite mode ON/OFF */
|
||||||
|
#define RIG_FUNC_SCOPE CONSTANT_64BIT_FLAG (27) /*!< \c SCOPE -- Simple bandscope ON/OFF */
|
||||||
|
#define RIG_FUNC_RESUME CONSTANT_64BIT_FLAG (28) /*!< \c RESUME -- Scan auto-resume */
|
||||||
|
#define RIG_FUNC_TBURST CONSTANT_64BIT_FLAG (29) /*!< \c TBURST -- 1750 Hz tone burst */
|
||||||
|
#define RIG_FUNC_TUNER CONSTANT_64BIT_FLAG (30) /*!< \c TUNER -- Enable automatic tuner */
|
||||||
|
#define RIG_FUNC_XIT CONSTANT_64BIT_FLAG (31) /*!< \c XIT -- Transmitter Incremental Tuning */
|
||||||
|
#define RIG_FUNC_NB2 CONSTANT_64BIT_FLAG (32) /*!< \c NB2 -- 2nd Noise Blanker */
|
||||||
|
#define RIG_FUNC_CSQL CONSTANT_64BIT_FLAG (33) /*!< \c CSQL -- DCS Squelch setting */
|
||||||
|
#define RIG_FUNC_AFLT CONSTANT_64BIT_FLAG (34) /*!< \c AFLT -- AF Filter setting */
|
||||||
|
#define RIG_FUNC_ANL CONSTANT_64BIT_FLAG (35) /*!< \c ANL -- Noise limiter setting */
|
||||||
|
#define RIG_FUNC_BC2 CONSTANT_64BIT_FLAG (36) /*!< \c BC2 -- 2nd Beat Cancel */
|
||||||
|
#define RIG_FUNC_DUAL_WATCH CONSTANT_64BIT_FLAG (37) /*!< \c DUAL_WATCH -- Dual Watch / Sub Receiver */
|
||||||
|
#define RIG_FUNC_DIVERSITY CONSTANT_64BIT_FLAG (38) /*!< \c DIVERSITY -- Diversity receive */
|
||||||
|
#define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39) /*!< \c DSQL -- Digital modes squelch */
|
||||||
|
#define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40) /*!< \c SCEN -- scrambler/encryption */
|
||||||
|
#define RIG_FUNC_SLICE CONSTANT_64BIT_FLAG (41) /*!< \c Rig slice selection -- Flex */
|
||||||
|
#define RIG_FUNC_TRANSCEIVE CONSTANT_64BIT_FLAG (42) /*!< \c TRANSCEIVE -- Send radio state changes automatically ON/OFF */
|
||||||
|
#define RIG_FUNC_SPECTRUM CONSTANT_64BIT_FLAG (43) /*!< \c SPECTRUM -- Spectrum scope data output ON/OFF */
|
||||||
|
#define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44) /*!< \c SPECTRUM_HOLD -- Pause spectrum scope updates ON/OFF */
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
quint64 mode;
|
||||||
|
const char* str;
|
||||||
|
} mode_str[] =
|
||||||
|
{
|
||||||
|
{ RIG_MODE_AM, "AM" },
|
||||||
|
{ RIG_MODE_CW, "CW" },
|
||||||
|
{ RIG_MODE_USB, "USB" },
|
||||||
|
{ RIG_MODE_LSB, "LSB" },
|
||||||
|
{ RIG_MODE_RTTY, "RTTY" },
|
||||||
|
{ RIG_MODE_FM, "FM" },
|
||||||
|
{ RIG_MODE_WFM, "WFM" },
|
||||||
|
{ RIG_MODE_CWR, "CWR" },
|
||||||
|
{ RIG_MODE_RTTYR, "RTTYR" },
|
||||||
|
{ RIG_MODE_AMS, "AMS" },
|
||||||
|
{ RIG_MODE_PKTLSB, "PKTLSB" },
|
||||||
|
{ RIG_MODE_PKTUSB, "PKTUSB" },
|
||||||
|
{ RIG_MODE_PKTFM, "PKTFM" },
|
||||||
|
{ RIG_MODE_PKTFMN, "PKTFMN" },
|
||||||
|
{ RIG_MODE_ECSSUSB, "ECSSUSB" },
|
||||||
|
{ RIG_MODE_ECSSLSB, "ECSSLSB" },
|
||||||
|
{ RIG_MODE_FAX, "FAX" },
|
||||||
|
{ RIG_MODE_SAM, "SAM" },
|
||||||
|
{ RIG_MODE_SAL, "SAL" },
|
||||||
|
{ RIG_MODE_SAH, "SAH" },
|
||||||
|
{ RIG_MODE_DSB, "DSB"},
|
||||||
|
{ RIG_MODE_FMN, "FMN" },
|
||||||
|
{ RIG_MODE_PKTAM, "PKTAM"},
|
||||||
|
{ RIG_MODE_P25, "P25"},
|
||||||
|
{ RIG_MODE_DSTAR, "D-STAR"},
|
||||||
|
{ RIG_MODE_DPMR, "DPMR"},
|
||||||
|
{ RIG_MODE_NXDNVN, "NXDN-VN"},
|
||||||
|
{ RIG_MODE_NXDN_N, "NXDN-N"},
|
||||||
|
{ RIG_MODE_DCR, "DCR"},
|
||||||
|
{ RIG_MODE_AMN, "AMN"},
|
||||||
|
{ RIG_MODE_PSK, "PSK"},
|
||||||
|
{ RIG_MODE_PSKR, "PSKR"},
|
||||||
|
{ RIG_MODE_C4FM, "C4FM"},
|
||||||
|
{ RIG_MODE_SPEC, "SPEC"},
|
||||||
|
{ RIG_MODE_NONE, "" },
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
quint64 func;
|
||||||
|
const char* str;
|
||||||
|
} rig_func_str[] =
|
||||||
|
{
|
||||||
|
{ RIG_FUNC_FAGC, "FAGC" },
|
||||||
|
{ RIG_FUNC_NB, "NB" },
|
||||||
|
{ RIG_FUNC_COMP, "COMP" },
|
||||||
|
{ RIG_FUNC_VOX, "VOX" },
|
||||||
|
{ RIG_FUNC_TONE, "TONE" },
|
||||||
|
{ RIG_FUNC_TSQL, "TSQL" },
|
||||||
|
{ RIG_FUNC_SBKIN, "SBKIN" },
|
||||||
|
{ RIG_FUNC_FBKIN, "FBKIN" },
|
||||||
|
{ RIG_FUNC_ANF, "ANF" },
|
||||||
|
{ RIG_FUNC_NR, "NR" },
|
||||||
|
{ RIG_FUNC_AIP, "AIP" },
|
||||||
|
{ RIG_FUNC_APF, "APF" },
|
||||||
|
{ RIG_FUNC_MON, "MON" },
|
||||||
|
{ RIG_FUNC_MN, "MN" },
|
||||||
|
{ RIG_FUNC_RF, "RF" },
|
||||||
|
{ RIG_FUNC_ARO, "ARO" },
|
||||||
|
{ RIG_FUNC_LOCK, "LOCK" },
|
||||||
|
{ RIG_FUNC_MUTE, "MUTE" },
|
||||||
|
{ RIG_FUNC_VSC, "VSC" },
|
||||||
|
{ RIG_FUNC_REV, "REV" },
|
||||||
|
{ RIG_FUNC_SQL, "SQL" },
|
||||||
|
{ RIG_FUNC_ABM, "ABM" },
|
||||||
|
{ RIG_FUNC_BC, "BC" },
|
||||||
|
{ RIG_FUNC_MBC, "MBC" },
|
||||||
|
{ RIG_FUNC_RIT, "RIT" },
|
||||||
|
{ RIG_FUNC_AFC, "AFC" },
|
||||||
|
{ RIG_FUNC_SATMODE, "SATMODE" },
|
||||||
|
{ RIG_FUNC_SCOPE, "SCOPE" },
|
||||||
|
{ RIG_FUNC_RESUME, "RESUME" },
|
||||||
|
{ RIG_FUNC_TBURST, "TBURST" },
|
||||||
|
{ RIG_FUNC_TUNER, "TUNER" },
|
||||||
|
{ RIG_FUNC_XIT, "XIT" },
|
||||||
|
{ RIG_FUNC_NB2, "NB2" },
|
||||||
|
{ RIG_FUNC_DSQL, "DSQL" },
|
||||||
|
{ RIG_FUNC_AFLT, "AFLT" },
|
||||||
|
{ RIG_FUNC_ANL, "ANL" },
|
||||||
|
{ RIG_FUNC_BC2, "BC2" },
|
||||||
|
{ RIG_FUNC_DUAL_WATCH, "DUAL_WATCH"},
|
||||||
|
{ RIG_FUNC_DIVERSITY, "DIVERSITY"},
|
||||||
|
{ RIG_FUNC_CSQL, "CSQL" },
|
||||||
|
{ RIG_FUNC_SCEN, "SCEN" },
|
||||||
|
{ RIG_FUNC_TRANSCEIVE, "TRANSCEIVE" },
|
||||||
|
{ RIG_FUNC_SPECTRUM, "SPECTRUM" },
|
||||||
|
{ RIG_FUNC_SPECTRUM_HOLD, "SPECTRUM_HOLD" },
|
||||||
|
{ RIG_FUNC_NONE, "" },
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
quint64 level;
|
||||||
|
const char* str;
|
||||||
|
} rig_level_str[] =
|
||||||
|
{
|
||||||
|
{ RIG_LEVEL_PREAMP, "PREAMP" },
|
||||||
|
{ RIG_LEVEL_ATT, "ATT" },
|
||||||
|
{ RIG_LEVEL_VOXDELAY, "VOXDELAY" },
|
||||||
|
{ RIG_LEVEL_AF, "AF" },
|
||||||
|
{ RIG_LEVEL_RF, "RF" },
|
||||||
|
{ RIG_LEVEL_SQL, "SQL" },
|
||||||
|
{ RIG_LEVEL_IF, "IF" },
|
||||||
|
{ RIG_LEVEL_APF, "APF" },
|
||||||
|
{ RIG_LEVEL_NR, "NR" },
|
||||||
|
{ RIG_LEVEL_PBT_IN, "PBT_IN" },
|
||||||
|
{ RIG_LEVEL_PBT_OUT, "PBT_OUT" },
|
||||||
|
{ RIG_LEVEL_CWPITCH, "CWPITCH" },
|
||||||
|
{ RIG_LEVEL_RFPOWER, "RFPOWER" },
|
||||||
|
{ RIG_LEVEL_MICGAIN, "MICGAIN" },
|
||||||
|
{ RIG_LEVEL_KEYSPD, "KEYSPD" },
|
||||||
|
{ RIG_LEVEL_NOTCHF, "NOTCHF" },
|
||||||
|
{ RIG_LEVEL_COMP, "COMP" },
|
||||||
|
{ RIG_LEVEL_AGC, "AGC" },
|
||||||
|
{ RIG_LEVEL_BKINDL, "BKINDL" },
|
||||||
|
{ RIG_LEVEL_BALANCE, "BAL" },
|
||||||
|
{ RIG_LEVEL_METER, "METER" },
|
||||||
|
{ RIG_LEVEL_VOXGAIN, "VOXGAIN" },
|
||||||
|
{ RIG_LEVEL_ANTIVOX, "ANTIVOX" },
|
||||||
|
{ RIG_LEVEL_SLOPE_LOW, "SLOPE_LOW" },
|
||||||
|
{ RIG_LEVEL_SLOPE_HIGH, "SLOPE_HIGH" },
|
||||||
|
{ RIG_LEVEL_BKIN_DLYMS, "BKIN_DLYMS" },
|
||||||
|
{ RIG_LEVEL_RAWSTR, "RAWSTR" },
|
||||||
|
{ RIG_LEVEL_SWR, "SWR" },
|
||||||
|
{ RIG_LEVEL_ALC, "ALC" },
|
||||||
|
{ RIG_LEVEL_STRENGTH, "STRENGTH" },
|
||||||
|
{ RIG_LEVEL_RFPOWER_METER, "RFPOWER_METER" },
|
||||||
|
{ RIG_LEVEL_COMP_METER, "COMP_METER" },
|
||||||
|
{ RIG_LEVEL_VD_METER, "VD_METER" },
|
||||||
|
{ RIG_LEVEL_ID_METER, "ID_METER" },
|
||||||
|
{ RIG_LEVEL_NOTCHF_RAW, "NOTCHF_RAW" },
|
||||||
|
{ RIG_LEVEL_MONITOR_GAIN, "MONITOR_GAIN" },
|
||||||
|
{ RIG_LEVEL_NB, "NB" },
|
||||||
|
{ RIG_LEVEL_RFPOWER_METER_WATTS, "RFPOWER_METER_WATTS" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_MODE, "SPECTRUM_MODE" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_SPAN, "SPECTRUM_SPAN" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_EDGE_LOW, "SPECTRUM_EDGE_LOW" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_EDGE_HIGH, "SPECTRUM_EDGE_HIGH" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_SPEED, "SPECTRUM_SPEED" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_REF, "SPECTRUM_REF" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_AVG, "SPECTRUM_AVG" },
|
||||||
|
{ RIG_LEVEL_SPECTRUM_ATT, "SPECTRUM_ATT" },
|
||||||
|
{ RIG_LEVEL_TEMP_METER, "TEMP_METER" },
|
||||||
|
{ RIG_LEVEL_NONE, "" },
|
||||||
|
};
|
||||||
|
|
||||||
|
struct cal_table {
|
||||||
|
int size; /*!< number of plots in the table */
|
||||||
|
struct {
|
||||||
|
int raw; /*!< raw (A/D) value, as returned by \a RIG_LEVEL_RAWSTR */
|
||||||
|
int val; /*!< associated value, basically the measured dB value */
|
||||||
|
} table[32]; /*!< table of plots */
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct cal_table cal_table_t;
|
||||||
|
|
||||||
|
#define IC7610_STR_CAL { 16, \
|
||||||
|
{ \
|
||||||
|
{ 0, -54 }, /* S0 */ \
|
||||||
|
{ 11, -48 }, \
|
||||||
|
{ 21, -42 }, \
|
||||||
|
{ 34, -36 }, \
|
||||||
|
{ 50, -30 }, \
|
||||||
|
{ 59, -24 }, \
|
||||||
|
{ 75, -18 }, \
|
||||||
|
{ 93, -12 }, \
|
||||||
|
{ 103, -6 }, \
|
||||||
|
{ 124, 0 }, /* S9 */ \
|
||||||
|
{ 145, 10 }, \
|
||||||
|
{ 160, 20 }, \
|
||||||
|
{ 183, 30 }, \
|
||||||
|
{ 204, 40 }, \
|
||||||
|
{ 222, 50 }, \
|
||||||
|
{ 246, 60 } /* S9+60dB */ \
|
||||||
|
} }
|
||||||
|
|
||||||
|
#define IC7850_STR_CAL { 3, \
|
||||||
|
{ \
|
||||||
|
{ 0, -54 }, /* S0 */ \
|
||||||
|
{ 120, 0 }, /* S9 */ \
|
||||||
|
{ 241, 60 } /* S9+60 */ \
|
||||||
|
} }
|
||||||
|
|
||||||
|
#define IC7300_STR_CAL { 7, \
|
||||||
|
{ \
|
||||||
|
{ 0, -54 }, \
|
||||||
|
{ 10, -48 }, \
|
||||||
|
{ 30, -36 }, \
|
||||||
|
{ 60, -24 }, \
|
||||||
|
{ 90, -12 }, \
|
||||||
|
{ 120, 0 }, \
|
||||||
|
{ 241, 64 } \
|
||||||
|
} }
|
||||||
|
|
||||||
class rigCtlD : public QTcpServer
|
class rigCtlD : public QTcpServer
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -33,6 +378,31 @@ signals:
|
||||||
void setFrequency(freqt freq);
|
void setFrequency(freqt freq);
|
||||||
void setPTT(bool state);
|
void setPTT(bool state);
|
||||||
void setMode(unsigned char mode, unsigned char modeFilter);
|
void setMode(unsigned char mode, unsigned char modeFilter);
|
||||||
|
void setDataMode(bool dataOn, unsigned char modeFilter);
|
||||||
|
void setVFO(unsigned char vfo);
|
||||||
|
void setSplit(unsigned char split);
|
||||||
|
void setDuplexMode(duplexMode dm);
|
||||||
|
|
||||||
|
// Power
|
||||||
|
void sendPowerOn();
|
||||||
|
void sendPowerOff();
|
||||||
|
|
||||||
|
// Att/preamp
|
||||||
|
void setAttenuator(unsigned char att);
|
||||||
|
void setPreamp(unsigned char pre);
|
||||||
|
|
||||||
|
//Level set
|
||||||
|
void setRfGain(unsigned char level);
|
||||||
|
void setAfGain(unsigned char level);
|
||||||
|
void setSql(unsigned char level);
|
||||||
|
void setMicGain(unsigned char);
|
||||||
|
void setCompLevel(unsigned char);
|
||||||
|
void setTxPower(unsigned char);
|
||||||
|
void setMonitorLevel(unsigned char);
|
||||||
|
void setVoxGain(unsigned char);
|
||||||
|
void setAntiVoxGain(unsigned char);
|
||||||
|
void setSpectrumRefLevel(int);
|
||||||
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
virtual void incomingConnection(qintptr socketDescriptor);
|
virtual void incomingConnection(qintptr socketDescriptor);
|
||||||
|
@ -67,14 +437,17 @@ protected:
|
||||||
QString commandBuffer;
|
QString commandBuffer;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void dumpCaps(QString sep);
|
|
||||||
rigCapabilities rigCaps;
|
rigCapabilities rigCaps;
|
||||||
rigStateStruct* rigState = Q_NULLPTR;
|
rigStateStruct* rigState = Q_NULLPTR;
|
||||||
rigCtlD* parent;
|
rigCtlD* parent;
|
||||||
QString getMode(unsigned char mode, bool datamode);
|
QString getMode(unsigned char mode, bool datamode);
|
||||||
unsigned char getMode(QString modeString);
|
unsigned char getMode(QString modeString);
|
||||||
QString getFilter(unsigned char mode, unsigned char filter);
|
QString getFilter(unsigned char mode, unsigned char filter);
|
||||||
|
QString generateFreqRange(bandType band);
|
||||||
|
unsigned char getAntennas();
|
||||||
|
quint64 getRadioModes();
|
||||||
|
QString getAntName(unsigned char ant);
|
||||||
|
int getCalibratedValue(unsigned char meter,cal_table_t cal);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -90,10 +90,9 @@ model_kind determineRadioModel(unsigned char rigID);
|
||||||
|
|
||||||
struct rigCapabilities {
|
struct rigCapabilities {
|
||||||
model_kind model;
|
model_kind model;
|
||||||
|
|
||||||
quint8 civ;
|
quint8 civ;
|
||||||
quint8 modelID;
|
quint8 modelID;
|
||||||
|
int rigctlModel;
|
||||||
QString modelName;
|
QString modelName;
|
||||||
|
|
||||||
bool hasLan; // OEM ethernet or wifi connection
|
bool hasLan; // OEM ethernet or wifi connection
|
||||||
|
|
100
wfmain.cpp
100
wfmain.cpp
|
@ -175,13 +175,6 @@ void wfmain::openRig()
|
||||||
qDebug(logSystem()) << "Remote host name specified by user: " << hostCL;
|
qDebug(logSystem()) << "Remote host name specified by user: " << hostCL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start rigctld
|
|
||||||
if (prefs.enableRigCtlD && rigCtl == Q_NULLPTR) {
|
|
||||||
rigCtl = new rigCtlD(this);
|
|
||||||
|
|
||||||
rigCtl->startServer(prefs.rigCtlPort);
|
|
||||||
connect(this, SIGNAL(sendRigCaps(rigCapabilities)), rigCtl, SLOT(receiveRigCaps(rigCapabilities)));
|
|
||||||
}
|
|
||||||
|
|
||||||
makeRig();
|
makeRig();
|
||||||
|
|
||||||
|
@ -303,6 +296,7 @@ void wfmain::rigConnections()
|
||||||
connect(this, SIGNAL(getSpectrumRefLevel()), rig, SLOT(getSpectrumRefLevel()));
|
connect(this, SIGNAL(getSpectrumRefLevel()), rig, SLOT(getSpectrumRefLevel()));
|
||||||
connect(this, SIGNAL(getModInputLevel(rigInput)), rig, SLOT(getModInputLevel(rigInput)));
|
connect(this, SIGNAL(getModInputLevel(rigInput)), rig, SLOT(getModInputLevel(rigInput)));
|
||||||
|
|
||||||
|
|
||||||
// Levels: Set:
|
// Levels: Set:
|
||||||
connect(this, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
|
connect(this, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
|
||||||
connect(this, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
|
connect(this, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
|
||||||
|
@ -313,7 +307,7 @@ void wfmain::rigConnections()
|
||||||
connect(this, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
|
connect(this, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
|
||||||
connect(this, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
|
connect(this, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
|
||||||
connect(this, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
|
connect(this, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
|
||||||
connect(this, SIGNAL(setModLevel(rigInput,unsigned char)), rig, SLOT(setModInputLevel(rigInput,unsigned char)));
|
connect(this, SIGNAL(setModLevel(rigInput, unsigned char)), rig, SLOT(setModInputLevel(rigInput, unsigned char)));
|
||||||
|
|
||||||
// Levels: handle return on query:
|
// Levels: handle return on query:
|
||||||
connect(rig, SIGNAL(haveRfGain(unsigned char)), this, SLOT(receiveRfGain(unsigned char)));
|
connect(rig, SIGNAL(haveRfGain(unsigned char)), this, SLOT(receiveRfGain(unsigned char)));
|
||||||
|
@ -405,9 +399,29 @@ void wfmain::makeRig()
|
||||||
|
|
||||||
if (rigCtl != Q_NULLPTR) {
|
if (rigCtl != Q_NULLPTR) {
|
||||||
connect(rig, SIGNAL(stateInfo(rigStateStruct*)), rigCtl, SLOT(receiveStateInfo(rigStateStruct*)));
|
connect(rig, SIGNAL(stateInfo(rigStateStruct*)), rigCtl, SLOT(receiveStateInfo(rigStateStruct*)));
|
||||||
|
connect(this, SIGNAL(requestRigState()), rig, SLOT(sendState()));
|
||||||
connect(rigCtl, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt)));
|
connect(rigCtl, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt)));
|
||||||
connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char)));
|
connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char)));
|
||||||
connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
|
connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
|
||||||
|
connect(rigCtl, SIGNAL(sendPowerOn()), rig, SLOT(powerOn()));
|
||||||
|
connect(rigCtl, SIGNAL(sendPowerOff()), rig, SLOT(powerOff()));
|
||||||
|
|
||||||
|
connect(rigCtl, SIGNAL(setAttenuator(unsigned char)), rig, SLOT(setAttenuator(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setPreamp(unsigned char)), rig, SLOT(setPreamp(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode)));
|
||||||
|
|
||||||
|
// Levels: Set:
|
||||||
|
connect(rigCtl, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -425,7 +439,7 @@ void wfmain::removeRig()
|
||||||
|
|
||||||
delete rigThread;
|
delete rigThread;
|
||||||
delete rig;
|
delete rig;
|
||||||
|
rig = Q_NULLPTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1367,7 +1381,11 @@ void wfmain::loadSettings()
|
||||||
ui->connectBtn->setEnabled(true);
|
ui->connectBtn->setEnabled(true);
|
||||||
|
|
||||||
prefs.enableRigCtlD = settings->value("EnableRigCtlD", defPrefs.enableRigCtlD).toBool();
|
prefs.enableRigCtlD = settings->value("EnableRigCtlD", defPrefs.enableRigCtlD).toBool();
|
||||||
|
ui->enableRigctldChk->setChecked(prefs.enableRigCtlD);
|
||||||
prefs.rigCtlPort = settings->value("RigCtlPort", defPrefs.rigCtlPort).toInt();
|
prefs.rigCtlPort = settings->value("RigCtlPort", defPrefs.rigCtlPort).toInt();
|
||||||
|
ui->rigctldPortTxt->setText(QString("%1").arg(prefs.rigCtlPort));
|
||||||
|
// Call the function to start rigctld if enabled.
|
||||||
|
on_enableRigctldChk_clicked(prefs.enableRigCtlD);
|
||||||
|
|
||||||
udpPrefs.ipAddress = settings->value("IPAddress", udpDefPrefs.ipAddress).toString();
|
udpPrefs.ipAddress = settings->value("IPAddress", udpDefPrefs.ipAddress).toString();
|
||||||
ui->ipAddressTxt->setEnabled(ui->lanEnableBtn->isChecked());
|
ui->ipAddressTxt->setEnabled(ui->lanEnableBtn->isChecked());
|
||||||
|
@ -2227,12 +2245,12 @@ void wfmain::setAppTheme(bool isCustom)
|
||||||
#ifndef Q_OS_LINUX
|
#ifndef Q_OS_LINUX
|
||||||
QFile f(":"+prefs.stylesheetPath); // built-in resource
|
QFile f(":"+prefs.stylesheetPath); // built-in resource
|
||||||
#else
|
#else
|
||||||
QFile f("/usr/share/wfview/stylesheets/" + prefs.stylesheetPath);
|
QFile f(PREFIX "/share/wfview/" + prefs.stylesheetPath);
|
||||||
#endif
|
#endif
|
||||||
if (!f.exists())
|
if (!f.exists())
|
||||||
{
|
{
|
||||||
printf("Unable to set stylesheet, file not found\n");
|
printf("Unable to set stylesheet, file not found\n");
|
||||||
printf("Tried to load: [%s]\n", QString( QString("/usr/share/wfview/stylesheets/") + prefs.stylesheetPath).toStdString().c_str() );
|
printf("Tried to load: [%s]\n", f.fileName().toStdString().c_str() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3928,9 +3946,6 @@ void wfmain::on_bandGenbtn_clicked()
|
||||||
void wfmain::on_aboutBtn_clicked()
|
void wfmain::on_aboutBtn_clicked()
|
||||||
{
|
{
|
||||||
abtBox->show();
|
abtBox->show();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wfmain::on_fStoBtn_clicked()
|
void wfmain::on_fStoBtn_clicked()
|
||||||
|
@ -5250,6 +5265,63 @@ void wfmain::on_meter2selectionCombo_activated(int index)
|
||||||
(void)index;
|
(void)index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wfmain::on_enableRigctldChk_clicked(bool checked)
|
||||||
|
{
|
||||||
|
if (rigCtl != Q_NULLPTR)
|
||||||
|
{
|
||||||
|
rigCtl->disconnect();
|
||||||
|
delete rigCtl;
|
||||||
|
rigCtl = Q_NULLPTR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (checked) {
|
||||||
|
// Start rigctld
|
||||||
|
rigCtl = new rigCtlD(this);
|
||||||
|
rigCtl->startServer(prefs.rigCtlPort);
|
||||||
|
connect(this, SIGNAL(sendRigCaps(rigCapabilities)), rigCtl, SLOT(receiveRigCaps(rigCapabilities)));
|
||||||
|
if (rig != Q_NULLPTR) {
|
||||||
|
// We are already connected to a rig.
|
||||||
|
connect(rig, SIGNAL(stateInfo(rigStateStruct*)), rigCtl, SLOT(receiveStateInfo(rigStateStruct*)));
|
||||||
|
connect(rigCtl, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt)));
|
||||||
|
connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
|
||||||
|
connect(rigCtl, SIGNAL(sendPowerOn()), rig, SLOT(powerOn()));
|
||||||
|
connect(rigCtl, SIGNAL(sendPowerOff()), rig, SLOT(powerOff()));
|
||||||
|
|
||||||
|
connect(rigCtl, SIGNAL(setAttenuator(unsigned char)), rig, SLOT(setAttenuator(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setPreamp(unsigned char)), rig, SLOT(setPreamp(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode)));
|
||||||
|
|
||||||
|
// Levels: Set:
|
||||||
|
connect(rigCtl, SIGNAL(setRfGain(unsigned char)), rig, SLOT(setRfGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setAfGain(unsigned char)), rig, SLOT(setAfGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setVoxGain(unsigned char)), rig, SLOT(setVoxGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setAntiVoxGain(unsigned char)), rig, SLOT(setAntiVoxGain(unsigned char)));
|
||||||
|
connect(rigCtl, SIGNAL(setSpectrumRefLevel(int)), rig, SLOT(setSpectrumRefLevel(int)));
|
||||||
|
|
||||||
|
emit sendRigCaps(rigCaps);
|
||||||
|
emit requestRigState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prefs.enableRigCtlD = checked;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wfmain::on_rigctldPortTxt_editingFinished()
|
||||||
|
{
|
||||||
|
|
||||||
|
bool okconvert = false;
|
||||||
|
unsigned int port = ui->rigctldPortTxt->text().toUInt(&okconvert);
|
||||||
|
if (okconvert)
|
||||||
|
{
|
||||||
|
prefs.rigCtlPort = port;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --- DEBUG FUNCTION ---
|
// --- DEBUG FUNCTION ---
|
||||||
void wfmain::on_debugBtn_clicked()
|
void wfmain::on_debugBtn_clicked()
|
||||||
{
|
{
|
||||||
|
|
5
wfmain.h
5
wfmain.h
|
@ -153,6 +153,7 @@ signals:
|
||||||
void initServer();
|
void initServer();
|
||||||
void sendServerConfig(SERVERCONFIG conf);
|
void sendServerConfig(SERVERCONFIG conf);
|
||||||
void sendRigCaps(rigCapabilities caps);
|
void sendRigCaps(rigCapabilities caps);
|
||||||
|
void requestRigState();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateSizes(int tabIndex);
|
void updateSizes(int tabIndex);
|
||||||
|
@ -472,6 +473,10 @@ private slots:
|
||||||
|
|
||||||
void on_meter2selectionCombo_activated(int index);
|
void on_meter2selectionCombo_activated(int index);
|
||||||
|
|
||||||
|
void on_enableRigctldChk_clicked(bool checked);
|
||||||
|
|
||||||
|
void on_rigctldPortTxt_editingFinished();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::wfmain *ui;
|
Ui::wfmain *ui;
|
||||||
void closeEvent(QCloseEvent *event);
|
void closeEvent(QCloseEvent *event);
|
||||||
|
|
35
wfmain.ui
35
wfmain.ui
|
@ -2232,7 +2232,7 @@
|
||||||
<widget class="QComboBox" name="meter2selectionCombo"/>
|
<widget class="QComboBox" name="meter2selectionCombo"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_5">
|
<spacer name="horizontalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -2410,6 +2410,39 @@
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="enableRigctldChk">
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::RightToLeft</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable RigCtld</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>Port</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="rigctldPortTxt"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="vspLabel">
|
<widget class="QLabel" name="vspLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|
25
wfview.pro
25
wfview.pro
|
@ -38,6 +38,12 @@ equals(QT_ARCH, arm): DEFINES += USE_NEON
|
||||||
DEFINES += OUTSIDE_SPEEX
|
DEFINES += OUTSIDE_SPEEX
|
||||||
DEFINES += RANDOM_PREFIX=wf
|
DEFINES += RANDOM_PREFIX=wf
|
||||||
|
|
||||||
|
isEmpty(PREFIX) {
|
||||||
|
PREFIX = /usr/local
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINES += PREFIX=\\\"$$PREFIX\\\"
|
||||||
|
|
||||||
# Choose audio system, uses QTMultimedia if both are commented out.
|
# Choose audio system, uses QTMultimedia if both are commented out.
|
||||||
# DEFINES += RTAUDIO
|
# DEFINES += RTAUDIO
|
||||||
# DEFINES += PORTAUDIO
|
# DEFINES += PORTAUDIO
|
||||||
|
@ -74,18 +80,25 @@ win32:DEFINES += UNAME=\\\"build\\\"
|
||||||
RESOURCES += qdarkstyle/style.qrc \
|
RESOURCES += qdarkstyle/style.qrc \
|
||||||
resources/resources.qrc
|
resources/resources.qrc
|
||||||
|
|
||||||
|
unix:target.path = $$PREFIX/bin
|
||||||
|
INSTALLS += target
|
||||||
|
|
||||||
# Why doesn't this seem to do anything?
|
# Why doesn't this seem to do anything?
|
||||||
DISTFILES += resources/wfview.png \
|
DISTFILES += resources/wfview.png \
|
||||||
resources/install.sh
|
resources/install.sh
|
||||||
DISTFILES += resources/wfview.desktop
|
DISTFILES += resources/wfview.desktop
|
||||||
|
|
||||||
linux:QMAKE_POST_LINK += cp ../wfview/resources/wfview.png .;
|
unix:applications.files = resources/wfview.desktop
|
||||||
linux:QMAKE_POST_LINK += cp ../wfview/resources/wfview.desktop .;
|
unix:applications.path = $$PREFIX/share/applications
|
||||||
linux:QMAKE_POST_LINK += cp ../wfview/resources/install.sh .;
|
INSTALLS += applications
|
||||||
linux:QMAKE_POST_LINK += cp -r ../wfview/qdarkstyle .;
|
|
||||||
linux:QMAKE_POST_LINK += chmod 755 install.sh;
|
|
||||||
linux:QMAKE_POST_LINK += echo; echo; echo "Run install.sh as root from the build directory to install."; echo; echo;
|
|
||||||
|
|
||||||
|
unix:pixmaps.files = resources/wfview.png
|
||||||
|
unix:pixmaps.path = $$PREFIX/share/pixmaps
|
||||||
|
INSTALLS += pixmaps
|
||||||
|
|
||||||
|
unix:stylesheets.files = qdarkstyle
|
||||||
|
unix:stylesheets.path = $$PREFIX/share/wfview
|
||||||
|
INSTALLS += stylesheets
|
||||||
|
|
||||||
# Do not do this, it will hang on start:
|
# Do not do this, it will hang on start:
|
||||||
# CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
# CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
||||||
|
|
|
@ -57,6 +57,9 @@
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="aboutbox.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="audiohandler.cpp">
|
<ClCompile Include="audiohandler.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -108,6 +111,9 @@
|
||||||
<ClCompile Include="satellitesetup.cpp">
|
<ClCompile Include="satellitesetup.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="transceiveradjustments.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="udphandler.cpp">
|
<ClCompile Include="udphandler.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -122,12 +128,18 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<QtMoc Include="aboutbox.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
<ClInclude Include="resampler\arch.h">
|
<ClInclude Include="resampler\arch.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<QtMoc Include="audiohandler.h">
|
<QtMoc Include="audiohandler.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
<ClInclude Include="audiotaper.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
<QtMoc Include="calibrationwindow.h">
|
<QtMoc Include="calibrationwindow.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
@ -182,6 +194,9 @@
|
||||||
<ClInclude Include="resampler\speex_resampler.h">
|
<ClInclude Include="resampler\speex_resampler.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<QtMoc Include="transceiveradjustments.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
<QtMoc Include="udphandler.h">
|
<QtMoc Include="udphandler.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
@ -207,6 +222,8 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
||||||
<Filter>Generated Files</Filter>
|
<Filter>Generated Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
@ -239,6 +256,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,6 +267,9 @@
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<QtUic Include="aboutbox.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
<QtUic Include="calibrationwindow.ui">
|
<QtUic Include="calibrationwindow.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
@ -255,6 +279,9 @@
|
||||||
<QtUic Include="satellitesetup.ui">
|
<QtUic Include="satellitesetup.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="transceiveradjustments.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
<QtUic Include="udpserversetup.ui">
|
<QtUic Include="udpserversetup.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
|
Ładowanie…
Reference in New Issue