1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-23 00:18:37 -05:00

Scope: added amplification down to 100u full scale adnd finer trigger level down to 20u per step

This commit is contained in:
f4exb 2018-06-26 01:39:23 +02:00
parent fd915613e4
commit cc03445377
5 changed files with 14 additions and 14 deletions

View File

@ -381,18 +381,18 @@ This pair of sliders let you adjust the trigger level, The level appears on the
The top slider is a coarse adjustment. Each step moves the trigger level by an amount that depends on the projection type: The top slider is a coarse adjustment. Each step moves the trigger level by an amount that depends on the projection type:
- Real, Imag: 0.01 - Real, Imag: 0.01
- Mag: 0.005 - Mag: 0.01
- MagSq: 0.005 - MagSq: 0.01
- MagDB: 1 dB - MagDB: 1 dB
- Phi, dPhi: 0.01 - Phi, dPhi: 0.01
The bottom slider is a fine adjustment. Each step moves the trigger level by an amount that depends on the projection type: The bottom slider is a fine adjustment. Each step moves the trigger level by an amount that depends on the projection type:
- Real, Imag: 50.0E-6 - Real, Imag: 20.0E-6
- Mag: 25.0sE-6 - Mag: 20.0sE-6
- MagSq: 25.0sE-6 - MagSq: 20.0sE-6
- MagDB: 0.01 dB - MagDB: 0.01 dB
- Phi, dPhi: 50.0E-6 - Phi, dPhi: 20.0E-6
<h3>10: Trigger delay</h3> <h3>10: Trigger delay</h3>

View File

@ -915,7 +915,7 @@ void ScopeVisNG::computeDisplayTriggerLevels()
float levelPowerdB = (100.0f * (level - 1.0f)); float levelPowerdB = (100.0f * (level - 1.0f));
float v; float v;
if (itData->m_projectionType == Projector::ProjectionMagLin) if ((itData->m_projectionType == Projector::ProjectionMagLin) || (itData->m_projectionType == Projector::ProjectionMagSq))
{ {
v = (levelPowerLin - itData->m_ofs)*itData->m_amp - 1.0f; v = (levelPowerLin - itData->m_ofs)*itData->m_amp - 1.0f;
} }

View File

@ -22,7 +22,7 @@
#include "ui_glscopenggui.h" #include "ui_glscopenggui.h"
#include "util/simpleserializer.h" #include "util/simpleserializer.h"
const double GLScopeNGGUI::amps[11] = { 0.2, 0.1, 0.05, 0.02, 0.01, 0.005, 0.002, 0.001, 0.0005, 0.0002, 0.0001 }; const double GLScopeNGGUI::amps[14] = { 0.2, 0.1, 0.05, 0.02, 0.01, 0.005, 0.002, 0.001, 0.0005, 0.0002, 0.0001, 0.00005, 0.00002, 0.00001 };
GLScopeNGGUI::GLScopeNGGUI(QWidget* parent) : GLScopeNGGUI::GLScopeNGGUI(QWidget* parent) :
QWidget(parent), QWidget(parent),
@ -1074,11 +1074,11 @@ void GLScopeNGGUI::setTrigIndexDisplay()
void GLScopeNGGUI::setTrigLevelDisplay() void GLScopeNGGUI::setTrigLevelDisplay()
{ {
double t = (ui->trigLevelCoarse->value() / 100.0f) + (ui->trigLevelFine->value() / 20000.0f); double t = (ui->trigLevelCoarse->value() / 100.0f) + (ui->trigLevelFine->value() / 50000.0f);
Projector::ProjectionType projectionType = (Projector::ProjectionType) ui->trigMode->currentIndex(); Projector::ProjectionType projectionType = (Projector::ProjectionType) ui->trigMode->currentIndex();
ui->trigLevelCoarse->setToolTip(QString("Trigger level coarse: %1 %").arg(ui->trigLevelCoarse->value() / 100.0f)); ui->trigLevelCoarse->setToolTip(QString("Trigger level coarse: %1 %").arg(ui->trigLevelCoarse->value() / 100.0f));
ui->trigLevelFine->setToolTip(QString("Trigger level fine: %1 ppm").arg(ui->trigLevelFine->value() * 50)); ui->trigLevelFine->setToolTip(QString("Trigger level fine: %1 ppm").arg(ui->trigLevelFine->value() * 20));
if (projectionType == Projector::ProjectionMagDB) { if (projectionType == Projector::ProjectionMagDB) {
ui->trigLevelText->setText(tr("%1\ndB").arg(100.0 * (t - 1.0), 0, 'f', 1)); ui->trigLevelText->setText(tr("%1\ndB").arg(100.0 * (t - 1.0), 0, 'f', 1));
@ -1243,7 +1243,7 @@ void GLScopeNGGUI::fillTriggerData(ScopeVisNG::TriggerData& triggerData)
{ {
triggerData.m_projectionType = (Projector::ProjectionType) ui->trigMode->currentIndex(); triggerData.m_projectionType = (Projector::ProjectionType) ui->trigMode->currentIndex();
triggerData.m_inputIndex = 0; triggerData.m_inputIndex = 0;
triggerData.m_triggerLevel = (ui->trigLevelCoarse->value() / 100.0) + (ui->trigLevelFine->value() / 20000.0); triggerData.m_triggerLevel = (ui->trigLevelCoarse->value() / 100.0) + (ui->trigLevelFine->value() / 50000.0);
triggerData.m_triggerLevelCoarse = ui->trigLevelCoarse->value(); triggerData.m_triggerLevelCoarse = ui->trigLevelCoarse->value();
triggerData.m_triggerLevelFine = ui->trigLevelFine->value(); triggerData.m_triggerLevelFine = ui->trigLevelFine->value();
triggerData.m_triggerPositiveEdge = ui->trigPos->isChecked(); triggerData.m_triggerPositiveEdge = ui->trigPos->isChecked();

View File

@ -153,7 +153,7 @@ private:
QColor m_focusedTraceColor; QColor m_focusedTraceColor;
QColor m_focusedTriggerColor; QColor m_focusedTriggerColor;
static const double amps[11]; static const double amps[14];
void applySettings(); void applySettings();
// First row // First row

View File

@ -859,7 +859,7 @@ kS/s</string>
<string>Vertical range</string> <string>Vertical range</string>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>10</number> <number>13</number>
</property> </property>
<property name="pageStep"> <property name="pageStep">
<number>1</number> <number>1</number>
@ -1565,7 +1565,7 @@ kS/s</string>
<string>Trigger level fine</string> <string>Trigger level fine</string>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>200</number> <number>500</number>
</property> </property>
<property name="pageStep"> <property name="pageStep">
<number>1</number> <number>1</number>