kopia lustrzana https://gitlab.com/eliggett/wfview
Merge branch 'audio-enhance'
commit
dfc101eabe
|
@ -26,7 +26,7 @@ rigCommander::rigCommander()
|
|||
rigState.mode = 0;
|
||||
rigState.ptt = 0;
|
||||
rigState.currentVfo = 0;
|
||||
rigState.splitEnabled = 0;
|
||||
rigState.duplex = dmSplitOff;
|
||||
}
|
||||
|
||||
rigCommander::~rigCommander()
|
||||
|
@ -1220,6 +1220,7 @@ void rigCommander::parseCommand()
|
|||
break;
|
||||
case '\x0F':
|
||||
emit haveDuplexMode((duplexMode)(unsigned char)payloadIn[1]);
|
||||
rigState.duplex = (duplexMode)(unsigned char)payloadIn[1];
|
||||
break;
|
||||
case '\x11':
|
||||
emit haveAttenuator((unsigned char)payloadIn.at(1));
|
||||
|
@ -1227,6 +1228,8 @@ void rigCommander::parseCommand()
|
|||
break;
|
||||
case '\x12':
|
||||
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;
|
||||
case '\x14':
|
||||
// read levels
|
||||
|
@ -2291,7 +2294,7 @@ void rigCommander::parsePTT()
|
|||
// PTT on
|
||||
emit havePTTStatus(true);
|
||||
}
|
||||
rigState.ptt = (unsigned char)payloadIn[2];
|
||||
rigState.ptt = (bool)payloadIn[2];
|
||||
|
||||
}
|
||||
|
||||
|
@ -2855,6 +2858,7 @@ void rigCommander::determineRigCaps()
|
|||
switch(model){
|
||||
case model7300:
|
||||
rigCaps.modelName = QString("IC-7300");
|
||||
rigCaps.rigctlModel = 3073;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 11;
|
||||
rigCaps.spectAmpMax = 160;
|
||||
|
@ -2878,6 +2882,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case modelR8600:
|
||||
rigCaps.modelName = QString("IC-R8600");
|
||||
rigCaps.rigctlModel = 3079;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 11;
|
||||
rigCaps.spectAmpMax = 160;
|
||||
|
@ -2912,6 +2917,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model9700:
|
||||
rigCaps.modelName = QString("IC-9700");
|
||||
rigCaps.rigctlModel = 3081;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 11;
|
||||
rigCaps.spectAmpMax = 160;
|
||||
|
@ -2939,6 +2945,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model910h:
|
||||
rigCaps.modelName = QString("IC-910H");
|
||||
rigCaps.rigctlModel = 3044;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.hasLan = false;
|
||||
rigCaps.hasEthernet = false;
|
||||
|
@ -2960,6 +2967,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7600:
|
||||
rigCaps.modelName = QString("IC-7600");
|
||||
rigCaps.rigctlModel = 3063;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputACC);
|
||||
rigCaps.inputs.append(inputUSB);
|
||||
|
@ -2983,6 +2991,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7610:
|
||||
rigCaps.modelName = QString("IC-7610");
|
||||
rigCaps.rigctlModel = 3078;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 15;
|
||||
rigCaps.spectAmpMax = 200;
|
||||
|
@ -3013,6 +3022,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7850:
|
||||
rigCaps.modelName = QString("IC-785x");
|
||||
rigCaps.rigctlModel = 3075;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 15;
|
||||
rigCaps.spectAmpMax = 136;
|
||||
|
@ -3044,6 +3054,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model705:
|
||||
rigCaps.modelName = QString("IC-705");
|
||||
rigCaps.rigctlModel = 3085;
|
||||
rigCaps.hasSpectrum = true;
|
||||
rigCaps.spectSeqMax = 11;
|
||||
rigCaps.spectAmpMax = 160;
|
||||
|
@ -3079,6 +3090,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7000:
|
||||
rigCaps.modelName = QString("IC-7000");
|
||||
rigCaps.rigctlModel = 3060;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputACC);
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3100,6 +3112,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7410:
|
||||
rigCaps.modelName = QString("IC-7410");
|
||||
rigCaps.rigctlModel = 3067;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputACC);
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3120,6 +3133,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7100:
|
||||
rigCaps.modelName = QString("IC-7100");
|
||||
rigCaps.rigctlModel = 3070;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputUSB);
|
||||
rigCaps.inputs.append(inputACC);
|
||||
|
@ -3146,6 +3160,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7200:
|
||||
rigCaps.modelName = QString("IC-7200");
|
||||
rigCaps.rigctlModel = 3061;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputUSB);
|
||||
rigCaps.inputs.append(inputACC);
|
||||
|
@ -3165,6 +3180,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model7700:
|
||||
rigCaps.modelName = QString("IC-7700");
|
||||
rigCaps.rigctlModel = 3062;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.append(inputLAN);
|
||||
//rigCaps.inputs.append(inputSPDIF);
|
||||
|
@ -3190,6 +3206,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model706:
|
||||
rigCaps.modelName = QString("IC-706");
|
||||
rigCaps.rigctlModel = 3009;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.clear();
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3208,6 +3225,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model718:
|
||||
rigCaps.modelName = QString("IC-718");
|
||||
rigCaps.rigctlModel = 3013;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.clear();
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3230,6 +3248,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model756pro:
|
||||
rigCaps.modelName = QString("IC-756 Pro");
|
||||
rigCaps.rigctlModel = 3027;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.clear();
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3248,6 +3267,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model756proii:
|
||||
rigCaps.modelName = QString("IC-756 Pro II");
|
||||
rigCaps.rigctlModel = 3027;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.clear();
|
||||
rigCaps.hasLan = false;
|
||||
|
@ -3266,6 +3286,7 @@ void rigCommander::determineRigCaps()
|
|||
break;
|
||||
case model756proiii:
|
||||
rigCaps.modelName = QString("IC-756 Pro III");
|
||||
rigCaps.rigctlModel = 3027;
|
||||
rigCaps.hasSpectrum = false;
|
||||
rigCaps.inputs.clear();
|
||||
rigCaps.hasLan = false;
|
||||
|
|
|
@ -63,11 +63,13 @@ struct rigStateStruct {
|
|||
freqt vfoAFreq;
|
||||
freqt vfoBFreq;
|
||||
unsigned char currentVfo;
|
||||
unsigned char ptt;
|
||||
bool ptt;
|
||||
unsigned char mode;
|
||||
unsigned char filter;
|
||||
unsigned char splitEnabled;
|
||||
duplexMode duplex;
|
||||
bool datamode;
|
||||
unsigned char antenna;
|
||||
bool rxAntenna;
|
||||
// Tones
|
||||
quint16 ctcss;
|
||||
quint16 tsql;
|
||||
|
|
89
rigctld.cpp
89
rigctld.cpp
|
@ -144,7 +144,7 @@ void rigCtlClient::socketReadyRead()
|
|||
{
|
||||
// Currently send "fake" state information until I can work out what is required!
|
||||
response.append("1");
|
||||
response.append("1");
|
||||
response.append(QString("%1").arg(rigCaps.rigctlModel));
|
||||
response.append("0");
|
||||
for (bandType band : rigCaps.bands)
|
||||
{
|
||||
|
@ -205,14 +205,23 @@ void rigCtlClient::socketReadyRead()
|
|||
}
|
||||
response.append(attens);
|
||||
|
||||
response.append("0x3effffff");
|
||||
response.append("0x3effffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("done");
|
||||
|
||||
response.append("0xffffffffffffffff");
|
||||
response.append("0xffffffffffffffff");
|
||||
response.append("0xfffffffff7ffffff");
|
||||
response.append("0xfffffff083ffffff");
|
||||
response.append("0xffffffffffffffff");
|
||||
response.append("0xffffffffffffffbf");
|
||||
|
||||
/*
|
||||
response.append("0x3effffff");
|
||||
response.append("0x3effffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
response.append("0x7fffffff");
|
||||
*/
|
||||
response.append("done");
|
||||
}
|
||||
|
||||
else if (command[0] == "f" || command[0] == "get_freq")
|
||||
|
@ -339,10 +348,10 @@ void rigCtlClient::socketReadyRead()
|
|||
else if (command[0] == "s" || command[0] == "get_split_vfo")
|
||||
{
|
||||
if (longReply) {
|
||||
response.append(QString("Split: %1").arg(rigState->splitEnabled));
|
||||
response.append(QString("Split: %1").arg(rigState->duplex));
|
||||
}
|
||||
else {
|
||||
response.append(QString("%1").arg(rigState->splitEnabled));
|
||||
response.append(QString("%1").arg(rigState->duplex));
|
||||
}
|
||||
|
||||
QString resp;
|
||||
|
@ -364,10 +373,12 @@ void rigCtlClient::socketReadyRead()
|
|||
setCommand = true;
|
||||
if (command[1] == "1")
|
||||
{
|
||||
emit parent->setSplit(1);
|
||||
emit parent->setDuplexMode(dmSplitOn);
|
||||
rigState->duplex = dmSplitOn;
|
||||
}
|
||||
else {
|
||||
emit parent->setSplit(0);
|
||||
emit parent->setDuplexMode(dmSplitOff);
|
||||
rigState->duplex = dmSplitOff;
|
||||
}
|
||||
}
|
||||
else if (command[0] == "\xf3" || command[0] == "get_vfo_info")
|
||||
|
@ -383,7 +394,7 @@ void rigCtlClient::socketReadyRead()
|
|||
}
|
||||
response.append(QString("Mode: %1").arg(getMode(rigState->mode, rigState->datamode)));
|
||||
response.append(QString("Width: %1").arg(getFilter(rigState->mode, rigState->filter)));
|
||||
response.append(QString("Split: %1").arg(rigState->splitEnabled));
|
||||
response.append(QString("Split: %1").arg(rigState->duplex));
|
||||
response.append(QString("SatMode: %1").arg(0)); // Need to get satmode
|
||||
}
|
||||
else {
|
||||
|
@ -483,6 +494,30 @@ void rigCtlClient::socketReadyRead()
|
|||
{
|
||||
setCommand = true;
|
||||
}
|
||||
else if (command[0] == "y" || command[0] == "get_ant")
|
||||
{
|
||||
qInfo(logRigCtlD()) << "get_ant:";
|
||||
|
||||
if (command.length() > 1) {
|
||||
if (longReply) {
|
||||
response.append(QString("AntCurr: %1").arg(getAntName((unsigned char)command[1].toInt())));
|
||||
response.append(QString("Option: %1").arg(0));
|
||||
response.append(QString("AntTx: %1").arg(getAntName(rigState->antenna)));
|
||||
response.append(QString("AntRx: %1").arg(getAntName(rigState->antenna)));
|
||||
}
|
||||
else {
|
||||
response.append(QString("%1").arg(getAntName((unsigned char)command[1].toInt())));
|
||||
response.append(QString("%1").arg(0));
|
||||
response.append(QString("%1").arg(getAntName(rigState->antenna)));
|
||||
response.append(QString("%1").arg(getAntName(rigState->antenna)));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (command[0] == "Y" || command[0] == "set_ant")
|
||||
{
|
||||
qInfo(logRigCtlD()) << "set_ant:";
|
||||
setCommand = true;
|
||||
}
|
||||
else if (command[0] == "z" || command[0] == "get_xit")
|
||||
{
|
||||
QString resp;
|
||||
|
@ -956,11 +991,20 @@ QString rigCtlClient::generateFreqRange(bandType band)
|
|||
QString ret = "";
|
||||
|
||||
if (lowFreq > 0 && highFreq > 0) {
|
||||
ret = QString("%1 %2 0x%3 %4 %5 0x%6 0x%7").arg(lowFreq).arg(highFreq).arg(getRadioModes(),0,16).arg(-1).arg(-1).arg(0x16000003,0,16).arg(0xf,0,16);
|
||||
ret = QString("%1 %2 0x%3 %4 %5 0x%6 0x%7").arg(lowFreq).arg(highFreq).arg(getRadioModes(),0,16).arg(-1).arg(-1).arg(0x16000003,0,16).arg(getAntennas(),0,16);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
unsigned char rigCtlClient::getAntennas()
|
||||
{
|
||||
unsigned char ant=0;
|
||||
for (unsigned char i : rigCaps.antennas)
|
||||
{
|
||||
ant |= 1<<i;
|
||||
}
|
||||
return ant;
|
||||
}
|
||||
|
||||
quint64 rigCtlClient::getRadioModes()
|
||||
{
|
||||
|
@ -985,3 +1029,20 @@ quint64 rigCtlClient::getRadioModes()
|
|||
}
|
||||
return modes;
|
||||
}
|
||||
|
||||
QString rigCtlClient::getAntName(unsigned char ant)
|
||||
{
|
||||
QString ret;
|
||||
switch (ant)
|
||||
{
|
||||
case 0: ret = "ANT1"; break;
|
||||
case 1: ret = "ANT2"; break;
|
||||
case 2: ret = "ANT3"; break;
|
||||
case 3: ret = "ANT4"; break;
|
||||
case 4: ret = "ANT5"; break;
|
||||
case 30: ret = "ANT_UNKNOWN"; break;
|
||||
case 31: ret = "ANT_CURR"; break;
|
||||
default: ret = "ANT_UNK"; break;
|
||||
}
|
||||
return ret;
|
||||
}
|
|
@ -125,6 +125,7 @@ signals:
|
|||
void setDataMode(bool dataOn, unsigned char modeFilter);
|
||||
void setVFO(unsigned char vfo);
|
||||
void setSplit(unsigned char split);
|
||||
void setDuplexMode(duplexMode dm);
|
||||
|
||||
// Power
|
||||
void sendPowerOn();
|
||||
|
@ -187,7 +188,9 @@ private:
|
|||
unsigned char getMode(QString modeString);
|
||||
QString getFilter(unsigned char mode, unsigned char filter);
|
||||
QString generateFreqRange(bandType band);
|
||||
unsigned char getAntennas();
|
||||
quint64 getRadioModes();
|
||||
QString getAntName(unsigned char ant);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -90,10 +90,9 @@ model_kind determineRadioModel(unsigned char rigID);
|
|||
|
||||
struct rigCapabilities {
|
||||
model_kind model;
|
||||
|
||||
quint8 civ;
|
||||
quint8 modelID;
|
||||
|
||||
int rigctlModel;
|
||||
QString modelName;
|
||||
|
||||
bool hasLan; // OEM ethernet or wifi connection
|
||||
|
|
|
@ -409,6 +409,7 @@ void wfmain::makeRig()
|
|||
|
||||
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)));
|
||||
|
@ -5287,6 +5288,7 @@ void wfmain::on_enableRigctldChk_clicked(bool checked)
|
|||
|
||||
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)));
|
||||
|
|
Ładowanie…
Reference in New Issue