mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-17 13:51:47 -05:00
Align scope grid on ticks
This commit is contained in:
parent
461da9142d
commit
e0699d9711
@ -22,6 +22,10 @@ GLScope::GLScope(QWidget* parent) :
|
||||
m_displayTrace(&m_rawTrace),
|
||||
m_oldTraceSize(-1),
|
||||
m_sampleRate(0),
|
||||
m_amp1(1.0),
|
||||
m_amp2(1.0),
|
||||
m_ofs1(0.0),
|
||||
m_ofs2(0.0),
|
||||
m_dspEngine(NULL),
|
||||
m_scopeVis(NULL),
|
||||
m_amp(1.0),
|
||||
@ -29,7 +33,12 @@ GLScope::GLScope(QWidget* parent) :
|
||||
m_timeBase(1),
|
||||
m_timeOfsProMill(0),
|
||||
m_triggerChannel(ScopeVis::TriggerFreeRun),
|
||||
m_displayGridIntensity(5)
|
||||
m_triggerLevel(0.0),
|
||||
m_displayGridIntensity(5),
|
||||
m_left1ScaleTextureAllocated(false),
|
||||
m_left2ScaleTextureAllocated(false),
|
||||
m_bot1ScaleTextureAllocated(false),
|
||||
m_bot2ScaleTextureAllocated(false)
|
||||
{
|
||||
setAttribute(Qt::WA_OpaquePaintEvent);
|
||||
connect(&m_timer, SIGNAL(timeout()), this, SLOT(tick()));
|
||||
@ -199,22 +208,54 @@ void GLScope::paintGL()
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
// paint grid
|
||||
const ScaleEngine::TickList* tickList;
|
||||
const ScaleEngine::Tick* tick;
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glLineWidth(1.0f);
|
||||
glColor4f(1, 1, 1, m_displayGridIntensity / 100.0);
|
||||
// Horizontal Y1
|
||||
tickList = &m_y1Scale.getTickList();
|
||||
for(int i= 0; i < tickList->count(); i++) {
|
||||
tick = &(*tickList)[i];
|
||||
if(tick->major) {
|
||||
if(tick->textSize > 0) {
|
||||
float y = tick->pos / m_y1Scale.getSize();
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(0, y);
|
||||
glVertex2f(1, y);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
for(int i = 1; i < 10; i++) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(0, i * 0.1);
|
||||
glVertex2f(1, i * 0.1);
|
||||
glEnd();
|
||||
}*/
|
||||
// Vertical X1
|
||||
tickList = &m_x1Scale.getTickList();
|
||||
for(int i= 0; i < tickList->count(); i++) {
|
||||
tick = &(*tickList)[i];
|
||||
if(tick->major) {
|
||||
if(tick->textSize > 0) {
|
||||
float x = tick->pos / m_x1Scale.getSize();
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(x, 0);
|
||||
glVertex2f(x, 1);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
for(int i = 1; i < 10; i++) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(i * 0.1, 0);
|
||||
glVertex2f(i * 0.1, 1);
|
||||
glEnd();
|
||||
}
|
||||
}*/
|
||||
glPopMatrix();
|
||||
|
||||
// paint left #1 scale
|
||||
@ -338,22 +379,54 @@ void GLScope::paintGL()
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
// paint grid
|
||||
const ScaleEngine::TickList* tickList;
|
||||
const ScaleEngine::Tick* tick;
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glLineWidth(1.0f);
|
||||
glColor4f(1, 1, 1, m_displayGridIntensity / 100.0);
|
||||
// Horizontal Y2
|
||||
tickList = &m_y2Scale.getTickList();
|
||||
for(int i= 0; i < tickList->count(); i++) {
|
||||
tick = &(*tickList)[i];
|
||||
if(tick->major) {
|
||||
if(tick->textSize > 0) {
|
||||
float y = tick->pos / m_y2Scale.getSize();
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(0, y);
|
||||
glVertex2f(1, y);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
for(int i = 1; i < 10; i++) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(0, i * 0.1);
|
||||
glVertex2f(1, i * 0.1);
|
||||
glEnd();
|
||||
}*/
|
||||
// Vertical X2
|
||||
tickList = &m_x2Scale.getTickList();
|
||||
for(int i= 0; i < tickList->count(); i++) {
|
||||
tick = &(*tickList)[i];
|
||||
if(tick->major) {
|
||||
if(tick->textSize > 0) {
|
||||
float x = tick->pos / m_x2Scale.getSize();
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(x, 0);
|
||||
glVertex2f(x, 1);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
for(int i = 1; i < 10; i++) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(i * 0.1, 0);
|
||||
glVertex2f(i * 0.1, 1);
|
||||
glEnd();
|
||||
}
|
||||
}*/
|
||||
glPopMatrix();
|
||||
|
||||
// paint left #2 scale
|
||||
|
@ -196,9 +196,9 @@ void GLScopeGUI::setTrigLevelDisplay()
|
||||
void GLScopeGUI::setAmpScaleDisplay()
|
||||
{
|
||||
if (m_glScope->getDataMode() == GLScope::ModeMagdBPha) {
|
||||
ui->ampText->setText(tr("%1\ndB/div").arg(amps[m_amplification]*50.0, 0, 'f', 2));
|
||||
ui->ampText->setText(tr("%1\ndB").arg(amps[m_amplification]*500.0, 0, 'f', 1));
|
||||
} else {
|
||||
ui->ampText->setText(tr("%1\n/div").arg(amps[m_amplification], 0, 'f', 4));
|
||||
ui->ampText->setText(tr("%1").arg(amps[m_amplification]*10.0, 0, 'f', 3));
|
||||
}
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ void GLScopeGUI::on_scope_sampleRateChanged(int)
|
||||
void GLScopeGUI::setTimeScaleDisplay()
|
||||
{
|
||||
m_sampleRate = m_glScope->getSampleRate();
|
||||
qreal t = (m_glScope->getTraceSize() * 0.1 / m_sampleRate) / (qreal)m_timeBase;
|
||||
qreal t = (m_glScope->getTraceSize() * 1.0 / m_sampleRate) / (qreal)m_timeBase;
|
||||
/*
|
||||
std::cerr << "GLScopeGUI::setTimeScaleDisplay: sample rate: "
|
||||
<< m_glScope->getSampleRate()
|
||||
@ -251,12 +251,12 @@ void GLScopeGUI::setTimeScaleDisplay()
|
||||
<< " glScope @" << m_glScope << std::endl;
|
||||
*/
|
||||
if(t < 0.000001)
|
||||
ui->timeText->setText(tr("%1\nns/div").arg(t * 1000000000.0));
|
||||
ui->timeText->setText(tr("%1\nns").arg(t * 1000000000.0));
|
||||
else if(t < 0.001)
|
||||
ui->timeText->setText(tr("%1\nµs/div").arg(t * 1000000.0));
|
||||
ui->timeText->setText(tr("%1\nµs").arg(t * 1000000.0));
|
||||
else if(t < 1.0)
|
||||
ui->timeText->setText(tr("%1\nms/div").arg(t * 1000.0));
|
||||
else ui->timeText->setText(tr("%1\ns/div").arg(t * 1.0));
|
||||
ui->timeText->setText(tr("%1\nms").arg(t * 1000.0));
|
||||
else ui->timeText->setText(tr("%1\ns").arg(t * 1.0));
|
||||
}
|
||||
|
||||
void GLScopeGUI::setTimeOfsDisplay()
|
||||
|
Loading…
Reference in New Issue
Block a user