diff --git a/sdrbase/gui/glscopenggui.cpp b/sdrbase/gui/glscopenggui.cpp
index 9a9c9b384..e9a1aa6a2 100644
--- a/sdrbase/gui/glscopenggui.cpp
+++ b/sdrbase/gui/glscopenggui.cpp
@@ -790,8 +790,17 @@ void GLScopeNGGUI::setTrigCountDisplay()
void GLScopeNGGUI::setTimeScaleDisplay()
{
m_sampleRate = m_glScope->getSampleRate();
+ unsigned int n_samples = (m_glScope->getTraceSize() * 1.0) / (double) m_timeBase;
double t = (m_glScope->getTraceSize() * 1.0 / m_sampleRate) / (double) m_timeBase;
+ if (n_samples < 1000) {
+ ui->timeText->setToolTip(tr("%1 S").arg(n_samples));
+ } else if (n_samples < 1000000) {
+ ui->timeText->setToolTip(tr("%1 kS").arg(n_samples/1000.0));
+ } else {
+ ui->timeText->setToolTip(tr("%1 MS").arg(n_samples/1000000.0));
+ }
+
if(t < 0.000001)
{
t = round(t * 100000000000.0) / 100.0;
@@ -819,11 +828,11 @@ void GLScopeNGGUI::setTraceLenDisplay()
unsigned int n_samples = m_traceLenMult * ScopeVisNG::m_traceChunkSize;
if (n_samples < 1000) {
- ui->traceLenText->setToolTip(tr("%1S").arg(n_samples));
+ ui->traceLenText->setToolTip(tr("%1 S").arg(n_samples));
} else if (n_samples < 1000000) {
- ui->traceLenText->setToolTip(tr("%1kS").arg(n_samples/1000.0));
+ ui->traceLenText->setToolTip(tr("%1 kS").arg(n_samples/1000.0));
} else {
- ui->traceLenText->setToolTip(tr("%1MS").arg(n_samples/1000000.0));
+ ui->traceLenText->setToolTip(tr("%1 MS").arg(n_samples/1000000.0));
}
m_sampleRate = m_glScope->getSampleRate();
@@ -841,16 +850,25 @@ void GLScopeNGGUI::setTraceLenDisplay()
void GLScopeNGGUI::setTimeOfsDisplay()
{
+ unsigned int n_samples = m_glScope->getTraceSize() * (m_timeOffset/100.0);
double dt = m_glScope->getTraceSize() * (m_timeOffset/100.0) / m_sampleRate;
+ if (n_samples < 1000) {
+ ui->timeOfsText->setToolTip(tr("%1 S").arg(n_samples));
+ } else if (n_samples < 1000000) {
+ ui->timeOfsText->setToolTip(tr("%1 kS").arg(n_samples/1000.0));
+ } else {
+ ui->timeOfsText->setToolTip(tr("%1 MS").arg(n_samples/1000000.0));
+ }
+
if(dt < 0.000001)
- ui->timeOfsText->setText(tr("%1\nns").arg(dt * 1000000000.0));
+ ui->timeOfsText->setText(tr("%1\nns").arg(dt * 1000000000.0, 0, 'f', 2));
else if(dt < 0.001)
- ui->timeOfsText->setText(tr("%1\nµs").arg(dt * 1000000.0));
+ ui->timeOfsText->setText(tr("%1\nµs").arg(dt * 1000000.0, 0, 'f', 2));
else if(dt < 1.0)
- ui->timeOfsText->setText(tr("%1\nms").arg(dt * 1000.0));
+ ui->timeOfsText->setText(tr("%1\nms").arg(dt * 1000.0, 0, 'f', 2));
else
- ui->timeOfsText->setText(tr("%1\ns").arg(dt * 1.0));
+ ui->timeOfsText->setText(tr("%1\ns").arg(dt * 1.0, 0, 'f', 2));
}
void GLScopeNGGUI::setAmpScaleDisplay()
@@ -983,40 +1001,51 @@ void GLScopeNGGUI::setTrigDelayDisplay()
unsigned int n_samples_delay = m_traceLenMult * ScopeVisNG::m_traceChunkSize * delayMult;
if (n_samples_delay < 1000) {
- ui->trigDelayText->setToolTip(tr("%1S").arg(n_samples_delay));
+ ui->trigDelayText->setToolTip(tr("%1 S").arg(n_samples_delay));
} else if (n_samples_delay < 1000000) {
- ui->trigDelayText->setToolTip(tr("%1kS").arg(n_samples_delay/1000.0));
+ ui->trigDelayText->setToolTip(tr("%1 kS").arg(n_samples_delay/1000.0));
} else if (n_samples_delay < 1000000000) {
- ui->trigDelayText->setToolTip(tr("%1MS").arg(n_samples_delay/1000000.0));
+ ui->trigDelayText->setToolTip(tr("%1 MS").arg(n_samples_delay/1000000.0));
} else {
- ui->trigDelayText->setToolTip(tr("%1GS").arg(n_samples_delay/1000000000.0));
+ ui->trigDelayText->setToolTip(tr("%1 GS").arg(n_samples_delay/1000000000.0));
}
m_sampleRate = m_glScope->getSampleRate();
double t = (n_samples_delay * 1.0f / m_sampleRate);
if(t < 0.000001)
- ui->trigDelayText->setText(tr("%1\nns").arg(t * 1000000000.0, 0, 'f', 1));
+ ui->trigDelayText->setText(tr("%1\nns").arg(t * 1000000000.0, 0, 'f', 2));
else if(t < 0.001)
- ui->trigDelayText->setText(tr("%1\nµs").arg(t * 1000000.0, 0, 'f', 1));
+ ui->trigDelayText->setText(tr("%1\nµs").arg(t * 1000000.0, 0, 'f', 2));
else if(t < 1.0)
- ui->trigDelayText->setText(tr("%1\nms").arg(t * 1000.0, 0, 'f', 1));
+ ui->trigDelayText->setText(tr("%1\nms").arg(t * 1000.0, 0, 'f', 2));
else
- ui->trigDelayText->setText(tr("%1\ns").arg(t * 1.0, 0, 'f', 1));
+ ui->trigDelayText->setText(tr("%1\ns").arg(t * 1.0, 0, 'f', 2));
}
void GLScopeNGGUI::setTrigPreDisplay()
{
+ unsigned int n_samples_delay = m_glScope->getTraceSize() * (ui->trigPre->value()/100.0f);
double dt = m_glScope->getTraceSize() * (ui->trigPre->value()/100.0f) / m_sampleRate;
+ if (n_samples_delay < 1000) {
+ ui->trigPreText->setToolTip(tr("%1 S").arg(n_samples_delay));
+ } else if (n_samples_delay < 1000000) {
+ ui->trigPreText->setToolTip(tr("%1 kS").arg(n_samples_delay/1000.0));
+ } else if (n_samples_delay < 1000000000) {
+ ui->trigPreText->setToolTip(tr("%1 MS").arg(n_samples_delay/1000000.0));
+ } else {
+ ui->trigPreText->setToolTip(tr("%1 GS").arg(n_samples_delay/1000000000.0));
+ }
+
if(dt < 0.000001)
- ui->trigPreText->setText(tr("%1\nns").arg(dt * 1000000000.0f));
+ ui->trigPreText->setText(tr("%1\nns").arg(dt * 1000000000.0f, 0, 'f', 2));
else if(dt < 0.001)
- ui->trigPreText->setText(tr("%1\nµs").arg(dt * 1000000.0f));
+ ui->trigPreText->setText(tr("%1\nµs").arg(dt * 1000000.0f, 0, 'f', 2));
else if(dt < 1.0)
- ui->trigPreText->setText(tr("%1\nms").arg(dt * 1000.0f));
+ ui->trigPreText->setText(tr("%1\nms").arg(dt * 1000.0f, 0, 'f', 2));
else
- ui->trigPreText->setText(tr("%1\ns").arg(dt * 1.0f));
+ ui->trigPreText->setText(tr("%1\ns").arg(dt * 1.0f, 0, 'f', 2));
}
void GLScopeNGGUI::changeCurrentTrace()
diff --git a/sdrbase/gui/glscopenggui.ui b/sdrbase/gui/glscopenggui.ui
index 7288eda87..9e0b59500 100644
--- a/sdrbase/gui/glscopenggui.ui
+++ b/sdrbase/gui/glscopenggui.ui
@@ -6,7 +6,7 @@
0
0
- 731
+ 758
120
@@ -282,6 +282,9 @@
-
+
+ Time range
+
T:
@@ -291,7 +294,7 @@
- 32
+ 40
0
@@ -331,6 +334,9 @@
-
+
+ Time offset
+
O:
@@ -340,7 +346,7 @@
- 32
+ 40
0
@@ -377,6 +383,9 @@
-
+
+ Trace length
+
L:
@@ -386,7 +395,7 @@
- 32
+ 40
0
@@ -691,6 +700,9 @@ kS/s
-
+
+ Vertical range
+
A:
@@ -705,7 +717,7 @@ kS/s
- Amplification value
+ Vertical range value
000
@@ -718,7 +730,7 @@ kS/s
-
- Amplification
+ Vertical range
10
@@ -740,6 +752,9 @@ kS/s
-
+
+ Vertical offset
+
O:
@@ -754,7 +769,7 @@ kS/s
- Offset value
+ Vertical offset value
0
@@ -778,7 +793,7 @@ kS/s
- Coarse offset
+ Vertical offset coarse
-100
@@ -800,7 +815,7 @@ kS/s
- Fine offset
+ Vertical offset fine
200
@@ -824,6 +839,9 @@ kS/s
-
+
+ Trace delay
+
D:
@@ -864,6 +882,9 @@ kS/s
-
+
+ Trace delay coarse
+
48
@@ -877,6 +898,9 @@ kS/s
-
+
+ Trace delay fine
+
100
@@ -897,6 +921,28 @@ kS/s
+ -
+
+
+
+ 16
+ 16
+
+
+
+
+ 16
+ 16
+
+
+
+ Current trace color (click to change)
+
+
+
+
+
+
-
@@ -935,28 +981,6 @@ kS/s
- -
-
-
-
- 16
- 16
-
-
-
-
- 16
- 16
-
-
-
- Current trace color (click to change)
-
-
-
-
-
-
-
@@ -1005,6 +1029,12 @@ kS/s
Select trace memory (0 is live)
+
+ 15
+
+
+ 1
+
@@ -1337,6 +1367,9 @@ kS/s
-
+
+ Triger level
+
L:
@@ -1418,6 +1451,9 @@ kS/s
-
+
+ Trigger delay
+
D:
@@ -1427,7 +1463,7 @@ kS/s
- 32
+ 40
0
@@ -1499,6 +1535,9 @@ kS/s
-
+
+ Pre-trigger delay
+
P:
@@ -1508,7 +1547,7 @@ kS/s
- 32
+ 40
0