1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 09:48:45 -05:00

Merge branch 'feature-cw'

This commit is contained in:
f4exb 2021-02-06 07:22:32 +01:00
commit 9864c26f11
4 changed files with 17 additions and 13 deletions

View File

@ -106,7 +106,7 @@ Values are expressed in kHz and step is 100 Hz.
<h4>11.1: Volume</h4> <h4>11.1: Volume</h4>
This is the volume of the audio signal from 0.0 (mute) to 10.0 (maximum). It can be varied continuously in 0.1 steps using the dial button. This is the volume of the audio signal in dB from 0 (no gain) to 40 (10000). It can be varied continuously in 1 dB steps using the dial button. When AGC is engaged it is recommended to set a low value in dB not exceeding 3 db (gain 2). When AGC is not engaged the volume entirely depends on the RF power and can vary in large proportions. Hence setting the value in dB is more convenient to accomodate large differences.
<h4>11.2: AGC toggle</h4> <h4>11.2: AGC toggle</h4>

View File

@ -147,8 +147,8 @@ void SSBDemodGUI::on_lowCut_valueChanged(int value)
void SSBDemodGUI::on_volume_valueChanged(int value) void SSBDemodGUI::on_volume_valueChanged(int value)
{ {
ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1)); ui->volumeText->setText(QString("%1").arg(value));
m_settings.m_volume = value / 10.0; m_settings.m_volume = CalcDb::powerFromdB(value);
applySettings(); applySettings();
} }
@ -545,8 +545,9 @@ void SSBDemodGUI::displaySettings()
ui->lowCut->setValue(m_settings.m_lowCutoff / 100.0); ui->lowCut->setValue(m_settings.m_lowCutoff / 100.0);
ui->lowCutText->setText(tr("%1k").arg(m_settings.m_lowCutoff / 1000.0)); ui->lowCutText->setText(tr("%1k").arg(m_settings.m_lowCutoff / 1000.0));
ui->volume->setValue(m_settings.m_volume * 10.0); int volume = CalcDb::dbPower(m_settings.m_volume);
ui->volumeText->setText(QString("%1").arg(m_settings.m_volume, 0, 'f', 1)); ui->volume->setValue(volume);
ui->volumeText->setText(QString("%1").arg(volume));
ui->agcTimeLog2->setValue(m_settings.m_agcTimeLog2); ui->agcTimeLog2->setValue(m_settings.m_agcTimeLog2);
s = QString::number((1<<ui->agcTimeLog2->value()), 'f', 0); s = QString::number((1<<ui->agcTimeLog2->value()), 'f', 0);

View File

@ -682,6 +682,12 @@
<height>24</height> <height>24</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Audio volume in dB</string>
</property>
<property name="maximum">
<number>40</number>
</property>
<property name="pageStep"> <property name="pageStep">
<number>1</number> <number>1</number>
</property> </property>
@ -689,14 +695,11 @@
</item> </item>
<item> <item>
<widget class="QLabel" name="volumeText"> <widget class="QLabel" name="volumeText">
<property name="maximumSize"> <property name="toolTip">
<size> <string>Audio volume in dB</string>
<width>30</width>
<height>16777215</height>
</size>
</property> </property>
<property name="text"> <property name="text">
<string>2.0</string> <string>10</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>

View File

@ -567,8 +567,8 @@ void CWKeyer::applySettings(const CWKeyerSettings& settings, bool force)
|| (m_settings.m_sampleRate != settings.m_sampleRate) || force) || (m_settings.m_sampleRate != settings.m_sampleRate) || force)
{ {
QMutexLocker mutexLocker(&m_mutex); QMutexLocker mutexLocker(&m_mutex);
m_dotLength = (int) (0.24f * settings.m_sampleRate * (5.0f / settings.m_wpm)); m_dotLength = (int) ((1.2f / settings.m_wpm) * settings.m_sampleRate);
m_cwSmoother.setNbFadeSamples(m_dotLength/5); // 20% the dot time m_cwSmoother.setNbFadeSamples(m_dotLength/10); // 10% the dot time
} }
if ((m_settings.m_mode != settings.m_mode) || force) if ((m_settings.m_mode != settings.m_mode) || force)