mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-22 16:08:39 -05:00
FreeDV demod: added 700C. More filter fixes
This commit is contained in:
parent
7759f9cebc
commit
fdbe8a6b59
@ -454,6 +454,10 @@ void FreeDVDemod::applyFreeDVMode(FreeDVDemodSettings::FreeDVMode mode)
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
case FreeDVDemodSettings::FreeDVMode700C:
|
||||
fdv_mode = FREEDV_MODE_700C;
|
||||
m_scaleFactor = SDR_RX_SCALEF / 3.2f;
|
||||
break;
|
||||
case FreeDVDemodSettings::FreeDVMode700D:
|
||||
fdv_mode = FREEDV_MODE_700D;
|
||||
m_scaleFactor = SDR_RX_SCALEF / 3.2f;
|
||||
|
@ -192,6 +192,11 @@
|
||||
<string>800XA</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>700C</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>700D</string>
|
||||
|
@ -162,9 +162,10 @@ int FreeDVDemodSettings::getHiCutoff(FreeDVMode freeDVMode)
|
||||
case FreeDVMode800XA: // C4FM NB
|
||||
return 2400.0;
|
||||
break;
|
||||
case FreeDVMode700C: // OFDM
|
||||
case FreeDVMode700D: // OFDM
|
||||
case FreeDVMode1600: // OFDM
|
||||
return 2200.0;
|
||||
return 2400.0;
|
||||
break;
|
||||
case FreeDVMode2400A: // C4FM WB
|
||||
default:
|
||||
@ -180,9 +181,10 @@ int FreeDVDemodSettings::getLowCutoff(FreeDVMode freeDVMode)
|
||||
case FreeDVMode800XA: // C4FM NB
|
||||
return 400.0;
|
||||
break;
|
||||
case FreeDVMode700C: // OFDM
|
||||
case FreeDVMode700D: // OFDM
|
||||
case FreeDVMode1600: // OFDM
|
||||
return 800.0;
|
||||
return 600.0;
|
||||
break;
|
||||
case FreeDVMode2400A: // C4FM WB
|
||||
default:
|
||||
|
@ -30,7 +30,8 @@ struct FreeDVDemodSettings
|
||||
FreeDVMode2400A,
|
||||
FreeDVMode1600,
|
||||
FreeDVMode800XA,
|
||||
FreeDVMode700D
|
||||
FreeDVMode700C,
|
||||
FreeDVMode700D,
|
||||
} FreeDVMode;
|
||||
|
||||
qint32 m_inputFrequencyOffset;
|
||||
|
@ -648,6 +648,10 @@ void FreeDVMod::applyFreeDVMode(FreeDVModSettings::FreeDVMode mode)
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
case FreeDVModSettings::FreeDVMode700C:
|
||||
fdv_mode = FREEDV_MODE_700C;
|
||||
m_scaleFactor = SDR_TX_SCALEF / 3.2f;
|
||||
break;
|
||||
case FreeDVModSettings::FreeDVMode700D:
|
||||
fdv_mode = FREEDV_MODE_700D;
|
||||
m_scaleFactor = SDR_TX_SCALEF / 3.2f;
|
||||
|
@ -114,7 +114,7 @@ bool FreeDVModGUI::handleMessage(const Message& message)
|
||||
}
|
||||
else if (DSPConfigureAudio::match(message))
|
||||
{
|
||||
qDebug("FreeDVModGUI::handleMessage: DSPConfigureAudio: %d", m_freeDVMod->getAudioSampleRate());
|
||||
qDebug("FreeDVModGUI::handleMessage: DSPConfigureAudio: %d", m_freeDVMod->getModemSampleRate());
|
||||
applyBandwidths(5 - ui->spanLog2->value()); // will update spectrum details with new sample rate
|
||||
return true;
|
||||
}
|
||||
@ -464,14 +464,11 @@ void FreeDVModGUI::displaySettings()
|
||||
|
||||
// Prevent uncontrolled triggering of applyBandwidths
|
||||
ui->spanLog2->blockSignals(true);
|
||||
|
||||
ui->spanLog2->setValue(5 - m_settings.m_spanLog2);
|
||||
ui->gaugeInput->setChecked(m_settings.m_gaugeInputElseModem);
|
||||
|
||||
QString s = QString::number(m_freeDVMod->getHiCutoff()/1000.0, 'f', 1);
|
||||
|
||||
ui->spanLog2->blockSignals(false);
|
||||
|
||||
ui->gaugeInput->setChecked(m_settings.m_gaugeInputElseModem);
|
||||
|
||||
// The only one of the four signals triggering applyBandwidths will trigger it once only with all other values
|
||||
// set correctly and therefore validate the settings and apply them to dependent widgets
|
||||
|
||||
|
@ -405,6 +405,11 @@
|
||||
<string>800XA</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>700C</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>700D</string>
|
||||
|
@ -178,9 +178,10 @@ int FreeDVModSettings::getHiCutoff(FreeDVMode freeDVMode)
|
||||
case FreeDVModSettings::FreeDVMode800XA: // C4FM NB
|
||||
return 2400.0;
|
||||
break;
|
||||
case FreeDVModSettings::FreeDVMode700C: // OFDM
|
||||
case FreeDVModSettings::FreeDVMode700D: // OFDM
|
||||
case FreeDVModSettings::FreeDVMode1600: // OFDM
|
||||
return 2200.0;
|
||||
return 2400.0;
|
||||
break;
|
||||
case FreeDVModSettings::FreeDVMode2400A: // C4FM WB
|
||||
default:
|
||||
@ -196,9 +197,10 @@ int FreeDVModSettings::getLowCutoff(FreeDVMode freeDVMode)
|
||||
case FreeDVModSettings::FreeDVMode800XA: // C4FM NB
|
||||
return 400.0;
|
||||
break;
|
||||
case FreeDVModSettings::FreeDVMode700C: // OFDM
|
||||
case FreeDVModSettings::FreeDVMode700D: // OFDM
|
||||
case FreeDVModSettings::FreeDVMode1600: // OFDM
|
||||
return 800.0;
|
||||
return 600.0;
|
||||
break;
|
||||
case FreeDVModSettings::FreeDVMode2400A: // C4FM WB
|
||||
default:
|
||||
|
@ -39,6 +39,7 @@ struct FreeDVModSettings
|
||||
FreeDVMode2400A,
|
||||
FreeDVMode1600,
|
||||
FreeDVMode800XA,
|
||||
FreeDVMode700C,
|
||||
FreeDVMode700D
|
||||
} FreeDVMode;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user