kopia lustrzana https://gitlab.com/eliggett/wfview
Merge remote-tracking branch 'origin/rigs' into audio-enhance
commit
0f48959a75
BIN
.swo
BIN
.swo
Plik binarny nie jest wyświetlany.
17
CHANGELOG
17
CHANGELOG
|
@ -1,5 +1,22 @@
|
||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
- 20211022
|
||||||
|
|
||||||
|
Don't block until audio buffer has space
|
||||||
|
|
||||||
|
Bit of tidying
|
||||||
|
|
||||||
|
- 20211020
|
||||||
|
|
||||||
|
Tidy-up server shutdown
|
||||||
|
|
||||||
|
Trying to find cause of lockup when client disappears
|
||||||
|
|
||||||
|
- 20211006
|
||||||
|
|
||||||
|
Send TX/Freq changes multiple times with rigctld
|
||||||
|
|
||||||
|
bumped to 1.2d hopefully last testversion before 1.20
|
||||||
- 202109022
|
- 202109022
|
||||||
|
|
||||||
Remove duplicate setPriority()
|
Remove duplicate setPriority()
|
||||||
|
|
7
WHATSNEW
7
WHATSNEW
|
@ -10,3 +10,10 @@ The following highlights are in this 1.x-release:
|
||||||
rigctl basic split support
|
rigctl basic split support
|
||||||
rigctl prevents switching off civ transceive
|
rigctl prevents switching off civ transceive
|
||||||
added 25 kHz step
|
added 25 kHz step
|
||||||
|
|
||||||
|
as a temporary measure sending multiple TX/FREQ change commands to the rig
|
||||||
|
when we use rigctld.
|
||||||
|
|
||||||
|
people should use "fake it" in wsjtx as the split code is not reliable.
|
||||||
|
|
||||||
|
tidied up udp server function for better reliability
|
||||||
|
|
|
@ -12,7 +12,7 @@ aboutbox::aboutbox(QWidget *parent) :
|
||||||
ui->logoBtn->setIcon(QIcon(":resources/wfview.png"));
|
ui->logoBtn->setIcon(QIcon(":resources/wfview.png"));
|
||||||
ui->logoBtn->setStyleSheet("Text-align:left");
|
ui->logoBtn->setStyleSheet("Text-align:left");
|
||||||
|
|
||||||
ui->topText->setText("wfview version 1.2c");
|
ui->topText->setText("wfview version 1.2d");
|
||||||
|
|
||||||
QString head = QString("<html><head></head><body>");
|
QString head = QString("<html><head></head><body>");
|
||||||
QString copyright = QString("Copyright 2017-2021 Elliott H. Liggett, W6EL. All rights reserved. wfview source code is <a href=\"https://gitlab.com/eliggett/wfview/-/blob/master/LICENSE\">licensed</a> under the GNU GPLv3.");
|
QString copyright = QString("Copyright 2017-2021 Elliott H. Liggett, W6EL. All rights reserved. wfview source code is <a href=\"https://gitlab.com/eliggett/wfview/-/blob/master/LICENSE\">licensed</a> under the GNU GPLv3.");
|
||||||
|
|
|
@ -45,6 +45,7 @@ commHandler::commHandler(QString portName, quint32 baudRate)
|
||||||
baudrate = baudRate;
|
baudrate = baudRate;
|
||||||
stopbits = 1;
|
stopbits = 1;
|
||||||
this->portName = portName;
|
this->portName = portName;
|
||||||
|
this->PTTviaRTS = false;
|
||||||
|
|
||||||
setupComm(); // basic parameters
|
setupComm(); // basic parameters
|
||||||
openPort();
|
openPort();
|
||||||
|
@ -162,6 +163,25 @@ void commHandler::receiveDataIn()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void commHandler::setRTS(bool rtsOn)
|
||||||
|
{
|
||||||
|
bool success = port->setRequestToSend(rtsOn);
|
||||||
|
if(!success)
|
||||||
|
{
|
||||||
|
qInfo(logSerial()) << "Error, could not set RTS on port " << portName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool commHandler::rtsStatus()
|
||||||
|
{
|
||||||
|
return port->isRequestToSend();
|
||||||
|
}
|
||||||
|
|
||||||
|
void commHandler::setUseRTSforPTT(bool PTTviaRTS)
|
||||||
|
{
|
||||||
|
this->PTTviaRTS = PTTviaRTS;
|
||||||
|
}
|
||||||
|
|
||||||
void commHandler::openPort()
|
void commHandler::openPort()
|
||||||
{
|
{
|
||||||
bool success;
|
bool success;
|
||||||
|
|
|
@ -18,9 +18,14 @@ public:
|
||||||
commHandler();
|
commHandler();
|
||||||
commHandler(QString portName, quint32 baudRate);
|
commHandler(QString portName, quint32 baudRate);
|
||||||
bool serialError;
|
bool serialError;
|
||||||
|
bool rtsStatus();
|
||||||
|
|
||||||
~commHandler();
|
~commHandler();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setUseRTSforPTT(bool useRTS);
|
||||||
|
void setRTS(bool rtsOn);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void receiveDataIn(); // from physical port
|
void receiveDataIn(); // from physical port
|
||||||
void receiveDataFromUserToRig(const QByteArray &data);
|
void receiveDataFromUserToRig(const QByteArray &data);
|
||||||
|
@ -38,6 +43,7 @@ private:
|
||||||
void openPort();
|
void openPort();
|
||||||
void closePort();
|
void closePort();
|
||||||
|
|
||||||
|
|
||||||
void sendDataOut(const QByteArray &writeData); // out to radio
|
void sendDataOut(const QByteArray &writeData); // out to radio
|
||||||
void debugMe();
|
void debugMe();
|
||||||
void hexPrint();
|
void hexPrint();
|
||||||
|
@ -63,6 +69,8 @@ private:
|
||||||
bool havePt;
|
bool havePt;
|
||||||
QString ptDevSlave;
|
QString ptDevSlave;
|
||||||
|
|
||||||
|
bool PTTviaRTS = false;
|
||||||
|
|
||||||
bool isConnected; // port opened
|
bool isConnected; // port opened
|
||||||
mutable QMutex mutex;
|
mutable QMutex mutex;
|
||||||
void printHex(const QByteArray &pdata, bool printVert, bool printHoriz);
|
void printHex(const QByteArray &pdata, bool printVert, bool printHoriz);
|
||||||
|
|
148
rigcommander.cpp
148
rigcommander.cpp
|
@ -63,6 +63,7 @@ void rigCommander::commSetup(unsigned char rigCivAddr, QString rigSerialPort, qu
|
||||||
connect(ptty, SIGNAL(haveDataFromPort(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray)));
|
connect(ptty, SIGNAL(haveDataFromPort(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray)));
|
||||||
// data from the program to the comm port:
|
// data from the program to the comm port:
|
||||||
connect(this, SIGNAL(dataForComm(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray)));
|
connect(this, SIGNAL(dataForComm(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray)));
|
||||||
|
connect(this, SIGNAL(toggleRTS(bool)), comm, SLOT(setRTS(bool)));
|
||||||
|
|
||||||
// data from the rig to the ptty:
|
// data from the rig to the ptty:
|
||||||
connect(comm, SIGNAL(haveDataFromPort(QByteArray)), ptty, SLOT(receiveDataFromRigToPtty(QByteArray)));
|
connect(comm, SIGNAL(haveDataFromPort(QByteArray)), ptty, SLOT(receiveDataFromRigToPtty(QByteArray)));
|
||||||
|
@ -236,6 +237,9 @@ void rigCommander::findRigs()
|
||||||
data.append(payloadSuffix);
|
data.append(payloadSuffix);
|
||||||
|
|
||||||
emit dataForComm(data);
|
emit dataForComm(data);
|
||||||
|
// HACK for testing radios that do not respond to rig ID queries:
|
||||||
|
//this->model = model736;
|
||||||
|
//this->determineRigCaps();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -989,9 +993,14 @@ void rigCommander::getSatelliteMode()
|
||||||
|
|
||||||
void rigCommander::getPTT()
|
void rigCommander::getPTT()
|
||||||
{
|
{
|
||||||
QByteArray payload;
|
if(rigCaps.useRTSforPTT)
|
||||||
payload.setRawData("\x1C\x00", 2);
|
{
|
||||||
prepDataAndSend(payload);
|
emit havePTTStatus(comm->rtsStatus());
|
||||||
|
} else {
|
||||||
|
QByteArray payload;
|
||||||
|
payload.setRawData("\x1C\x00", 2);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void rigCommander::getBandStackReg(char band, char regCode)
|
void rigCommander::getBandStackReg(char band, char regCode)
|
||||||
|
@ -1008,9 +1017,14 @@ void rigCommander::setPTT(bool pttOn)
|
||||||
|
|
||||||
if(pttAllowed)
|
if(pttAllowed)
|
||||||
{
|
{
|
||||||
QByteArray payload("\x1C\x00", 2);
|
if(rigCaps.useRTSforPTT)
|
||||||
payload.append((char)pttOn);
|
{
|
||||||
prepDataAndSend(payload);
|
emit toggleRTS(pttOn);
|
||||||
|
} else {
|
||||||
|
QByteArray payload("\x1C\x00", 2);
|
||||||
|
payload.append((char)pttOn);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
rigState.ptt = pttOn;
|
rigState.ptt = pttOn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1359,6 +1373,17 @@ void rigCommander::parseLevels()
|
||||||
emit haveSql(level);
|
emit haveSql(level);
|
||||||
rigState.squelch = level;
|
rigState.squelch = level;
|
||||||
break;
|
break;
|
||||||
|
case '\x07':
|
||||||
|
// Twin BPF Inner, or, IF-Shift level
|
||||||
|
if(rigCaps.hasTBPF)
|
||||||
|
emit haveTPBFInner(level);
|
||||||
|
else
|
||||||
|
emit haveIFShift(level);
|
||||||
|
break;
|
||||||
|
case '\x08':
|
||||||
|
// Twin BPF Outer
|
||||||
|
emit haveTPBFOuter(level);
|
||||||
|
break;
|
||||||
case '\x09':
|
case '\x09':
|
||||||
// CW Pitch - ignore for now
|
// CW Pitch - ignore for now
|
||||||
break;
|
break;
|
||||||
|
@ -1466,6 +1491,27 @@ void rigCommander::parseLevels()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rigCommander::setIFShift(unsigned char level)
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x07");
|
||||||
|
payload.append(bcdEncodeInt(level));
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::setTPBFInner(unsigned char level)
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x07");
|
||||||
|
payload.append(bcdEncodeInt(level));
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::setTPBFOuter(unsigned char level)
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x08");
|
||||||
|
payload.append(bcdEncodeInt(level));
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
void rigCommander::setTxPower(unsigned char power)
|
void rigCommander::setTxPower(unsigned char power)
|
||||||
{
|
{
|
||||||
QByteArray payload("\x14\x0A");
|
QByteArray payload("\x14\x0A");
|
||||||
|
@ -1889,6 +1935,24 @@ void rigCommander::getAfGain()
|
||||||
prepDataAndSend(payload);
|
prepDataAndSend(payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rigCommander::getIFShift()
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x07");
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::getTPBFInner()
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x07");
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::getTPBFOuter()
|
||||||
|
{
|
||||||
|
QByteArray payload("\x14\x08");
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
void rigCommander::getSql()
|
void rigCommander::getSql()
|
||||||
{
|
{
|
||||||
QByteArray payload("\x14\x03");
|
QByteArray payload("\x14\x03");
|
||||||
|
@ -2824,6 +2888,9 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasCTCSS = false;
|
rigCaps.hasCTCSS = false;
|
||||||
rigCaps.hasDTCS = false;
|
rigCaps.hasDTCS = false;
|
||||||
|
|
||||||
|
rigCaps.hasTBPF = false;
|
||||||
|
rigCaps.hasIFShift = false;
|
||||||
|
|
||||||
rigCaps.spectSeqMax = 0;
|
rigCaps.spectSeqMax = 0;
|
||||||
rigCaps.spectAmpMax = 0;
|
rigCaps.spectAmpMax = 0;
|
||||||
rigCaps.spectLenMax = 0;
|
rigCaps.spectLenMax = 0;
|
||||||
|
@ -2852,6 +2919,7 @@ void rigCommander::determineRigCaps()
|
||||||
|
|
||||||
rigCaps.hasTransmit = true;
|
rigCaps.hasTransmit = true;
|
||||||
rigCaps.hasPTTCommand = true;
|
rigCaps.hasPTTCommand = true;
|
||||||
|
rigCaps.useRTSforPTT = false;
|
||||||
|
|
||||||
// Common, reasonable defaults for most supported HF rigs:
|
// Common, reasonable defaults for most supported HF rigs:
|
||||||
rigCaps.bsr[band160m] = 0x01;
|
rigCaps.bsr[band160m] = 0x01;
|
||||||
|
@ -2894,6 +2962,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x20');
|
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');
|
||||||
|
@ -2922,6 +2991,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
rigCaps.hasDV = true;
|
rigCaps.hasDV = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x10');
|
rigCaps.attenuators.push_back('\x10');
|
||||||
rigCaps.attenuators.push_back('\x20');
|
rigCaps.attenuators.push_back('\x20');
|
||||||
rigCaps.attenuators.push_back('\x30');
|
rigCaps.attenuators.push_back('\x30');
|
||||||
|
@ -2959,6 +3029,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasDV = true;
|
rigCaps.hasDV = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x10');
|
rigCaps.attenuators.push_back('\x10');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.bands = standardVU;
|
rigCaps.bands = standardVU;
|
||||||
|
@ -3007,6 +3078,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = false;
|
rigCaps.hasCTCSS = false;
|
||||||
rigCaps.hasDTCS = false;
|
rigCaps.hasDTCS = false;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(), {0x00, 0x06, 0x12, 0x18});
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(), {0x00, 0x06, 0x12, 0x18});
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
|
@ -3033,6 +3105,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasEthernet = true;
|
rigCaps.hasEthernet = true;
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
||||||
{'\x03', '\x06', '\x09', '\x12',\
|
{'\x03', '\x06', '\x09', '\x12',\
|
||||||
'\x15', '\x18', '\x21', '\x24',\
|
'\x15', '\x18', '\x21', '\x24',\
|
||||||
|
@ -3067,6 +3140,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
||||||
{'\x03', '\x06', '\x09',
|
{'\x03', '\x06', '\x09',
|
||||||
'\x12', '\x15', '\x18', '\x21'});
|
'\x12', '\x15', '\x18', '\x21'});
|
||||||
|
@ -3101,6 +3175,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x10' , '\x20'});
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x10' , '\x20'});
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
|
@ -3133,6 +3208,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x12');
|
rigCaps.attenuators.push_back('\x12');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.bands = standardHF;
|
rigCaps.bands = standardHF;
|
||||||
|
@ -3156,6 +3232,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x20');
|
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');
|
||||||
|
@ -3179,6 +3256,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x12');
|
rigCaps.attenuators.push_back('\x12');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
|
@ -3207,6 +3285,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
rigCaps.hasDTCS = true;
|
rigCaps.hasDTCS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.push_back('\x20');
|
rigCaps.attenuators.push_back('\x20');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.bands = standardHF;
|
rigCaps.bands = standardHF;
|
||||||
|
@ -3226,6 +3305,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasEthernet = true;
|
rigCaps.hasEthernet = true;
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasCTCSS = true;
|
rigCaps.hasCTCSS = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),
|
||||||
{'\x06', '\x12', '\x18'});
|
{'\x06', '\x12', '\x18'});
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
|
@ -3253,6 +3333,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasFDcomms = false;
|
rigCaps.hasFDcomms = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
rigCaps.hasPTTCommand = false;
|
rigCaps.hasPTTCommand = false;
|
||||||
|
rigCaps.useRTSforPTT = true;
|
||||||
rigCaps.hasDataModes = false;
|
rigCaps.hasDataModes = false;
|
||||||
rigCaps.attenuators.push_back('\x20');
|
rigCaps.attenuators.push_back('\x20');
|
||||||
rigCaps.bands = standardHF;
|
rigCaps.bands = standardHF;
|
||||||
|
@ -3273,6 +3354,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasFDcomms = false;
|
rigCaps.hasFDcomms = false;
|
||||||
rigCaps.hasATU = false;
|
rigCaps.hasATU = false;
|
||||||
rigCaps.hasPTTCommand = false;
|
rigCaps.hasPTTCommand = false;
|
||||||
|
rigCaps.useRTSforPTT = true;
|
||||||
|
rigCaps.hasIFShift = true;
|
||||||
rigCaps.hasDataModes = false;
|
rigCaps.hasDataModes = false;
|
||||||
rigCaps.attenuators.push_back('\x20');
|
rigCaps.attenuators.push_back('\x20');
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
|
@ -3286,6 +3369,28 @@ void rigCommander::determineRigCaps()
|
||||||
};
|
};
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
break;
|
break;
|
||||||
|
case model736:
|
||||||
|
rigCaps.modelName = QString("IC-736");
|
||||||
|
rigCaps.rigctlModel = 3020;
|
||||||
|
rigCaps.hasSpectrum = false;
|
||||||
|
rigCaps.inputs.clear();
|
||||||
|
rigCaps.hasLan = false;
|
||||||
|
rigCaps.hasEthernet = false;
|
||||||
|
rigCaps.hasWiFi = false;
|
||||||
|
rigCaps.hasFDcomms = false;
|
||||||
|
rigCaps.hasATU = false;
|
||||||
|
rigCaps.hasPTTCommand = false;
|
||||||
|
rigCaps.useRTSforPTT = true;
|
||||||
|
rigCaps.hasDataModes = false;
|
||||||
|
rigCaps.hasIFShift = true; // untested
|
||||||
|
rigCaps.attenuators.push_back('\x20');
|
||||||
|
rigCaps.preamps.push_back('\x01');
|
||||||
|
rigCaps.bands = standardHF;
|
||||||
|
rigCaps.modes = { createMode(modeLSB, 0x00, "LSB"), createMode(modeUSB, 0x01, "USB"),
|
||||||
|
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
||||||
|
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
||||||
|
};
|
||||||
|
break;
|
||||||
case model756pro:
|
case model756pro:
|
||||||
rigCaps.modelName = QString("IC-756 Pro");
|
rigCaps.modelName = QString("IC-756 Pro");
|
||||||
rigCaps.rigctlModel = 3027;
|
rigCaps.rigctlModel = 3027;
|
||||||
|
@ -3296,6 +3401,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasFDcomms = false;
|
rigCaps.hasFDcomms = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
||||||
|
@ -3316,6 +3422,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasFDcomms = false;
|
rigCaps.hasFDcomms = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
||||||
|
@ -3336,6 +3443,7 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.hasWiFi = false;
|
rigCaps.hasWiFi = false;
|
||||||
rigCaps.hasFDcomms = false;
|
rigCaps.hasFDcomms = false;
|
||||||
rigCaps.hasATU = true;
|
rigCaps.hasATU = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
rigCaps.preamps.push_back('\x01');
|
rigCaps.preamps.push_back('\x01');
|
||||||
rigCaps.preamps.push_back('\x02');
|
rigCaps.preamps.push_back('\x02');
|
||||||
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
|
||||||
|
@ -3346,6 +3454,34 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
break;
|
break;
|
||||||
|
case model9100:
|
||||||
|
rigCaps.modelName = QString("IC-9100");
|
||||||
|
rigCaps.rigctlModel = 3068;
|
||||||
|
rigCaps.hasSpectrum = false;
|
||||||
|
rigCaps.inputs.append(inputUSB); // TODO, add commands for this radio's inputs
|
||||||
|
rigCaps.inputs.append(inputACC);
|
||||||
|
rigCaps.hasLan = false;
|
||||||
|
rigCaps.hasEthernet = false;
|
||||||
|
rigCaps.hasWiFi = false;
|
||||||
|
rigCaps.hasFDcomms = false;
|
||||||
|
rigCaps.hasATU = true;
|
||||||
|
rigCaps.hasDV = true;
|
||||||
|
rigCaps.hasTBPF = true;
|
||||||
|
rigCaps.preamps.push_back('\x01');
|
||||||
|
rigCaps.preamps.push_back('\x02');
|
||||||
|
rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x20' });
|
||||||
|
rigCaps.antennas = {0x00, 0x01};
|
||||||
|
rigCaps.bands = standardHF;
|
||||||
|
rigCaps.bands.insert(rigCaps.bands.end(), standardVU.begin(), standardVU.end());
|
||||||
|
rigCaps.bands.push_back(band23cm);
|
||||||
|
rigCaps.bands.push_back(bandGen);
|
||||||
|
rigCaps.bsr[band2m] = 0x11;
|
||||||
|
rigCaps.bsr[band70cm] = 0x12;
|
||||||
|
rigCaps.bsr[band23cm] = 0x13;
|
||||||
|
rigCaps.bsr[bandGen] = 0x14;
|
||||||
|
rigCaps.modes = commonModes;
|
||||||
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV")});
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16);
|
rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16);
|
||||||
rigCaps.hasSpectrum = false;
|
rigCaps.hasSpectrum = false;
|
||||||
|
|
|
@ -215,6 +215,9 @@ public slots:
|
||||||
void getRfGain();
|
void getRfGain();
|
||||||
void getAfGain();
|
void getAfGain();
|
||||||
void getSql();
|
void getSql();
|
||||||
|
void getIFShift();
|
||||||
|
void getTPBFInner();
|
||||||
|
void getTPBFOuter();
|
||||||
void getTxLevel();
|
void getTxLevel();
|
||||||
void getMicGain();
|
void getMicGain();
|
||||||
void getCompLevel();
|
void getCompLevel();
|
||||||
|
@ -232,6 +235,9 @@ public slots:
|
||||||
void setSquelch(unsigned char level);
|
void setSquelch(unsigned char level);
|
||||||
void setRfGain(unsigned char level);
|
void setRfGain(unsigned char level);
|
||||||
void setAfGain(unsigned char level);
|
void setAfGain(unsigned char level);
|
||||||
|
void setIFShift(unsigned char level);
|
||||||
|
void setTPBFInner(unsigned char level);
|
||||||
|
void setTPBFOuter(unsigned char level);
|
||||||
void setTxPower(unsigned char power);
|
void setTxPower(unsigned char power);
|
||||||
void setMicGain(unsigned char gain);
|
void setMicGain(unsigned char gain);
|
||||||
void setUSBGain(unsigned char gain);
|
void setUSBGain(unsigned char gain);
|
||||||
|
@ -316,6 +322,7 @@ signals:
|
||||||
void haveSerialPortError(const QString port, const QString errorText);
|
void haveSerialPortError(const QString port, const QString errorText);
|
||||||
void haveStatusUpdate(const QString text);
|
void haveStatusUpdate(const QString text);
|
||||||
void dataForComm(const QByteArray &outData);
|
void dataForComm(const QByteArray &outData);
|
||||||
|
void toggleRTS(bool rtsOn);
|
||||||
|
|
||||||
// UDP:
|
// UDP:
|
||||||
void haveChangeLatency(quint16 value);
|
void haveChangeLatency(quint16 value);
|
||||||
|
@ -356,6 +363,9 @@ signals:
|
||||||
void haveRfGain(unsigned char level);
|
void haveRfGain(unsigned char level);
|
||||||
void haveAfGain(unsigned char level);
|
void haveAfGain(unsigned char level);
|
||||||
void haveSql(unsigned char level);
|
void haveSql(unsigned char level);
|
||||||
|
void haveTPBFInner(unsigned char level);
|
||||||
|
void haveTPBFOuter(unsigned char level);
|
||||||
|
void haveIFShift(unsigned char level);
|
||||||
void haveTxPower(unsigned char level);
|
void haveTxPower(unsigned char level);
|
||||||
void haveMicGain(unsigned char level);
|
void haveMicGain(unsigned char level);
|
||||||
void haveCompLevel(unsigned char level);
|
void haveCompLevel(unsigned char level);
|
||||||
|
|
|
@ -67,6 +67,9 @@ model_kind determineRadioModel(unsigned char rigID)
|
||||||
case model756proiii:
|
case model756proiii:
|
||||||
rig = model756proiii;
|
rig = model756proiii;
|
||||||
break;
|
break;
|
||||||
|
case model9100:
|
||||||
|
rig = model9100;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
rig = modelUnknown;
|
rig = modelUnknown;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,10 +29,12 @@ enum model_kind {
|
||||||
model705 = 0xA4,
|
model705 = 0xA4,
|
||||||
model706 = 0x58,
|
model706 = 0x58,
|
||||||
model718 = 0x5E,
|
model718 = 0x5E,
|
||||||
|
model736 = 0x40,
|
||||||
model756pro = 0x5C,
|
model756pro = 0x5C,
|
||||||
model756proii = 0x64,
|
model756proii = 0x64,
|
||||||
model756proiii = 0x6E,
|
model756proiii = 0x6E,
|
||||||
model910h = 0x60,
|
model910h = 0x60,
|
||||||
|
model9100 = 0x7C,
|
||||||
modelUnknown = 0xFF
|
modelUnknown = 0xFF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -116,10 +118,13 @@ struct rigCapabilities {
|
||||||
|
|
||||||
bool hasTransmit;
|
bool hasTransmit;
|
||||||
bool hasPTTCommand;
|
bool hasPTTCommand;
|
||||||
|
bool useRTSforPTT;
|
||||||
bool hasAttenuator;
|
bool hasAttenuator;
|
||||||
bool hasPreamp;
|
bool hasPreamp;
|
||||||
bool hasAntennaSel;
|
bool hasAntennaSel;
|
||||||
bool hasDataModes;
|
bool hasDataModes;
|
||||||
|
bool hasIFShift;
|
||||||
|
bool hasTBPF;
|
||||||
|
|
||||||
bool hasRXAntenna;
|
bool hasRXAntenna;
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,100 @@ transceiverAdjustments::transceiverAdjustments(QWidget *parent) :
|
||||||
ui(new Ui::transceiverAdjustments)
|
ui(new Ui::transceiverAdjustments)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
// request level updates
|
#ifndef QT_DEBUG
|
||||||
|
ui->transmitterControlsGroupBox->setVisible(false); // no controls available so far
|
||||||
|
ui->bassRxLabel->setVisible(false);
|
||||||
|
ui->bassRxSlider->setVisible(false);
|
||||||
|
ui->trebleRxLabel->setVisible(false);
|
||||||
|
ui->trebleRxSlider->setVisible(false);
|
||||||
|
|
||||||
|
ui->NRRxCheckBox->setVisible(false);
|
||||||
|
ui->NRRxSlider->setVisible(false);
|
||||||
|
ui->notchRxChkBox->setVisible(false);
|
||||||
|
ui->notchRxSlider->setVisible(false);
|
||||||
|
ui->NBRxChkBox->setVisible(false);
|
||||||
|
ui->NBRxSlider->setVisible(false);
|
||||||
|
ui->bandwidthGroupBox->setVisible(false);
|
||||||
|
this->window()->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
this->window()->resize(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
transceiverAdjustments::~transceiverAdjustments()
|
transceiverAdjustments::~transceiverAdjustments()
|
||||||
{
|
{
|
||||||
|
rigCaps.inputs.clear();
|
||||||
|
rigCaps.preamps.clear();
|
||||||
|
rigCaps.attenuators.clear();
|
||||||
|
rigCaps.antennas.clear();
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::on_IFShiftSlider_valueChanged(int value)
|
||||||
|
{
|
||||||
|
if(rigCaps.hasIFShift)
|
||||||
|
{
|
||||||
|
emit setIFShift(value);
|
||||||
|
} else {
|
||||||
|
unsigned char inner = ui->TPBFInnerSlider->value();
|
||||||
|
unsigned char outer = ui->TPBFOuterSlider->value();
|
||||||
|
int shift = value - previousIFShift;
|
||||||
|
inner = MAX( 0, MIN(255,int (inner + shift)) );
|
||||||
|
outer = MAX( 0, MIN(255,int (outer + shift)) );
|
||||||
|
|
||||||
|
ui->TPBFInnerSlider->setValue(inner);
|
||||||
|
ui->TPBFOuterSlider->setValue(outer);
|
||||||
|
previousIFShift = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::on_TPBFInnerSlider_valueChanged(int value)
|
||||||
|
{
|
||||||
|
emit setTPBFInner(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::on_TPBFOuterSlider_valueChanged(int value)
|
||||||
|
{
|
||||||
|
emit setTPBFOuter(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::setRig(rigCapabilities rig)
|
||||||
|
{
|
||||||
|
this->rigCaps = rig;
|
||||||
|
if(!rigCaps.hasIFShift)
|
||||||
|
updateIFShift(128);
|
||||||
|
//ui->IFShiftSlider->setVisible(rigCaps.hasIFShift);
|
||||||
|
//ui->IFShiftLabel->setVisible(rigCaps.hasIFShift);
|
||||||
|
|
||||||
|
ui->TPBFInnerSlider->setVisible(rigCaps.hasTBPF);
|
||||||
|
ui->TPBFInnerLabel->setVisible(rigCaps.hasTBPF);
|
||||||
|
|
||||||
|
ui->TPBFOuterSlider->setVisible(rigCaps.hasTBPF);
|
||||||
|
ui->TPBFInnerLabel->setVisible(rigCaps.hasTBPF);
|
||||||
|
|
||||||
|
haveRigCaps = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// These are accessed by wfmain when we receive new values from rigCommander:
|
||||||
|
void transceiverAdjustments::updateIFShift(unsigned char level)
|
||||||
|
{
|
||||||
|
ui->IFShiftSlider->blockSignals(true);
|
||||||
|
ui->IFShiftSlider->setValue(level);
|
||||||
|
ui->IFShiftSlider->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::updateTPBFInner(unsigned char level)
|
||||||
|
{
|
||||||
|
ui->TPBFInnerSlider->blockSignals(true);
|
||||||
|
ui->TPBFInnerSlider->setValue(level);
|
||||||
|
ui->TPBFInnerSlider->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void transceiverAdjustments::updateTPBFOuter(unsigned char level)
|
||||||
|
{
|
||||||
|
ui->TPBFOuterSlider->blockSignals(true);
|
||||||
|
ui->TPBFOuterSlider->setValue(level);
|
||||||
|
ui->TPBFOuterSlider->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
#ifndef TRANSCEIVERADJUSTMENTS_H
|
#ifndef TRANSCEIVERADJUSTMENTS_H
|
||||||
#define TRANSCEIVERADJUSTMENTS_H
|
#define TRANSCEIVERADJUSTMENTS_H
|
||||||
|
|
||||||
|
#include <sys/param.h>
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
#include "rigidentities.h"
|
||||||
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class transceiverAdjustments;
|
class transceiverAdjustments;
|
||||||
|
@ -15,8 +19,30 @@ public:
|
||||||
explicit transceiverAdjustments(QWidget *parent = 0);
|
explicit transceiverAdjustments(QWidget *parent = 0);
|
||||||
~transceiverAdjustments();
|
~transceiverAdjustments();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void setIFShift(unsigned char level);
|
||||||
|
void setTPBFInner(unsigned char level);
|
||||||
|
void setTPBFOuter(unsigned char level);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setRig(rigCapabilities rig);
|
||||||
|
void updateIFShift(unsigned char level);
|
||||||
|
void updateTPBFInner(unsigned char level);
|
||||||
|
void updateTPBFOuter(unsigned char level);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
|
||||||
|
void on_IFShiftSlider_valueChanged(int value);
|
||||||
|
|
||||||
|
void on_TPBFInnerSlider_valueChanged(int value);
|
||||||
|
|
||||||
|
void on_TPBFOuterSlider_valueChanged(int value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::transceiverAdjustments *ui;
|
Ui::transceiverAdjustments *ui;
|
||||||
|
rigCapabilities rigCaps;
|
||||||
|
bool haveRigCaps = false;
|
||||||
|
int previousIFShift = 128;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TRANSCEIVERADJUSTMENTS_H
|
#endif // TRANSCEIVERADJUSTMENTS_H
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>680</width>
|
<width>832</width>
|
||||||
<height>339</height>
|
<height>337</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -29,13 +29,13 @@
|
||||||
<number>10</number>
|
<number>10</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="transmitterControlsGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Transmitter</string>
|
<string>Transmitter</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="compVertLayout">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -49,14 +49,20 @@
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider">
|
<widget class="QSlider" name="compSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="checkBox">
|
<widget class="QCheckBox" name="compChkBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Comp</string>
|
<string>Comp</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -65,16 +71,22 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
<layout class="QVBoxLayout" name="bassTxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_4">
|
<widget class="QSlider" name="bassTxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_4">
|
<widget class="QLabel" name="bassTxLabel">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -89,16 +101,22 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<layout class="QVBoxLayout" name="trebleTxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_3">
|
<widget class="QSlider" name="trebleTxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_3">
|
<widget class="QLabel" name="trebleTxLabel">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -106,23 +124,29 @@
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Trebble</string>
|
<string>Treble</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
<layout class="QVBoxLayout" name="tbdVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_9">
|
<widget class="QSlider" name="tbdSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_6">
|
<widget class="QLabel" name="tbdLabel">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -140,22 +164,28 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="receiverControlsGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Receiver</string>
|
<string>Receiver</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
<layout class="QVBoxLayout" name="bassRxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_5">
|
<widget class="QSlider" name="bassRxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="bassRxLabel">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -170,16 +200,22 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="trebleRxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_2">
|
<widget class="QSlider" name="trebleRxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="trebleRxLabel">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -187,23 +223,32 @@
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Trebble</string>
|
<string>Treble</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
<layout class="QVBoxLayout" name="IFShiftVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_8">
|
<widget class="QSlider" name="IFShiftSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>255</number>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_5">
|
<widget class="QLabel" name="IFShiftLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>IF Shift</string>
|
<string>IF Shift</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -212,16 +257,100 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
<layout class="QVBoxLayout" name="PBFInnerVertLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_6">
|
<widget class="QSlider" name="TPBFInnerSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>255</number>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="checkBox_2">
|
<widget class="QLabel" name="TPBFInnerLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>PBF Inner</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="TPBFOuterVertLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="TPBFOuterSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>255</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="TPBFOuterLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>PBF Outer</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="NRRxVertLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="NRRxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="NRRxCheckBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>NR</string>
|
<string>NR</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -230,16 +359,22 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<layout class="QVBoxLayout" name="NBRxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_7">
|
<widget class="QSlider" name="NBRxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="checkBox_3">
|
<widget class="QCheckBox" name="NBRxChkBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>NB</string>
|
<string>NB</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -248,16 +383,22 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
<layout class="QVBoxLayout" name="notchRxVertLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="verticalSlider_10">
|
<widget class="QSlider" name="notchRxSlider">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="checkBox_4">
|
<widget class="QCheckBox" name="notchRxChkBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Notch</string>
|
<string>Notch</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -266,40 +407,40 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
<widget class="QGroupBox" name="bandwidthGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Bandwidth</string>
|
<string>Bandwidth</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_7">
|
<widget class="QLabel" name="lowBandwidthLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Low</string>
|
<string>Low</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="comboBox_2"/>
|
<widget class="QComboBox" name="lowBandwidthCombo"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_8">
|
<widget class="QLabel" name="highBandwidthLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>High</string>
|
<string>High</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="comboBox"/>
|
<widget class="QComboBox" name="highBandwidthCombo"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_9">
|
<widget class="QLabel" name="filterBandwidthLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Filter</string>
|
<string>Filter</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="comboBox_3"/>
|
<widget class="QComboBox" name="filterBandwidthCombo"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
|
|
96
wfmain.cpp
96
wfmain.cpp
|
@ -296,6 +296,9 @@ void wfmain::rigConnections()
|
||||||
connect(this, SIGNAL(getRfGain()), rig, SLOT(getRfGain()));
|
connect(this, SIGNAL(getRfGain()), rig, SLOT(getRfGain()));
|
||||||
connect(this, SIGNAL(getAfGain()), rig, SLOT(getAfGain()));
|
connect(this, SIGNAL(getAfGain()), rig, SLOT(getAfGain()));
|
||||||
connect(this, SIGNAL(getSql()), rig, SLOT(getSql()));
|
connect(this, SIGNAL(getSql()), rig, SLOT(getSql()));
|
||||||
|
connect(this, SIGNAL(getIfShift()), rig, SLOT(getIFShift()));
|
||||||
|
connect(this, SIGNAL(getTPBFInner()), rig, SLOT(getTPBFInner()));
|
||||||
|
connect(this, SIGNAL(getTPBFOuter()), rig, SLOT(getTPBFOuter()));
|
||||||
connect(this, SIGNAL(getTxPower()), rig, SLOT(getTxLevel()));
|
connect(this, SIGNAL(getTxPower()), rig, SLOT(getTxLevel()));
|
||||||
connect(this, SIGNAL(getMicGain()), rig, SLOT(getMicGain()));
|
connect(this, SIGNAL(getMicGain()), rig, SLOT(getMicGain()));
|
||||||
connect(this, SIGNAL(getSpectrumRefLevel()), rig, SLOT(getSpectrumRefLevel()));
|
connect(this, SIGNAL(getSpectrumRefLevel()), rig, SLOT(getSpectrumRefLevel()));
|
||||||
|
@ -306,6 +309,9 @@ void wfmain::rigConnections()
|
||||||
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)));
|
||||||
connect(this, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
|
connect(this, SIGNAL(setSql(unsigned char)), rig, SLOT(setSquelch(unsigned char)));
|
||||||
|
connect(this, SIGNAL(setIFShift(unsigned char)), rig, SLOT(setIFShift(unsigned char)));
|
||||||
|
connect(this, SIGNAL(setTPBFInner(unsigned char)), rig, SLOT(setTPBFInner(unsigned char)));
|
||||||
|
connect(this, SIGNAL(setTPBFOuter(unsigned char)), rig, SLOT(setTPBFOuter(unsigned char)));
|
||||||
connect(this, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
|
connect(this, SIGNAL(setTxPower(unsigned char)), rig, SLOT(setTxPower(unsigned char)));
|
||||||
connect(this, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
|
connect(this, SIGNAL(setMicGain(unsigned char)), rig, SLOT(setMicGain(unsigned char)));
|
||||||
connect(this, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
|
connect(this, SIGNAL(setMonitorLevel(unsigned char)), rig, SLOT(setMonitorLevel(unsigned char)));
|
||||||
|
@ -318,6 +324,9 @@ void wfmain::rigConnections()
|
||||||
connect(rig, SIGNAL(haveRfGain(unsigned char)), this, SLOT(receiveRfGain(unsigned char)));
|
connect(rig, SIGNAL(haveRfGain(unsigned char)), this, SLOT(receiveRfGain(unsigned char)));
|
||||||
connect(rig, SIGNAL(haveAfGain(unsigned char)), this, SLOT(receiveAfGain(unsigned char)));
|
connect(rig, SIGNAL(haveAfGain(unsigned char)), this, SLOT(receiveAfGain(unsigned char)));
|
||||||
connect(rig, SIGNAL(haveSql(unsigned char)), this, SLOT(receiveSql(unsigned char)));
|
connect(rig, SIGNAL(haveSql(unsigned char)), this, SLOT(receiveSql(unsigned char)));
|
||||||
|
connect(rig, SIGNAL(haveIFShift(unsigned char)), trxadj, SLOT(updateIFShift(unsigned char)));
|
||||||
|
connect(rig, SIGNAL(haveTPBFInner(unsigned char)), trxadj, SLOT(updateTPBFInner(unsigned char)));
|
||||||
|
connect(rig, SIGNAL(haveTPBFOuter(unsigned char)), trxadj, SLOT(updateTPBFOuter(unsigned char)));
|
||||||
connect(rig, SIGNAL(haveTxPower(unsigned char)), this, SLOT(receiveTxPower(unsigned char)));
|
connect(rig, SIGNAL(haveTxPower(unsigned char)), this, SLOT(receiveTxPower(unsigned char)));
|
||||||
connect(rig, SIGNAL(haveMicGain(unsigned char)), this, SLOT(receiveMicGain(unsigned char)));
|
connect(rig, SIGNAL(haveMicGain(unsigned char)), this, SLOT(receiveMicGain(unsigned char)));
|
||||||
connect(rig, SIGNAL(haveSpectrumRefLevel(int)), this, SLOT(receiveSpectrumRefLevel(int)));
|
connect(rig, SIGNAL(haveSpectrumRefLevel(int)), this, SLOT(receiveSpectrumRefLevel(int)));
|
||||||
|
@ -807,6 +816,20 @@ void wfmain::setupMainUI()
|
||||||
[=](const int &newValue) { statusFromSliderRaw("Waterfall Length", newValue);}
|
[=](const int &newValue) { statusFromSliderRaw("Waterfall Length", newValue);}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
connect(this->trxadj, &transceiverAdjustments::setIFShift,
|
||||||
|
[=](const unsigned char &newValue) { issueCmdUniquePriority(cmdSetIFShift, newValue);}
|
||||||
|
);
|
||||||
|
|
||||||
|
connect(this->trxadj, &transceiverAdjustments::setTPBFInner,
|
||||||
|
[=](const unsigned char &newValue) { issueCmdUniquePriority(cmdSetTPBFInner, newValue);}
|
||||||
|
);
|
||||||
|
|
||||||
|
connect(this->trxadj, &transceiverAdjustments::setTPBFOuter,
|
||||||
|
[=](const unsigned char &newValue) { issueCmdUniquePriority(cmdSetTPBFOuter, newValue);}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wfmain::updateSizes(int tabIndex)
|
void wfmain::updateSizes(int tabIndex)
|
||||||
|
@ -2239,6 +2262,14 @@ void wfmain:: getInitialRigState()
|
||||||
issueDelayedCommand(cmdGetRitEnabled);
|
issueDelayedCommand(cmdGetRitEnabled);
|
||||||
issueDelayedCommand(cmdGetRitValue);
|
issueDelayedCommand(cmdGetRitValue);
|
||||||
|
|
||||||
|
if(rigCaps.hasIFShift)
|
||||||
|
issueDelayedCommand(cmdGetIFShift);
|
||||||
|
if(rigCaps.hasTBPF)
|
||||||
|
{
|
||||||
|
issueDelayedCommand(cmdGetTPBFInner);
|
||||||
|
issueDelayedCommand(cmdGetTPBFOuter);
|
||||||
|
}
|
||||||
|
|
||||||
if(rigCaps.hasSpectrum)
|
if(rigCaps.hasSpectrum)
|
||||||
{
|
{
|
||||||
issueDelayedCommand(cmdGetSpectrumMode);
|
issueDelayedCommand(cmdGetSpectrumMode);
|
||||||
|
@ -2440,6 +2471,24 @@ void wfmain::doCmd(commandtype cmddata)
|
||||||
emit setSql(sqlLevel);
|
emit setSql(sqlLevel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case cmdSetIFShift:
|
||||||
|
{
|
||||||
|
unsigned char IFShiftLevel = (*std::static_pointer_cast<unsigned char>(data));
|
||||||
|
emit setIFShift(IFShiftLevel);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case cmdSetTPBFInner:
|
||||||
|
{
|
||||||
|
unsigned char innterLevel = (*std::static_pointer_cast<unsigned char>(data));
|
||||||
|
emit setTPBFInner(innterLevel);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case cmdSetTPBFOuter:
|
||||||
|
{
|
||||||
|
unsigned char outerLevel = (*std::static_pointer_cast<unsigned char>(data));
|
||||||
|
emit setTPBFOuter(outerLevel);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case cmdSetPTT:
|
case cmdSetPTT:
|
||||||
{
|
{
|
||||||
bool pttrequest = (*std::static_pointer_cast<bool>(data));
|
bool pttrequest = (*std::static_pointer_cast<bool>(data));
|
||||||
|
@ -2582,6 +2631,15 @@ void wfmain::doCmd(cmds cmd)
|
||||||
case cmdGetSql:
|
case cmdGetSql:
|
||||||
emit getSql();
|
emit getSql();
|
||||||
break;
|
break;
|
||||||
|
case cmdGetIFShift:
|
||||||
|
emit getIfShift();
|
||||||
|
break;
|
||||||
|
case cmdGetTPBFInner:
|
||||||
|
emit getTPBFInner();
|
||||||
|
break;
|
||||||
|
case cmdGetTPBFOuter:
|
||||||
|
emit getTPBFOuter();
|
||||||
|
break;
|
||||||
case cmdGetTxPower:
|
case cmdGetTxPower:
|
||||||
emit getTxPower();
|
emit getTxPower();
|
||||||
break;
|
break;
|
||||||
|
@ -2907,6 +2965,7 @@ void wfmain::receiveRigID(rigCapabilities rigCaps)
|
||||||
// Added so that server receives rig capabilities.
|
// Added so that server receives rig capabilities.
|
||||||
emit sendRigCaps(rigCaps);
|
emit sendRigCaps(rigCaps);
|
||||||
rpt->setRig(rigCaps);
|
rpt->setRig(rigCaps);
|
||||||
|
trxadj->setRig(rigCaps);
|
||||||
|
|
||||||
// Set the mode combo box up:
|
// Set the mode combo box up:
|
||||||
|
|
||||||
|
@ -3028,6 +3087,7 @@ void wfmain::receiveRigID(rigCapabilities rigCaps)
|
||||||
|
|
||||||
setBandButtons();
|
setBandButtons();
|
||||||
|
|
||||||
|
|
||||||
ui->tuneEnableChk->setEnabled(rigCaps.hasATU);
|
ui->tuneEnableChk->setEnabled(rigCaps.hasATU);
|
||||||
ui->tuneNowBtn->setEnabled(rigCaps.hasATU);
|
ui->tuneNowBtn->setEnabled(rigCaps.hasATU);
|
||||||
|
|
||||||
|
@ -4090,6 +4150,21 @@ void wfmain::receiveSql(unsigned char level)
|
||||||
ui->sqlSlider->setValue(level);
|
ui->sqlSlider->setValue(level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wfmain::receiveIFShift(unsigned char level)
|
||||||
|
{
|
||||||
|
trxadj->updateIFShift(level);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wfmain::receiveTBPFInner(unsigned char level)
|
||||||
|
{
|
||||||
|
trxadj->updateTPBFInner(level);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wfmain::receiveTBPFOuter(unsigned char level)
|
||||||
|
{
|
||||||
|
trxadj->updateTPBFOuter(level);
|
||||||
|
}
|
||||||
|
|
||||||
void wfmain::on_tuneNowBtn_clicked()
|
void wfmain::on_tuneNowBtn_clicked()
|
||||||
{
|
{
|
||||||
issueDelayedCommand(cmdStartATU);
|
issueDelayedCommand(cmdStartATU);
|
||||||
|
@ -4353,6 +4428,20 @@ void wfmain::on_sqlSlider_valueChanged(int value)
|
||||||
issueCmd(cmdSetSql, (unsigned char)value);
|
issueCmd(cmdSetSql, (unsigned char)value);
|
||||||
//emit setSql((unsigned char)value);
|
//emit setSql((unsigned char)value);
|
||||||
}
|
}
|
||||||
|
// These three are from the transceiver adjustment window:
|
||||||
|
void wfmain::changeIFShift(unsigned char level)
|
||||||
|
{
|
||||||
|
//issueCmd(cmdSetIFShift, level);
|
||||||
|
issueCmdUniquePriority(cmdSetIFShift, level);
|
||||||
|
}
|
||||||
|
void wfmain::changeTPBFInner(unsigned char level)
|
||||||
|
{
|
||||||
|
issueCmdUniquePriority(cmdSetTPBFInner, level);
|
||||||
|
}
|
||||||
|
void wfmain::changeTPBFOuter(unsigned char level)
|
||||||
|
{
|
||||||
|
issueCmdUniquePriority(cmdSetTPBFOuter, level);
|
||||||
|
}
|
||||||
|
|
||||||
void wfmain::on_modeFilterCombo_activated(int index)
|
void wfmain::on_modeFilterCombo_activated(int index)
|
||||||
{
|
{
|
||||||
|
@ -5377,11 +5466,16 @@ void wfmain::on_rigctldPortTxt_editingFinished()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wfmain::on_moreControlsBtn_clicked()
|
||||||
|
{
|
||||||
|
trxadj->show();
|
||||||
|
}
|
||||||
|
|
||||||
// --- DEBUG FUNCTION ---
|
// --- DEBUG FUNCTION ---
|
||||||
void wfmain::on_debugBtn_clicked()
|
void wfmain::on_debugBtn_clicked()
|
||||||
{
|
{
|
||||||
qInfo(logSystem()) << "Debug button pressed.";
|
qInfo(logSystem()) << "Debug button pressed.";
|
||||||
//trxadj->show();
|
trxadj->show();
|
||||||
//setRadioTimeDatePrep();
|
//setRadioTimeDatePrep();
|
||||||
//wf->setInteraction(QCP::iRangeZoom, true);
|
//wf->setInteraction(QCP::iRangeZoom, true);
|
||||||
//wf->setInteraction(QCP::iRangeDrag, true);
|
//wf->setInteraction(QCP::iRangeDrag, true);
|
||||||
|
|
34
wfmain.h
34
wfmain.h
|
@ -85,6 +85,9 @@ signals:
|
||||||
void getRfGain();
|
void getRfGain();
|
||||||
void getAfGain();
|
void getAfGain();
|
||||||
void getSql();
|
void getSql();
|
||||||
|
void getIfShift();
|
||||||
|
void getTPBFInner();
|
||||||
|
void getTPBFOuter();
|
||||||
void getTxPower();
|
void getTxPower();
|
||||||
void getMicGain();
|
void getMicGain();
|
||||||
void getSpectrumRefLevel();
|
void getSpectrumRefLevel();
|
||||||
|
@ -94,6 +97,13 @@ signals:
|
||||||
void setRfGain(unsigned char level);
|
void setRfGain(unsigned char level);
|
||||||
void setAfGain(unsigned char level);
|
void setAfGain(unsigned char level);
|
||||||
void setSql(unsigned char level);
|
void setSql(unsigned char level);
|
||||||
|
void setIFShift(unsigned char level);
|
||||||
|
void setTPBFInner(unsigned char level);
|
||||||
|
void setTPBFOuter(unsigned char level);
|
||||||
|
|
||||||
|
void setIFShiftWindow(unsigned char level);
|
||||||
|
void setTPBFInnerWindow(unsigned char level);
|
||||||
|
void setTPBFOuterWindow(unsigned char level);
|
||||||
void setMicGain(unsigned char);
|
void setMicGain(unsigned char);
|
||||||
void setCompLevel(unsigned char);
|
void setCompLevel(unsigned char);
|
||||||
void setTxPower(unsigned char);
|
void setTxPower(unsigned char);
|
||||||
|
@ -213,6 +223,13 @@ private slots:
|
||||||
void receiveRfGain(unsigned char level);
|
void receiveRfGain(unsigned char level);
|
||||||
void receiveAfGain(unsigned char level);
|
void receiveAfGain(unsigned char level);
|
||||||
void receiveSql(unsigned char level);
|
void receiveSql(unsigned char level);
|
||||||
|
void receiveIFShift(unsigned char level);
|
||||||
|
void receiveTBPFInner(unsigned char level);
|
||||||
|
void receiveTBPFOuter(unsigned char level);
|
||||||
|
// 'change' from data in transceiver controls window:
|
||||||
|
void changeIFShift(unsigned char level);
|
||||||
|
void changeTPBFInner(unsigned char level);
|
||||||
|
void changeTPBFOuter(unsigned char level);
|
||||||
void receiveTxPower(unsigned char power);
|
void receiveTxPower(unsigned char power);
|
||||||
void receiveMicGain(unsigned char gain);
|
void receiveMicGain(unsigned char gain);
|
||||||
void receiveCompLevel(unsigned char compLevel);
|
void receiveCompLevel(unsigned char compLevel);
|
||||||
|
@ -478,6 +495,8 @@ private slots:
|
||||||
void on_rigctldPortTxt_editingFinished();
|
void on_rigctldPortTxt_editingFinished();
|
||||||
|
|
||||||
|
|
||||||
|
void on_moreControlsBtn_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::wfmain *ui;
|
Ui::wfmain *ui;
|
||||||
void closeEvent(QCloseEvent *event);
|
void closeEvent(QCloseEvent *event);
|
||||||
|
@ -600,13 +619,18 @@ private:
|
||||||
unsigned char setModeVal=0;
|
unsigned char setModeVal=0;
|
||||||
unsigned char setFilterVal=0;
|
unsigned char setFilterVal=0;
|
||||||
|
|
||||||
enum cmds {cmdNone, cmdGetRigID, cmdGetRigCIV, cmdGetFreq, cmdSetFreq, cmdGetMode, cmdSetMode, cmdGetDataMode, cmdSetModeFilter,
|
enum cmds {cmdNone, cmdGetRigID, cmdGetRigCIV, cmdGetFreq, cmdSetFreq, cmdGetMode, cmdSetMode,
|
||||||
cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
||||||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
||||||
cmdGetSql, cmdSetSql, cmdGetATUStatus, cmdSetATU, cmdStartATU, cmdGetSpectrumMode, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode, cmdGetPTT, cmdSetPTT,
|
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetTPBFInner, cmdSetTPBFInner,
|
||||||
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdSetModLevel, cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetATUStatus,
|
||||||
|
cmdSetATU, cmdStartATU, cmdGetSpectrumMode,
|
||||||
|
cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode, cmdGetPTT, cmdSetPTT,
|
||||||
|
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdSetModLevel,
|
||||||
|
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
||||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
||||||
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter, cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
|
||||||
|
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
||||||
cmdGetTone, cmdGetTSQL, cmdGetDTCS, cmdGetRptAccessMode, cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
cmdGetTone, cmdGetTSQL, cmdGetDTCS, cmdGetRptAccessMode, cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
||||||
cmdSetTime, cmdSetDate, cmdSetUTCOffset};
|
cmdSetTime, cmdSetDate, cmdSetUTCOffset};
|
||||||
|
|
||||||
|
|
24
wfmain.ui
24
wfmain.ui
|
@ -6,7 +6,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>934</width>
|
<width>941</width>
|
||||||
<height>582</height>
|
<height>582</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>3</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="mainTab">
|
<widget class="QWidget" name="mainTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
@ -465,6 +465,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="moreControlsBtn">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Show additional controls</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Show More</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -852,6 +862,9 @@
|
||||||
<height>50</height>
|
<height>50</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Transmit and Receive button</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Transmit</string>
|
<string>Transmit</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -885,6 +898,9 @@
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="rptSetupBtn">
|
<widget class="QPushButton" name="rptSetupBtn">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Show the repeater tone and offset window</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Repeater</string>
|
<string>Repeater</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -2814,8 +2830,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>934</width>
|
<width>941</width>
|
||||||
<height>21</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
Ładowanie…
Reference in New Issue