mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-17 05:41:56 -05:00
GLScope redesign: moved static constants to GLScopeSettings
This commit is contained in:
parent
e9d51c99a7
commit
5ab495a3fb
@ -359,7 +359,7 @@ void ChannelAnalyzerGUI::on_signalSelect_currentIndexChanged(int index)
|
||||
if (m_settings.m_inputType == ChannelAnalyzerSettings::InputAutoCorr) {
|
||||
m_scopeVis->setTraceChunkSize(ChannelAnalyzerSink::m_corrFFTLen);
|
||||
} else {
|
||||
m_scopeVis->setTraceChunkSize(ScopeVis::m_traceChunkDefaultSize);
|
||||
m_scopeVis->setTraceChunkSize(GLScopeSettings::m_traceChunkDefaultSize);
|
||||
}
|
||||
|
||||
ui->scopeGUI->traceLengthChange();
|
||||
|
@ -165,6 +165,11 @@ public:
|
||||
std::vector<TraceData> m_tracesData;
|
||||
std::vector<TriggerData> m_triggersData;
|
||||
static const double AMPS[27];
|
||||
static const uint32_t m_traceChunkDefaultSize = 4800;
|
||||
static const uint32_t m_maxNbTriggers = 10;
|
||||
static const uint32_t m_maxNbTraces = 10;
|
||||
static const uint32_t m_nbTraceMemories = 50;
|
||||
static const uint32_t m_nbTraceBuffers = 2;
|
||||
|
||||
GLScopeSettings();
|
||||
virtual ~GLScopeSettings();
|
||||
|
@ -38,8 +38,6 @@ MESSAGE_CLASS_DEFINITION(ScopeVis::MsgScopeVisNGFocusOnTrace, Message)
|
||||
MESSAGE_CLASS_DEFINITION(ScopeVis::MsgScopeVisNGOneShot, Message)
|
||||
MESSAGE_CLASS_DEFINITION(ScopeVis::MsgScopeVisNGMemoryTrace, Message)
|
||||
|
||||
const uint ScopeVis::m_traceChunkDefaultSize = 4800;
|
||||
|
||||
|
||||
ScopeVis::ScopeVis(GLScopeInterface* glScope) :
|
||||
m_glScope(glScope),
|
||||
@ -50,9 +48,9 @@ ScopeVis::ScopeVis(GLScopeInterface* glScope) :
|
||||
m_focusedTriggerIndex(0),
|
||||
m_triggerState(TriggerUntriggered),
|
||||
m_focusedTraceIndex(0),
|
||||
m_traceChunkSize(m_traceChunkDefaultSize),
|
||||
m_traceSize(m_traceChunkDefaultSize),
|
||||
m_liveTraceSize(m_traceChunkDefaultSize),
|
||||
m_traceChunkSize(GLScopeSettings::m_traceChunkDefaultSize),
|
||||
m_traceSize(GLScopeSettings::m_traceChunkDefaultSize),
|
||||
m_liveTraceSize(GLScopeSettings::m_traceChunkDefaultSize),
|
||||
m_nbSamples(0),
|
||||
m_timeBase(1),
|
||||
m_timeOfsProMill(0),
|
||||
@ -60,7 +58,7 @@ ScopeVis::ScopeVis(GLScopeInterface* glScope) :
|
||||
m_triggerLocation(0),
|
||||
m_sampleRate(0),
|
||||
m_liveSampleRate(0),
|
||||
m_traceDiscreteMemory(m_nbTraceMemories),
|
||||
m_traceDiscreteMemory(GLScopeSettings::m_nbTraceMemories),
|
||||
m_freeRun(true),
|
||||
m_maxTraceDelay(0),
|
||||
m_triggerOneShot(false),
|
||||
@ -68,7 +66,7 @@ ScopeVis::ScopeVis(GLScopeInterface* glScope) :
|
||||
m_currentTraceMemoryIndex(0)
|
||||
{
|
||||
setObjectName("ScopeVis");
|
||||
m_traceDiscreteMemory.resize(m_traceChunkDefaultSize); // arbitrary
|
||||
m_traceDiscreteMemory.resize(GLScopeSettings::m_traceChunkDefaultSize); // arbitrary
|
||||
m_glScope->setTraces(&m_traces.m_tracesData, &m_traces.m_traces[0]);
|
||||
for (int i = 0; i < (int) Projector::nbProjectionTypes; i++) {
|
||||
m_projectorCache[i] = 0.0;
|
||||
@ -217,7 +215,6 @@ void ScopeVis::setMemoryIndex(uint32_t memoryIndex)
|
||||
}
|
||||
|
||||
void ScopeVis::feed(const std::vector<SampleVector::const_iterator>& vbegin, int nbSamples)
|
||||
//void ScopeVis::feed(const SampleVector::const_iterator& cbegin, const SampleVector::const_iterator& end, bool positiveOnly)
|
||||
{
|
||||
if (vbegin.size() == 0) {
|
||||
return;
|
||||
@ -286,12 +283,12 @@ void ScopeVis::feed(const std::vector<SampleVector::const_iterator>& vbegin, int
|
||||
|
||||
void ScopeVis::processMemoryTrace()
|
||||
{
|
||||
if ((m_currentTraceMemoryIndex > 0) && (m_currentTraceMemoryIndex < m_nbTraceMemories))
|
||||
if ((m_currentTraceMemoryIndex > 0) && (m_currentTraceMemoryIndex < GLScopeSettings::m_nbTraceMemories))
|
||||
{
|
||||
int traceMemoryIndex = m_traceDiscreteMemory.currentIndex() - m_currentTraceMemoryIndex; // actual index in memory bank
|
||||
|
||||
if (traceMemoryIndex < 0) {
|
||||
traceMemoryIndex += m_nbTraceMemories;
|
||||
traceMemoryIndex += GLScopeSettings::m_nbTraceMemories;
|
||||
}
|
||||
|
||||
SampleVector::const_iterator mend = m_traceDiscreteMemory.at(traceMemoryIndex).m_endPoint;
|
||||
|
@ -43,63 +43,6 @@ class GLScopeInterface;
|
||||
class SDRGUI_API ScopeVis : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
struct TriggerData
|
||||
{
|
||||
uint32_t m_streamIndex; //!< I/Q stream index
|
||||
Projector::ProjectionType m_projectionType; //!< Complex to real projection type
|
||||
uint32_t m_inputIndex; //!< Input or feed index this trigger is associated with
|
||||
Real m_triggerLevel; //!< Level in real units
|
||||
int m_triggerLevelCoarse;
|
||||
int m_triggerLevelFine;
|
||||
bool m_triggerPositiveEdge; //!< Trigger on the positive edge (else negative)
|
||||
bool m_triggerBothEdges; //!< Trigger on both edges (else only one)
|
||||
uint32_t m_triggerHoldoff; //!< Trigger holdoff in number of samples
|
||||
uint32_t m_triggerDelay; //!< Delay before the trigger is kicked off in number of samples (trigger delay)
|
||||
double m_triggerDelayMult; //!< Trigger delay as a multiplier of trace length
|
||||
int m_triggerDelayCoarse;
|
||||
int m_triggerDelayFine;
|
||||
uint32_t m_triggerRepeat; //!< Number of trigger conditions before the final decisive trigger
|
||||
QColor m_triggerColor; //!< Trigger line display color
|
||||
float m_triggerColorR; //!< Trigger line display color - red shortcut
|
||||
float m_triggerColorG; //!< Trigger line display color - green shortcut
|
||||
float m_triggerColorB; //!< Trigger line display color - blue shortcut
|
||||
|
||||
TriggerData() :
|
||||
m_streamIndex(0),
|
||||
m_projectionType(Projector::ProjectionReal),
|
||||
m_inputIndex(0),
|
||||
m_triggerLevel(0.0f),
|
||||
m_triggerLevelCoarse(0),
|
||||
m_triggerLevelFine(0),
|
||||
m_triggerPositiveEdge(true),
|
||||
m_triggerBothEdges(false),
|
||||
m_triggerHoldoff(1),
|
||||
m_triggerDelay(0),
|
||||
m_triggerDelayMult(0.0),
|
||||
m_triggerDelayCoarse(0),
|
||||
m_triggerDelayFine(0),
|
||||
m_triggerRepeat(0),
|
||||
m_triggerColor(0,255,0)
|
||||
{
|
||||
setColor(m_triggerColor);
|
||||
}
|
||||
|
||||
void setColor(QColor color)
|
||||
{
|
||||
m_triggerColor = color;
|
||||
qreal r,g,b,a;
|
||||
m_triggerColor.getRgbF(&r, &g, &b, &a);
|
||||
m_triggerColorR = r;
|
||||
m_triggerColorG = g;
|
||||
m_triggerColorB = b;
|
||||
}
|
||||
};
|
||||
|
||||
static const uint32_t m_traceChunkDefaultSize;
|
||||
static const uint32_t m_maxNbTriggers = 10;
|
||||
static const uint32_t m_maxNbTraces = 10;
|
||||
static const uint32_t m_nbTraceMemories = 50;
|
||||
|
||||
ScopeVis(GLScopeInterface* glScope = nullptr);
|
||||
virtual ~ScopeVis();
|
||||
|
||||
@ -151,7 +94,7 @@ public:
|
||||
QByteArray buf;
|
||||
bool traceDiscreteMemorySuccess;
|
||||
|
||||
d.readU32(1, &traceSize, m_traceChunkDefaultSize);
|
||||
d.readU32(1, &traceSize, GLScopeSettings::m_traceChunkDefaultSize);
|
||||
d.readU32(2, &preTriggerDelay, 0);
|
||||
d.readS32(3, &sampleRate, 0);
|
||||
setSampleRate(sampleRate);
|
||||
@ -191,7 +134,6 @@ public:
|
||||
uint32_t getNbTriggers() const { return m_triggerConditions.size(); }
|
||||
|
||||
void feed(const std::vector<SampleVector::const_iterator>& vbegin, int nbSamples);
|
||||
//virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end, bool positiveOnly);
|
||||
//virtual void start();
|
||||
//virtual void stop();
|
||||
bool handleMessage(const Message& message);
|
||||
@ -869,7 +811,7 @@ private:
|
||||
|
||||
void addTrace(const GLScopeSettings::TraceData& traceData, int traceSize)
|
||||
{
|
||||
if (m_traces[0].size() < m_maxNbTraces)
|
||||
if (m_traces[0].size() < GLScopeSettings::m_maxNbTraces)
|
||||
{
|
||||
qDebug("ScopeVis::addTrace");
|
||||
m_traces[0].push_back(0);
|
||||
@ -955,8 +897,8 @@ private:
|
||||
{
|
||||
delete[] m_x0;
|
||||
delete[] m_x1;
|
||||
m_x0 = new float[2*m_traceSize*m_maxNbTraces];
|
||||
m_x1 = new float[2*m_traceSize*m_maxNbTraces];
|
||||
m_x0 = new float[2*m_traceSize*GLScopeSettings::m_maxNbTraces];
|
||||
m_x1 = new float[2*m_traceSize*GLScopeSettings::m_maxNbTraces];
|
||||
|
||||
m_maxTraceSize = m_traceSize;
|
||||
}
|
||||
|
@ -51,13 +51,13 @@ GLScopeGUI::GLScopeGUI(QWidget* parent) :
|
||||
qDebug("GLScopeGUI::GLScopeGUI");
|
||||
setEnabled(false);
|
||||
ui->setupUi(this);
|
||||
ui->trigDelayFine->setMaximum(ScopeVis::m_traceChunkDefaultSize / 10.0);
|
||||
ui->trigDelayFine->setMaximum(GLScopeSettings::m_traceChunkDefaultSize / 10.0);
|
||||
ui->traceColor->setStyleSheet("QLabel { background-color : rgb(255,255,64); }");
|
||||
m_focusedTraceColor.setRgb(255,255,64);
|
||||
ui->trigColor->setStyleSheet("QLabel { background-color : rgb(0,255,0); }");
|
||||
m_focusedTriggerColor.setRgb(0,255,0);
|
||||
ui->traceText->setText("X");
|
||||
ui->mem->setMaximum(ScopeVis::m_nbTraceMemories - 1);
|
||||
ui->mem->setMaximum(GLScopeSettings::m_nbTraceMemories - 1);
|
||||
}
|
||||
|
||||
GLScopeGUI::~GLScopeGUI()
|
||||
|
Loading…
Reference in New Issue
Block a user