1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-12-01 12:23:55 -05:00

Metis MISO: implemented 7 receivers

This commit is contained in:
f4exb 2020-09-05 11:47:28 +02:00
parent a180c552f8
commit 73487e619e
13 changed files with 354 additions and 37 deletions

View File

@ -79,7 +79,7 @@ void DeviceMetisScan::enumOriginDevices(const QString& hardwareId, PluginInterfa
hardwareId,
serial,
i, // sequence
4, // Nb Rx
7, // Nb Rx
1 // Nb Tx
));
}

View File

@ -50,8 +50,8 @@ MetisMISO::MetisMISO(DeviceAPI *deviceAPI) :
m_masterTimer(deviceAPI->getMasterTimer())
{
m_mimoType = MIMOHalfSynchronous;
m_sampleMIFifo.init(4, 96000 * 4);
m_deviceAPI->setNbSourceStreams(4);
m_sampleMIFifo.init(MetisMISOSettings::m_maxReceivers, 96000 * 4);
m_deviceAPI->setNbSourceStreams(MetisMISOSettings::m_maxReceivers);
m_deviceAPI->setNbSinkStreams(1);
int deviceSequence = m_deviceAPI->getSamplingDeviceSequence();
const DeviceMetisScan::DeviceScan *deviceScan = DeviceMetis::instance().getDeviceScanAt(deviceSequence);
@ -330,6 +330,24 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, bool force)
propagateSettings = true;
}
if ((m_settings.m_rx5CenterFrequency != settings.m_rx5CenterFrequency) || force)
{
reverseAPIKeys.append("rx5CenterFrequency");
propagateSettings = true;
}
if ((m_settings.m_rx6CenterFrequency != settings.m_rx6CenterFrequency) || force)
{
reverseAPIKeys.append("rx6CenterFrequency");
propagateSettings = true;
}
if ((m_settings.m_rx7CenterFrequency != settings.m_rx7CenterFrequency) || force)
{
reverseAPIKeys.append("rx7CenterFrequency");
propagateSettings = true;
}
if ((m_settings.m_txCenterFrequency != settings.m_txCenterFrequency) || force)
{
reverseAPIKeys.append("txCenterFrequency");
@ -407,6 +425,39 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, bool force)
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineRx4Notif);
}
if ((m_settings.m_rx5CenterFrequency != settings.m_rx5CenterFrequency) ||
(m_settings.m_sampleRateIndex != settings.m_sampleRateIndex) ||
(m_settings.m_log2Decim != settings.m_log2Decim) || force)
{
int devSampleRate = (1<<settings.m_sampleRateIndex) * 48000;
int sampleRate = devSampleRate / (1<<settings.m_log2Decim);
DSPMIMOSignalNotification *engineRx5Notif = new DSPMIMOSignalNotification(
sampleRate, settings.m_rx5CenterFrequency, true, 4);
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineRx5Notif);
}
if ((m_settings.m_rx6CenterFrequency != settings.m_rx6CenterFrequency) ||
(m_settings.m_sampleRateIndex != settings.m_sampleRateIndex) ||
(m_settings.m_log2Decim != settings.m_log2Decim) || force)
{
int devSampleRate = (1<<settings.m_sampleRateIndex) * 48000;
int sampleRate = devSampleRate / (1<<settings.m_log2Decim);
DSPMIMOSignalNotification *engineRx6Notif = new DSPMIMOSignalNotification(
sampleRate, settings.m_rx6CenterFrequency, true, 5);
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineRx6Notif);
}
if ((m_settings.m_rx7CenterFrequency != settings.m_rx7CenterFrequency) ||
(m_settings.m_sampleRateIndex != settings.m_sampleRateIndex) ||
(m_settings.m_log2Decim != settings.m_log2Decim) || force)
{
int devSampleRate = (1<<settings.m_sampleRateIndex) * 48000;
int sampleRate = devSampleRate / (1<<settings.m_log2Decim);
DSPMIMOSignalNotification *engineRx7Notif = new DSPMIMOSignalNotification(
sampleRate, settings.m_rx7CenterFrequency, true, 6);
m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineRx7Notif);
}
if ((m_settings.m_txCenterFrequency != settings.m_txCenterFrequency) ||
(m_settings.m_sampleRateIndex != settings.m_sampleRateIndex) ||
(m_settings.m_log2Decim != settings.m_log2Decim) || force)
@ -520,6 +571,9 @@ void MetisMISO::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("nbReceivers")) {
settings.m_nbReceivers = response.getMetisMisoSettings()->getNbReceivers();
}
if (deviceSettingsKeys.contains("rx1CenterFrequency")) {
settings.m_rx1CenterFrequency = response.getMetisMisoSettings()->getRx1CenterFrequency();
}
@ -529,12 +583,27 @@ void MetisMISO::webapiUpdateDeviceSettings(
if (deviceSettingsKeys.contains("rx3CenterFrequency")) {
settings.m_rx3CenterFrequency = response.getMetisMisoSettings()->getRx3CenterFrequency();
}
if (deviceSettingsKeys.contains("rx4CenterFrequency")) {
settings.m_rx4CenterFrequency = response.getMetisMisoSettings()->getRx4CenterFrequency();
}
if (deviceSettingsKeys.contains("rx5CenterFrequency")) {
settings.m_rx5CenterFrequency = response.getMetisMisoSettings()->getRx5CenterFrequency();
}
if (deviceSettingsKeys.contains("rx6CenterFrequency")) {
settings.m_rx6CenterFrequency = response.getMetisMisoSettings()->getRx6CenterFrequency();
}
if (deviceSettingsKeys.contains("rx7CenterFrequency")) {
settings.m_rx7CenterFrequency = response.getMetisMisoSettings()->getRx7CenterFrequency();
}
if (deviceSettingsKeys.contains("txCenterFrequency")) {
settings.m_txCenterFrequency = response.getMetisMisoSettings()->getTxCenterFrequency();
}
if (deviceSettingsKeys.contains("sampleRateIndex")) {
settings.m_sampleRateIndex = response.getMetisMisoSettings()->getSampleRateIndex();
}
if (deviceSettingsKeys.contains("log2Decim")) {
settings.m_log2Decim = response.getMetisMisoSettings()->getLog2Decim();
}
if (deviceSettingsKeys.contains("preamp")) {
settings.m_preamp = response.getMetisMisoSettings()->getPreamp() != 0;
}
@ -569,11 +638,17 @@ void MetisMISO::webapiUpdateDeviceSettings(
void MetisMISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const MetisMISOSettings& settings)
{
response.getMetisMisoSettings()->setNbReceivers(settings.m_nbReceivers);
response.getMetisMisoSettings()->setRx1CenterFrequency(settings.m_rx1CenterFrequency);
response.getMetisMisoSettings()->setRx2CenterFrequency(settings.m_rx2CenterFrequency);
response.getMetisMisoSettings()->setRx3CenterFrequency(settings.m_rx3CenterFrequency);
response.getMetisMisoSettings()->setRx4CenterFrequency(settings.m_rx4CenterFrequency);
response.getMetisMisoSettings()->setRx5CenterFrequency(settings.m_rx5CenterFrequency);
response.getMetisMisoSettings()->setRx6CenterFrequency(settings.m_rx6CenterFrequency);
response.getMetisMisoSettings()->setRx7CenterFrequency(settings.m_rx7CenterFrequency);
response.getMetisMisoSettings()->setTxCenterFrequency(settings.m_txCenterFrequency);
response.getMetisMisoSettings()->setSampleRateIndex(settings.m_sampleRateIndex);
response.getMetisMisoSettings()->setLog2Decim(settings.m_log2Decim);
response.getMetisMisoSettings()->setPreamp(settings.m_preamp ? 1 : 0);
response.getMetisMisoSettings()->setRandom(settings.m_random ? 1 : 0);
response.getMetisMisoSettings()->setDither(settings.m_dither ? 1 : 0);
@ -601,6 +676,9 @@ void MetisMISO::webapiReverseSendSettings(const QList<QString>& deviceSettingsKe
swgDeviceSettings->setMetisMisoSettings(new SWGSDRangel::SWGMetisMISOSettings());
SWGSDRangel::SWGMetisMISOSettings *swgMetisMISOSettings = swgDeviceSettings->getMetisMisoSettings();
if (deviceSettingsKeys.contains("nbReceivers") || force) {
swgMetisMISOSettings->setNbReceivers(settings.m_nbReceivers);
}
if (deviceSettingsKeys.contains("rx1CenterFrequency") || force) {
swgMetisMISOSettings->setRx1CenterFrequency(settings.m_rx1CenterFrequency);
}
@ -610,12 +688,27 @@ void MetisMISO::webapiReverseSendSettings(const QList<QString>& deviceSettingsKe
if (deviceSettingsKeys.contains("rx3CenterFrequency") || force) {
swgMetisMISOSettings->setRx3CenterFrequency(settings.m_rx3CenterFrequency);
}
if (deviceSettingsKeys.contains("rx4CenterFrequency") || force) {
swgMetisMISOSettings->setRx4CenterFrequency(settings.m_rx4CenterFrequency);
}
if (deviceSettingsKeys.contains("rx5CenterFrequency") || force) {
swgMetisMISOSettings->setRx5CenterFrequency(settings.m_rx5CenterFrequency);
}
if (deviceSettingsKeys.contains("rx6CenterFrequency") || force) {
swgMetisMISOSettings->setRx6CenterFrequency(settings.m_rx6CenterFrequency);
}
if (deviceSettingsKeys.contains("rx7CenterFrequency") || force) {
swgMetisMISOSettings->setRx7CenterFrequency(settings.m_rx7CenterFrequency);
}
if (deviceSettingsKeys.contains("txCenterFrequency") || force) {
swgMetisMISOSettings->setTxCenterFrequency(settings.m_txCenterFrequency);
}
if (deviceSettingsKeys.contains("sampleRateIndex") || force) {
swgMetisMISOSettings->setSampleRateIndex(settings.m_sampleRateIndex);
}
if (deviceSettingsKeys.contains("log2Decim") || force) {
swgMetisMISOSettings->setLog2Decim(settings.m_log2Decim);
}
if (deviceSettingsKeys.contains("preamp") || force) {
swgMetisMISOSettings->setPreamp(settings.m_preamp ? 1 : 0);
}

View File

@ -112,6 +112,12 @@ qint64 MetisMISOGui::getCenterFrequency() const
} else if (m_streamIndex == 3) {
return m_settings.m_rx4CenterFrequency;
} else if (m_streamIndex == 4) {
return m_settings.m_rx5CenterFrequency;
} else if (m_streamIndex == 5) {
return m_settings.m_rx6CenterFrequency;
} else if (m_streamIndex == 6) {
return m_settings.m_rx7CenterFrequency;
} else if (m_streamIndex == 7) {
return m_settings.m_txCenterFrequency;
} else {
return 0;
@ -129,6 +135,12 @@ void MetisMISOGui::setCenterFrequency(qint64 centerFrequency)
} else if (m_streamIndex == 3) {
m_settings.m_rx4CenterFrequency = centerFrequency;
} else if (m_streamIndex == 4) {
m_settings.m_rx5CenterFrequency = centerFrequency;
} else if (m_streamIndex == 5) {
m_settings.m_rx6CenterFrequency = centerFrequency;
} else if (m_streamIndex == 6) {
m_settings.m_rx7CenterFrequency = centerFrequency;
} else if (m_streamIndex == 7) {
m_settings.m_txCenterFrequency = centerFrequency;
} else {
m_settings.m_txCenterFrequency = 0;
@ -237,6 +249,12 @@ void MetisMISOGui::on_centerFrequency_changed(quint64 value)
} else if (m_streamIndex == 3) {
m_settings.m_rx4CenterFrequency = value * 1000;
} else if (m_streamIndex == 4) {
m_settings.m_rx5CenterFrequency = value * 1000;
} else if (m_streamIndex == 5) {
m_settings.m_rx6CenterFrequency = value * 1000;
} else if (m_streamIndex == 6) {
m_settings.m_rx7CenterFrequency = value * 1000;
} else if (m_streamIndex == 7) {
m_settings.m_txCenterFrequency = value * 1000;
} else {
m_settings.m_txCenterFrequency = 0;
@ -419,6 +437,12 @@ void MetisMISOGui::handleInputMessages()
m_settings.m_rx3CenterFrequency = frequency;
} else if (istream == 3) {
m_settings.m_rx4CenterFrequency = frequency;
} else if (istream == 4) {
m_settings.m_rx5CenterFrequency = frequency;
} else if (istream == 5) {
m_settings.m_rx6CenterFrequency = frequency;
} else if (istream == 6) {
m_settings.m_rx7CenterFrequency = frequency;
}
}
else
@ -460,6 +484,12 @@ void MetisMISOGui::displayFrequency()
} else if (m_streamIndex == 3) {
centerFrequency = m_settings.m_rx4CenterFrequency;
} else if (m_streamIndex == 4) {
centerFrequency = m_settings.m_rx5CenterFrequency;
} else if (m_streamIndex == 5) {
centerFrequency = m_settings.m_rx6CenterFrequency;
} else if (m_streamIndex == 6) {
centerFrequency = m_settings.m_rx7CenterFrequency;
} else if (m_streamIndex == 7) {
centerFrequency = m_settings.m_txCenterFrequency;
} else {
centerFrequency = 0;
@ -488,6 +518,12 @@ void MetisMISOGui::updateSpectrum()
} else if (m_spectrumStreamIndex == 3) {
centerFrequency = m_settings.m_rx4CenterFrequency;
} else if (m_spectrumStreamIndex == 4) {
centerFrequency = m_settings.m_rx5CenterFrequency;
} else if (m_spectrumStreamIndex == 5) {
centerFrequency = m_settings.m_rx6CenterFrequency;
} else if (m_spectrumStreamIndex == 6) {
centerFrequency = m_settings.m_rx7CenterFrequency;
} else if (m_spectrumStreamIndex == 7) {
centerFrequency = m_settings.m_txCenterFrequency;
} else {
centerFrequency = 0;

View File

@ -90,6 +90,21 @@
<string>Rx3</string>
</property>
</item>
<item>
<property name="text">
<string>Rx4</string>
</property>
</item>
<item>
<property name="text">
<string>Rx5</string>
</property>
</item>
<item>
<property name="text">
<string>Rx6</string>
</property>
</item>
<item>
<property name="text">
<string>Tx</string>
@ -141,6 +156,21 @@
<string>Rx3</string>
</property>
</item>
<item>
<property name="text">
<string>Rx4</string>
</property>
</item>
<item>
<property name="text">
<string>Rx5</string>
</property>
</item>
<item>
<property name="text">
<string>Rx6</string>
</property>
</item>
<item>
<property name="text">
<string>Tx</string>

View File

@ -31,6 +31,9 @@ MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other)
m_rx2CenterFrequency = other.m_rx2CenterFrequency;
m_rx3CenterFrequency = other.m_rx3CenterFrequency;
m_rx4CenterFrequency = other.m_rx4CenterFrequency;
m_rx5CenterFrequency = other.m_rx5CenterFrequency;
m_rx6CenterFrequency = other.m_rx6CenterFrequency;
m_rx7CenterFrequency = other.m_rx7CenterFrequency;
m_txCenterFrequency = other.m_txCenterFrequency;
m_sampleRateIndex = other.m_sampleRateIndex;
m_log2Decim = other.m_log2Decim;
@ -53,6 +56,9 @@ void MetisMISOSettings::resetToDefaults()
m_rx2CenterFrequency = 7074000;
m_rx3CenterFrequency = 7074000;
m_rx4CenterFrequency = 7074000;
m_rx5CenterFrequency = 7074000;
m_rx6CenterFrequency = 7074000;
m_rx7CenterFrequency = 7074000;
m_txCenterFrequency = 7074000;
m_sampleRateIndex = 0; // 48000 kS/s
m_log2Decim = 0;
@ -77,19 +83,22 @@ QByteArray MetisMISOSettings::serialize() const
s.writeU64(3, m_rx2CenterFrequency);
s.writeU64(4, m_rx3CenterFrequency);
s.writeU64(5, m_rx4CenterFrequency);
s.writeU64(6, m_txCenterFrequency);
s.writeU32(7, m_sampleRateIndex);
s.writeU32(8, m_log2Decim);
s.writeBool(9, m_preamp);
s.writeBool(10, m_random);
s.writeBool(11, m_dither);
s.writeBool(12, m_duplex);
s.writeBool(13, m_dcBlock);
s.writeBool(14, m_iqCorrection);
s.writeBool(15, m_useReverseAPI);
s.writeString(16, m_reverseAPIAddress);
s.writeU32(17, m_reverseAPIPort);
s.writeU32(18, m_reverseAPIDeviceIndex);
s.writeU64(6, m_rx5CenterFrequency);
s.writeU64(7, m_rx6CenterFrequency);
s.writeU64(8, m_rx7CenterFrequency);
s.writeU64(9, m_txCenterFrequency);
s.writeU32(10, m_sampleRateIndex);
s.writeU32(11, m_log2Decim);
s.writeBool(12, m_preamp);
s.writeBool(13, m_random);
s.writeBool(14, m_dither);
s.writeBool(15, m_duplex);
s.writeBool(16, m_dcBlock);
s.writeBool(17, m_iqCorrection);
s.writeBool(18, m_useReverseAPI);
s.writeString(19, m_reverseAPIAddress);
s.writeU32(20, m_reverseAPIPort);
s.writeU32(21, m_reverseAPIDeviceIndex);
return s.final();
}
@ -114,18 +123,21 @@ bool MetisMISOSettings::deserialize(const QByteArray& data)
d.readU64(3, &m_rx2CenterFrequency, 7074000);
d.readU64(4, &m_rx3CenterFrequency, 7074000);
d.readU64(5, &m_rx4CenterFrequency, 7074000);
d.readU64(6, &m_txCenterFrequency, 7074000);
d.readU32(7, &m_sampleRateIndex, 0);
d.readU32(8, &m_log2Decim, 0);
d.readBool(8, &m_preamp, false);
d.readBool(9, &m_random, false);
d.readBool(10, &m_dither, false);
d.readBool(11, &m_duplex, false);
d.readBool(12, &m_dcBlock, false);
d.readBool(13, &m_iqCorrection, false);
d.readBool(14, &m_useReverseAPI, false);
d.readString(15, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(16, &utmp, 0);
d.readU64(6, &m_rx5CenterFrequency, 7074000);
d.readU64(7, &m_rx6CenterFrequency, 7074000);
d.readU64(8, &m_rx7CenterFrequency, 7074000);
d.readU64(9, &m_txCenterFrequency, 7074000);
d.readU32(10, &m_sampleRateIndex, 0);
d.readU32(11, &m_log2Decim, 0);
d.readBool(12, &m_preamp, false);
d.readBool(13, &m_random, false);
d.readBool(14, &m_dither, false);
d.readBool(15, &m_duplex, false);
d.readBool(16, &m_dcBlock, false);
d.readBool(17, &m_iqCorrection, false);
d.readBool(18, &m_useReverseAPI, false);
d.readString(19, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(20, &utmp, 0);
if ((utmp > 1023) && (utmp < 65535)) {
m_reverseAPIPort = utmp;
@ -133,7 +145,7 @@ bool MetisMISOSettings::deserialize(const QByteArray& data)
m_reverseAPIPort = 8888;
}
d.readU32(17, &utmp, 0);
d.readU32(21, &utmp, 0);
m_reverseAPIDeviceIndex = utmp > 99 ? 99 : utmp;
return true;

View File

@ -26,6 +26,9 @@ struct MetisMISOSettings {
quint64 m_rx2CenterFrequency;
quint64 m_rx3CenterFrequency;
quint64 m_rx4CenterFrequency;
quint64 m_rx5CenterFrequency;
quint64 m_rx6CenterFrequency;
quint64 m_rx7CenterFrequency;
quint64 m_txCenterFrequency;
unsigned int m_sampleRateIndex;
unsigned int m_log2Decim;
@ -40,7 +43,7 @@ struct MetisMISOSettings {
uint16_t m_reverseAPIPort;
uint16_t m_reverseAPIDeviceIndex;
static const int m_maxReceivers = 4;
static const int m_maxReceivers = 7;
MetisMISOSettings();
MetisMISOSettings(const MetisMISOSettings& other);

View File

@ -310,8 +310,10 @@ void MetisMISOUDPHandler::dataReadyRead()
qDebug() << "MetisMISOUDPHandler::dataReadyRead: expected data packet (1) got " << receiveBuffer[2];
break;
}
} else {
qDebug()<<"expected EFFE";
}
else
{
qDebug() << "MetisMISOUDPHandler::dataReadyRead: expected EFFE";
}
}
@ -382,6 +384,18 @@ int MetisMISOUDPHandler::getCommandValue(int commandIndex)
{
return m_settings.m_rx4CenterFrequency;
}
else if (commandIndex == 12)
{
return m_settings.m_rx5CenterFrequency;
}
else if (commandIndex == 14)
{
return m_settings.m_rx6CenterFrequency;
}
else if (commandIndex == 16)
{
return m_settings.m_rx7CenterFrequency;
}
else
{
return 0;

View File

@ -5521,6 +5521,18 @@ margin-bottom: 20px;
"type" : "integer",
"format" : "uint64"
},
"rx5CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"rx6CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"rx7CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"txCenterFrequency" : {
"type" : "integer",
"format" : "uint64"
@ -37534,7 +37546,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2020-09-05T10:34:53.674+02:00
Generated 2020-09-05T10:52:03.956+02:00
</div>
</div>
</div>

View File

@ -16,6 +16,15 @@ MetisMISOSettings:
rx4CenterFrequency:
type: integer
format: uint64
rx5CenterFrequency:
type: integer
format: uint64
rx6CenterFrequency:
type: integer
format: uint64
rx7CenterFrequency:
type: integer
format: uint64
txCenterFrequency:
type: integer
format: uint64

View File

@ -16,6 +16,15 @@ MetisMISOSettings:
rx4CenterFrequency:
type: integer
format: uint64
rx5CenterFrequency:
type: integer
format: uint64
rx6CenterFrequency:
type: integer
format: uint64
rx7CenterFrequency:
type: integer
format: uint64
txCenterFrequency:
type: integer
format: uint64

View File

@ -5521,6 +5521,18 @@ margin-bottom: 20px;
"type" : "integer",
"format" : "uint64"
},
"rx5CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"rx6CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"rx7CenterFrequency" : {
"type" : "integer",
"format" : "uint64"
},
"txCenterFrequency" : {
"type" : "integer",
"format" : "uint64"
@ -37534,7 +37546,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2020-09-05T10:34:53.674+02:00
Generated 2020-09-05T10:52:03.956+02:00
</div>
</div>
</div>

View File

@ -38,6 +38,12 @@ SWGMetisMISOSettings::SWGMetisMISOSettings() {
m_rx3_center_frequency_isSet = false;
rx4_center_frequency = 0;
m_rx4_center_frequency_isSet = false;
rx5_center_frequency = 0;
m_rx5_center_frequency_isSet = false;
rx6_center_frequency = 0;
m_rx6_center_frequency_isSet = false;
rx7_center_frequency = 0;
m_rx7_center_frequency_isSet = false;
tx_center_frequency = 0;
m_tx_center_frequency_isSet = false;
sample_rate_index = 0;
@ -82,6 +88,12 @@ SWGMetisMISOSettings::init() {
m_rx3_center_frequency_isSet = false;
rx4_center_frequency = 0;
m_rx4_center_frequency_isSet = false;
rx5_center_frequency = 0;
m_rx5_center_frequency_isSet = false;
rx6_center_frequency = 0;
m_rx6_center_frequency_isSet = false;
rx7_center_frequency = 0;
m_rx7_center_frequency_isSet = false;
tx_center_frequency = 0;
m_tx_center_frequency_isSet = false;
sample_rate_index = 0;
@ -127,6 +139,9 @@ SWGMetisMISOSettings::cleanup() {
if(reverse_api_address != nullptr) {
delete reverse_api_address;
}
@ -155,6 +170,12 @@ SWGMetisMISOSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&rx4_center_frequency, pJson["rx4CenterFrequency"], "qint32", "");
::SWGSDRangel::setValue(&rx5_center_frequency, pJson["rx5CenterFrequency"], "qint32", "");
::SWGSDRangel::setValue(&rx6_center_frequency, pJson["rx6CenterFrequency"], "qint32", "");
::SWGSDRangel::setValue(&rx7_center_frequency, pJson["rx7CenterFrequency"], "qint32", "");
::SWGSDRangel::setValue(&tx_center_frequency, pJson["txCenterFrequency"], "qint32", "");
::SWGSDRangel::setValue(&sample_rate_index, pJson["sampleRateIndex"], "qint32", "");
@ -212,6 +233,15 @@ SWGMetisMISOSettings::asJsonObject() {
if(m_rx4_center_frequency_isSet){
obj->insert("rx4CenterFrequency", QJsonValue(rx4_center_frequency));
}
if(m_rx5_center_frequency_isSet){
obj->insert("rx5CenterFrequency", QJsonValue(rx5_center_frequency));
}
if(m_rx6_center_frequency_isSet){
obj->insert("rx6CenterFrequency", QJsonValue(rx6_center_frequency));
}
if(m_rx7_center_frequency_isSet){
obj->insert("rx7CenterFrequency", QJsonValue(rx7_center_frequency));
}
if(m_tx_center_frequency_isSet){
obj->insert("txCenterFrequency", QJsonValue(tx_center_frequency));
}
@ -305,6 +335,36 @@ SWGMetisMISOSettings::setRx4CenterFrequency(qint32 rx4_center_frequency) {
this->m_rx4_center_frequency_isSet = true;
}
qint32
SWGMetisMISOSettings::getRx5CenterFrequency() {
return rx5_center_frequency;
}
void
SWGMetisMISOSettings::setRx5CenterFrequency(qint32 rx5_center_frequency) {
this->rx5_center_frequency = rx5_center_frequency;
this->m_rx5_center_frequency_isSet = true;
}
qint32
SWGMetisMISOSettings::getRx6CenterFrequency() {
return rx6_center_frequency;
}
void
SWGMetisMISOSettings::setRx6CenterFrequency(qint32 rx6_center_frequency) {
this->rx6_center_frequency = rx6_center_frequency;
this->m_rx6_center_frequency_isSet = true;
}
qint32
SWGMetisMISOSettings::getRx7CenterFrequency() {
return rx7_center_frequency;
}
void
SWGMetisMISOSettings::setRx7CenterFrequency(qint32 rx7_center_frequency) {
this->rx7_center_frequency = rx7_center_frequency;
this->m_rx7_center_frequency_isSet = true;
}
qint32
SWGMetisMISOSettings::getTxCenterFrequency() {
return tx_center_frequency;
@ -455,6 +515,15 @@ SWGMetisMISOSettings::isSet(){
if(m_rx4_center_frequency_isSet){
isObjectUpdated = true; break;
}
if(m_rx5_center_frequency_isSet){
isObjectUpdated = true; break;
}
if(m_rx6_center_frequency_isSet){
isObjectUpdated = true; break;
}
if(m_rx7_center_frequency_isSet){
isObjectUpdated = true; break;
}
if(m_tx_center_frequency_isSet){
isObjectUpdated = true; break;
}

View File

@ -57,6 +57,15 @@ public:
qint32 getRx4CenterFrequency();
void setRx4CenterFrequency(qint32 rx4_center_frequency);
qint32 getRx5CenterFrequency();
void setRx5CenterFrequency(qint32 rx5_center_frequency);
qint32 getRx6CenterFrequency();
void setRx6CenterFrequency(qint32 rx6_center_frequency);
qint32 getRx7CenterFrequency();
void setRx7CenterFrequency(qint32 rx7_center_frequency);
qint32 getTxCenterFrequency();
void setTxCenterFrequency(qint32 tx_center_frequency);
@ -115,6 +124,15 @@ private:
qint32 rx4_center_frequency;
bool m_rx4_center_frequency_isSet;
qint32 rx5_center_frequency;
bool m_rx5_center_frequency_isSet;
qint32 rx6_center_frequency;
bool m_rx6_center_frequency_isSet;
qint32 rx7_center_frequency;
bool m_rx7_center_frequency_isSet;
qint32 tx_center_frequency;
bool m_tx_center_frequency_isSet;