mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-02 06:04:39 -04:00
HackRF input: implemented transverter mode
This commit is contained in:
@@ -431,21 +431,29 @@ bool HackRFInput::applySettings(const HackRFInputSettings& settings, bool force)
|
||||
if ((m_settings.m_fcPos != settings.m_fcPos) || force) {
|
||||
reverseAPIKeys.append("fcPos");
|
||||
}
|
||||
if ((m_settings.m_transverterMode != settings.m_transverterMode) || force) {
|
||||
reverseAPIKeys.append("transverterMode");
|
||||
}
|
||||
if ((m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency) || force) {
|
||||
reverseAPIKeys.append("transverterDeltaFrequency");
|
||||
}
|
||||
|
||||
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) ||
|
||||
(m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
||||
(m_settings.m_LOppmTenths != settings.m_LOppmTenths) ||
|
||||
(m_settings.m_log2Decim != settings.m_log2Decim) ||
|
||||
(m_settings.m_fcPos != settings.m_fcPos) || force)
|
||||
(m_settings.m_fcPos != settings.m_fcPos) ||
|
||||
(m_settings.m_transverterMode != settings.m_transverterMode) ||
|
||||
(m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency) || force)
|
||||
{
|
||||
qint64 deviceCenterFrequency = DeviceSampleSource::calculateDeviceCenterFrequency(
|
||||
settings.m_centerFrequency,
|
||||
0,
|
||||
settings.m_transverterDeltaFrequency,
|
||||
settings.m_log2Decim,
|
||||
(DeviceSampleSource::fcPos_t) settings.m_fcPos,
|
||||
settings.m_devSampleRate,
|
||||
DeviceSampleSource::FrequencyShiftScheme::FSHIFT_TXSYNC,
|
||||
false);
|
||||
settings.m_transverterMode);
|
||||
setDeviceCenterFrequency(deviceCenterFrequency, settings.m_LOppmTenths);
|
||||
|
||||
if (m_deviceAPI->getSinkBuddies().size() > 0) // forward to buddy if necessary
|
||||
@@ -664,6 +672,12 @@ void HackRFInput::webapiUpdateDeviceSettings(
|
||||
if (deviceSettingsKeys.contains("fileRecordName")) {
|
||||
settings.m_fileRecordName = *response.getHackRfInputSettings()->getFileRecordName();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("transverterDeltaFrequency")) {
|
||||
settings.m_transverterDeltaFrequency = response.getHackRfInputSettings()->getTransverterDeltaFrequency();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("transverterMode")) {
|
||||
settings.m_transverterMode = response.getHackRfInputSettings()->getTransverterMode() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("useReverseAPI")) {
|
||||
settings.m_useReverseAPI = response.getHackRfInputSettings()->getUseReverseApi() != 0;
|
||||
}
|
||||
@@ -692,6 +706,8 @@ void HackRFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res
|
||||
response.getHackRfInputSettings()->setLnaExt(settings.m_lnaExt ? 1 : 0);
|
||||
response.getHackRfInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0);
|
||||
response.getHackRfInputSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0);
|
||||
response.getHackRfInputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency);
|
||||
response.getHackRfInputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0);
|
||||
|
||||
if (response.getHackRfInputSettings()->getFileRecordName()) {
|
||||
*response.getHackRfInputSettings()->getFileRecordName() = settings.m_fileRecordName;
|
||||
@@ -789,6 +805,12 @@ void HackRFInput::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys,
|
||||
if (deviceSettingsKeys.contains("fileRecordName") || force) {
|
||||
swgHackRFInputSettings->setFileRecordName(new QString(settings.m_fileRecordName));
|
||||
}
|
||||
if (deviceSettingsKeys.contains("transverterDeltaFrequency") || force) {
|
||||
swgHackRFInputSettings->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("transverterMode") || force) {
|
||||
swgHackRFInputSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0);
|
||||
}
|
||||
|
||||
QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings")
|
||||
.arg(settings.m_reverseAPIAddress)
|
||||
|
||||
Reference in New Issue
Block a user