kopia lustrzana https://gitlab.com/eliggett/wfview
Antenna selection might work, untested.
rodzic
aff2e281e8
commit
6b967a52b9
|
@ -29,6 +29,7 @@ repeaterSetup::~repeaterSetup()
|
|||
rig.inputs.clear();
|
||||
rig.preamps.clear();
|
||||
rig.attenuators.clear();
|
||||
rig.antennas.clear();
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
|
|
@ -2327,8 +2327,11 @@ void rigCommander::determineRigCaps()
|
|||
|
||||
rigCaps.hasAttenuator = true; // Verify that all recent rigs have attenuators
|
||||
rigCaps.attenuators.push_back('\x00');
|
||||
rigCaps.hasPreamp = true;
|
||||
rigCaps.preamps.push_back('\x00');
|
||||
|
||||
rigCaps.hasAntennaSel = false;
|
||||
|
||||
rigCaps.hasTransmit = true;
|
||||
|
||||
switch(model){
|
||||
|
@ -2367,6 +2370,8 @@ void rigCommander::determineRigCaps()
|
|||
rigCaps.attenuators.push_back('\x30');
|
||||
rigCaps.preamps.push_back('\x01');
|
||||
rigCaps.preamps.push_back('\x02');
|
||||
rigCaps.hasAntennaSel = true;
|
||||
rigCaps.antennas = {0x00, 0x01, 0x02};
|
||||
break;
|
||||
case model9700:
|
||||
rigCaps.modelName = QString("IC-9700");
|
||||
|
@ -2407,6 +2412,8 @@ void rigCommander::determineRigCaps()
|
|||
'\x39', '\x42', '\x45'});
|
||||
rigCaps.preamps.push_back('\x01');
|
||||
rigCaps.preamps.push_back('\x02');
|
||||
rigCaps.hasAntennaSel = true;
|
||||
rigCaps.antennas = {0x00, 0x01};
|
||||
break;
|
||||
case model7850:
|
||||
rigCaps.modelName = QString("IC-785x");
|
||||
|
@ -2428,6 +2435,8 @@ void rigCommander::determineRigCaps()
|
|||
'\x12', '\x15', '\x18', '\x21'});
|
||||
rigCaps.preamps.push_back('\x01');
|
||||
rigCaps.preamps.push_back('\x02');
|
||||
rigCaps.hasAntennaSel = true;
|
||||
rigCaps.antennas = {0x00, 0x01, 0x02, 0x03};
|
||||
break;
|
||||
case model705:
|
||||
rigCaps.modelName = QString("IC-705");
|
||||
|
@ -2484,6 +2493,8 @@ void rigCommander::determineRigCaps()
|
|||
rigCaps.hasLan = false;
|
||||
rigCaps.hasEthernet = false;
|
||||
rigCaps.hasWiFi = false;
|
||||
rigCaps.hasPreamp = false;
|
||||
rigCaps.hasAntennaSel = false;
|
||||
rigCaps.attenuators.push_back('\x10');
|
||||
rigCaps.attenuators.push_back('\x12');
|
||||
rigCaps.attenuators.push_back('\x20');
|
||||
|
|
|
@ -66,11 +66,13 @@ struct rigCapabilities {
|
|||
bool hasDTCS;
|
||||
|
||||
bool hasTransmit;
|
||||
|
||||
bool hasAttenuator;
|
||||
bool hasPreamp;
|
||||
bool hasAntennaSel;
|
||||
//QVector <unsigned char> attenuators;
|
||||
std::vector <unsigned char> attenuators;
|
||||
std::vector <unsigned char> preamps;
|
||||
std::vector <unsigned char> antennas;
|
||||
};
|
||||
|
||||
|
||||
|
|
44
wfmain.cpp
44
wfmain.cpp
|
@ -483,6 +483,7 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, QWidget *parent
|
|||
connect(rig, SIGNAL(haveRigID(rigCapabilities)), this, SLOT(receiveRigID(rigCapabilities)));
|
||||
connect(this, SIGNAL(setAttenuator(unsigned char)), rig, SLOT(setAttenuator(unsigned char)));
|
||||
connect(this, SIGNAL(setPreamp(unsigned char)), rig, SLOT(setPreamp(unsigned char)));
|
||||
connect(this, SIGNAL(setAntenna(unsigned char)), rig, SLOT(setAntenna(unsigned char)));
|
||||
|
||||
|
||||
// Speech (emitted from rig speaker)
|
||||
|
@ -2054,18 +2055,43 @@ void wfmain::receiveRigID(rigCapabilities rigCaps)
|
|||
}
|
||||
|
||||
ui->attSelCombo->clear();
|
||||
for(unsigned int i=0; i < rigCaps.attenuators.size(); i++)
|
||||
if(rigCaps.hasAttenuator)
|
||||
{
|
||||
inName = (i==0)?QString("0dB"):QString("-%1 dB").arg(rigCaps.attenuators.at(i), 0, 16);
|
||||
ui->attSelCombo->addItem(inName, rigCaps.attenuators.at(i));
|
||||
ui->attSelCombo->setDisabled(false);
|
||||
for(unsigned int i=0; i < rigCaps.attenuators.size(); i++)
|
||||
{
|
||||
inName = (i==0)?QString("0dB"):QString("-%1 dB").arg(rigCaps.attenuators.at(i), 0, 16);
|
||||
ui->attSelCombo->addItem(inName, rigCaps.attenuators.at(i));
|
||||
}
|
||||
} else {
|
||||
ui->attSelCombo->setDisabled(true);
|
||||
}
|
||||
|
||||
for(unsigned int i=0; i < rigCaps.preamps.size(); i++)
|
||||
ui->preampSelCombo->clear();
|
||||
if(rigCaps.hasPreamp)
|
||||
{
|
||||
inName = (i==0)?QString("Disabled"):QString("Pre #%1").arg(rigCaps.preamps.at(i), 0, 16);
|
||||
ui->preampSelCombo->addItem(inName, rigCaps.preamps.at(i));
|
||||
ui->preampSelCombo->setDisabled(false);
|
||||
for(unsigned int i=0; i < rigCaps.preamps.size(); i++)
|
||||
{
|
||||
inName = (i==0)?QString("Disabled"):QString("Pre #%1").arg(rigCaps.preamps.at(i), 0, 16);
|
||||
ui->preampSelCombo->addItem(inName, rigCaps.preamps.at(i));
|
||||
}
|
||||
} else {
|
||||
ui->preampSelCombo->setDisabled(true);
|
||||
}
|
||||
|
||||
ui->antennaSelCombo->clear();
|
||||
if(rigCaps.hasAntennaSel)
|
||||
{
|
||||
ui->antennaSelCombo->setDisabled(false);
|
||||
for(unsigned int i=0; i < rigCaps.antennas.size(); i++)
|
||||
{
|
||||
inName = QString("%1").arg(rigCaps.antennas.at(i), 0, 16);
|
||||
ui->antennaSelCombo->addItem(inName, rigCaps.antennas.at(i));
|
||||
}
|
||||
} else {
|
||||
ui->antennaSelCombo->setDisabled(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -3672,6 +3698,12 @@ void wfmain::on_preampSelCombo_activated(int index)
|
|||
emit setPreamp(pre);
|
||||
}
|
||||
|
||||
void wfmain::on_antennaSelCombo_activated(int index)
|
||||
{
|
||||
unsigned char ant = (unsigned char)ui->antennaSelCombo->itemData(index).toInt();
|
||||
emit setAntenna(ant);
|
||||
}
|
||||
|
||||
// --- DEBUG FUNCTION ---
|
||||
void wfmain::on_debugBtn_clicked()
|
||||
{
|
||||
|
|
2
wfmain.h
2
wfmain.h
|
@ -391,6 +391,8 @@ private slots:
|
|||
|
||||
void on_preampSelCombo_activated(int index);
|
||||
|
||||
void on_antennaSelCombo_activated(int index);
|
||||
|
||||
private:
|
||||
Ui::wfmain *ui;
|
||||
QSettings settings;
|
||||
|
|
Ładowanie…
Reference in New Issue